Sokoban

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Sokoban
Уровень 4 игры для IBM PC (Spectrum HoloByte[en], 1988)
Уровень 4 игры для IBM PC (Spectrum HoloByte[en], 1988)
Разработчик Хироюки Имабаяси
Издатель Thinking Rabbit
Дата анонса 1981
Дата выпуска 1982
Жанр головоломка
Технические данные
Платформы NEC PC-8801, Commodore 64, IBM PC, Apple II
Режимы игры однопользовательский
Официальный сайт​ (яп.)
Логотип Викисклада Медиафайлы на Викискладе
Решение головоломки

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

Игра Sokoban была создана в 1981 году Хироюки Имабаяси, и издана в 1982 году японской компанией Thinking Rabbit[en]. Кроме того, компания выпустила три сиквела: 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. Technical Report TR 97-02, Dept. of Computing Science, University of Alberta, 1997. Also: http://web.cs.ualberta.ca/~joe/Preprints/Sokoban (недоступная ссылка)

Литература[править | править код]