Перейти к содержанию

Sokoban

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Sokoban
Разработчик Хироюки Имабаяси
Издатель Thinking Rabbit
Дата анонса 1981
Дата выпуска 1982
Жанр головоломка
Технические данные
Платформа NEC PC-8801, Commodore 64, IBM PC, Apple II
Режим игры однопользовательский
Решение головоломки

Sokoban (Soko-Ban, яп. 倉庫番, сокобан — кладовщик) — двухмерная компьютерная игра-головоломка, в которой игроку необходимо расставить ящики по обозначенным местам лабиринта. Кладовщик одновременно может двигать только один ящик, толкая вперёд.

Игра Sokoban была создана в 1981 году Хироюки Имабаяси, и издана в 1982 году японской компанией Thinking Rabbit[англ.]. Кроме того, компания выпустила три сиквела: Boxxle, Sokoban Perfect и Sokoban Revenge.

Игра была реализована для множества компьютерных платформ, включая практически все домашние и персональные компьютеры. Также существуют версии игры для карманных компьютеров, игровых приставок, цифровых фотоаппаратов, мобильных телефонов и телевизоров.

Варианты правил

Реверсивный режим: Игра в обратную сторону, от решённого состояния уровня к начальному, ящики можно только тянуть за собой. Реверсивный режим может играться на уровнях обычного Sokoban и решение реверсивного режима тривиально трансформируется в решение этого же уровня для обычного режима (при условии что игрок может выбирать точку старта кладовщика для реверсивного режима, а в конце этого режима приходит в точку старта обычного режима). Таким образом, реверсивный режим может использоваться как средство решения уровня обычного Sokoban. Режим реализован в Sokoban YASC и Sokofan.

Другая решётка: В обычном Sokoban лабиринт построен на квадратной решётке. Hexoban использует шестиугольную решётку, Trioban — треугольную.

Другие кладовщики: В играх Multiban и Interlock игрок управляет несколькими кладовщиками.

Другие цели: Большинство вариаций связано с изменением задачи, необходимой для завершения уровня. В Block-o-Mania ящики окрашены разными цветами и задачей является установить их на квадраты соответствующих цветов. В Sokomind Plus ящики имеют уникальные номера и должны быть установлены на квадраты с соответствующими номерами. В Interlock и Sokolor ящики одного цвета должны быть размещены рядом. В CyberBox каждый уровень имеет выход и нужно добраться до него. В Beanstalk элементы уровня необходимо передвигать на цель в определённом порядке.

Другие игровые элементы: Sokonex, Xsok, Cyberbox и Block-o-Mania добавляют новые элементы — дыры, телепорты, движущиеся блоки, односторонние проходы и т. д.

Другие действия: В Pukoban кладовщик может не только толкать ящики, но и тянуть.

Клоны

В СССР игра была известна благодаря клонам KURTAN и «Мудрый крот». Эти (и другие) игры для старых компьютеров работают на современных под управлением DOSBox. KURTAN содержал дополнительные игровые элементы — деньги за решение уровня в одном из ящиков, которые можно было использовать для решения других, двери и ключи для их открытия, необходимость выйти из уровня по коридору, тонус игрового персонажа и другие.

Известна также версия для приставки Денди — «Склад № 18» (Warehouse No. 18), выпущенная Александром Чудовым, программистом из Ульяновска, в 1997 году.

Научные исследования

Игра Sokoban представляет интерес с точки зрения вычислительной сложности. В 1995 году было доказано, что задача решения уровней Sokoban — NP-трудна[1], а в 1997 году было установлено, что игра Sokoban — PSPACE-полна[2].

Сложность решения уровней Sokoban вызвана как сильным ветвлением дерева решений (сопоставимым с шахматами), так и большой его глубиной — для решения некоторых уровней требуется больше 1000 толканий ящиков.

Примечания

  1. M. Fryers and M.T. Greene. Sokoban (неизв.) // Eureka. — 1995. — № 54.
  2. Joseph C. Culberson, Sokoban is PSPACE-complete Архивная копия от 11 марта 2008 на Wayback Machine. Technical Report TR 97-02, Dept. of Computing Science, University of Alberta, 1997. Also: http://web.cs.ualberta.ca/~joe/Preprints/Sokoban (недоступная ссылка)

Литература