29.07.2009
СОКОБАН
МЕНЮ
Начало
Краткий обзор 1
Краткий обзор 2
Краткий обзор 3
Краткий обзор 4
Краткий обзор 5
Краткий обзор 6
Солверы и генераторы 1
Солверы и генераторы 2
Алгоритмы

КОНКУРС

уровень 1 Thinking Rabbit Inc.


Как пишет David W. Skinner оригинальная программа была написана Hiroyuki Imabayashi (Copyright (c) 1982 by THINKING RABBIT Inc. JAPAN). Это совпадает с мнением энциклопедии Wikipedia, но с уточнением, что Hiroyuki Imabayashi создал свою программу в 1980 году, а 1982 году она была опубликована маленькой фирмой THINKING RABBIT.

Простота реализации игры, естественно, породила множество клонов, часто использующих уровни оригинальной игры (50 уровней, которые лежат и на этом сайте). Одним из ранних был Unix-клон под названием XSokoban, в который было добавлено дополнительно 40 уровней. Получившийся набор из 90 уровней часто служит для тестирования различных солверов (solver). Александр Клименков пишет, при переносе оригинальных уровней в XSokoban были допущены изменения 8 уровней.

В настоящее время количество уровней, которые более или менее известны, около 10000. Многие из них достаточно просты, но попадаются и очень сложные и очень громоздкие. Авторы программ при использовании чужих уровней обычно спрашивают у авторов уровней разрешение на подобное использование.

Долго функционировал сайт http://www.sokomind.de/ Геральда Холлера (Gerald Holler), на который авторы присылали свои уровни. С этого сайта можно было скачать программу SOKOMIND:
Эта программа достаточно "навороченная" и очень много любителей объединяла вокруг себя. Несомненным плюсом этой программы является возможность использования внешних уровней формата XSB и решений формата XHT. Ниже приведена выдержка из help-а этой программы с описанием формата XSB:

Format of external level files: External levels are saved as ASCII files with the extension .XSB. They can be created using the built-in editor but also with any external ASCII editor. The ASCII characters within the level map have the following meaning:
  Space   floor / corridor
  . target square
  $ box
  * box on target square
  @ SokoMind pusher
  + SokoMind pusher on target square
  # wall

There can be more lines after the level map. As the program will take care of the correct format when saving a file, these lines are not described here.


Вот, например, как будет выглядеть вышеприведенный уровень:
########
#  #  ##
#  $. ##
# * * ##
#@#$# ##
# *.. ##
###$   #
###    #
########


Очень много про сокобан написано на сайте Erim SEVER из Турции (как обычно, на английском языке). На этом сайте указано много ссылок, а также имеются уровни автора. Ниже приведена выдержка с сайта Erim SEVER

Thanks to Yoshio MURASE (look to his homepage from Japan) for allowing the use of his pictures for the diagrams.
(You can also find this pictures for diagrams at Takaken's web page and Alfred PFEIFFER's web page for their levels.)
Example for erim01.xsb :
#####             
#   #####         
# $     #  #####  
# $# @# ####. .###
# $ $## #     ...#
###$    #  ## ...#
  #    $    ## ###
  ####  ##$$   #  
     #####  ####  
         #  #     
         ####     
And perhaps I must add (because of this level was not include) "man on target" : + and "box on target" : *
You can see the xsb character if you stop on any picture character. (Include empty area also)

Yoshio MURASE написал статью об автоматической генерации уровней сокобана. 52 уровня, сгенерированные его программой, хорошо известны, они маленькие, но с изюминкой. Именно эти уровни спровоцировали меня в свое время на создание своих уровней. Все они созданы в автоматизированном режиме - человек задает целевую позицию, а остальное делает программа. Примером может служить следующий "простенький" уровень

SVB505
 #####   
 #   ##  
 #  . ###
##$.**  #
#  ..*$ #
#  $ $@##
###  ### 
  ####   

Что любопытно, компьютер достаточно быстро находит решение для этого уровня (практически мгновенно), а вот человеку найти решение уже затруднительно. Лично я после безуспешных попыток сдался :-) О генераторах и солверах разговор будет отдельно, поэтому сейчас я эту тему развивать не буду. Правда, хочется выразить свое восхищение солвером Takaken-а



Необходимо, конечно, упомянуть о сайте Sokoban for Windows, на котором имеются более 10000 уровней и "навороченная" игровая программа Soko23b6.exe:


Программа, правда, шароварная.

Я уже упоминал о 90 классических уровнях XSokoban. Посмотрите на кусочек этого сайта:


Здесь мы видим достаточно строгий скин, который хорошо известен любителям игры. Его часто используют и в научных работах, посвященных сокобану.

Моей любимой игрой остается WinSoko с сайта Robert Vasicek:


Это компактная программа имеет свое внутреннее представление уровней игры, но поддерживает и формат XSB.

Сайт управляется системой uCoz