Jump to content

Sokoban: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m add "at"
Tag: possible conflict of interest
Line 96: Line 96:
*[http://www.cs.ualberta.ca/~games/Sokoban/ The University of Alberta Sokoban page]
*[http://www.cs.ualberta.ca/~games/Sokoban/ The University of Alberta Sokoban page]
*[http://www.erimsever.com/sokoban.htm Erim Sever Sokoban pages]
*[http://www.erimsever.com/sokoban.htm Erim Sever Sokoban pages]
*[http://www.glamjoe.com/ Sokoban iOS implementation]



[[Category:Logic puzzles]]
[[Category:Logic puzzles]]

Revision as of 22:14, 15 January 2011

File:Sokoban Puzzle Guide win95.png
Sokoban Puzzle Guide for Windows 95, 2000
File:Sokoban Deluxe.png
Sokoban Deluxe for Namco System 1, 1990

Sokoban (倉庫番, Sōkoban, warehouse keeper) is a type of transport puzzle, in which the player pushes boxes around a maze, viewed from above, and tries to put them in predetermined areas. Only one box may be pushed at a time, and boxes cannot be pulled. The numbers of boxes is equal to designated locations. The puzzle may have limited the number of steps. The puzzle is usually implemented as a video game.

Sokoban was created in 1981 by Hiroyuki Imabayashi, and was published in 1982 by Thinking Rabbit, a software house based in Takarazuka, Japan.

"Soko is the Japanese word for warehouse and Sokoban means warehouseman or storeman. The story goes as follows. A storeman is left in charge of an [...] warehouse, which consists of a number of rooms or chambers connected by doorways and corridors. Inside these rooms various packing cases have been left lying around and the storeman has been told that he must get them all into one particular chamber. The packing cases are very heavy and have no handles. The storeman is just strong enough to push them, but only one at a time; he cannot pull them. In order to push a packing case, the storeman needs to be able to get completely behind it. He cannot rotate them by pushing on their edges and then slip in behind. Obviously, if a packing case is pushed into a corner, it is stuck there.

The object of the exercise is to get all the packing cases [...] into [designated locations] [...] in one of the chambers. For convenience it is assumed that the storeman is the same size as a packing case and that he cannot jump over a packing case, nor squeeze between them unless there is at least the area of a packing case (one square) available. He must have a whole square behind a packing case to be able to push it from square to square."[1]

Selected Sokoban Releases

Sokoban published by Thinking Rabbit

File:Sokoban pc8801.png
Level 1, Sokoban from 1982, PC-8801.
File:Sokoban2 fm7 level 1.png
Level 1, Sokoban 2 from 1984, FM-7.
File:Sokoban Perfect.png
Level 22, Sokoban Perfect from 1989, NEC PC-9801.
File:Sokoban Revenge.png
Level 1, Sokoban Revenge from 1991, NEC PC-9801.
  • Sokoban (1982), with 20 levels.
  • Sokoban 2 (1984), with 50 levels.
  • Sokoban Perfect (1989), with 306 levels.
  • Sokoban Revenge (1991), with 306 levels.

Sokoban published by Spectrum Holobyte

File:Soko-ban.png
Level 1, Soko-Ban from 1988, DOS.
  • Soko-Ban (1988), with 50 levels.

In 1988 Sokoban was published in US by Spectrum HoloByte for the Commodore 64, IBM-PC and Apple II series as Soko-Ban. A 1988 review in Computer Gaming World praised the game for being "pure and simple, very playable and mentally challenging", citing its addictive qualities.[2] It was also reviewed in 1988 in Dragon (magazine) #132 by Hartley, Patricia, and Kirk Lesser in "The Role of Computers" column. The reviewers gave the game 4 1/2 out of 5 stars.[3]

Sokoban Perfect and Sokoban Revenge (1995)

File:Sokoban perfect dos.png
Level 22, Sokoban Perfect, DOS (1995 Chinese version of the 1989 Japanese version).
File:Sokoban revenge dos level 1.png
Level 1, Sokoban Revenge, DOS (1995 Chinese version of the 1991 Japanese version).

In 1995, Sokoban Perfect (1989) and Sokoban Revenge (1991), both from Japan was published in China by SOFTSTAR for DOS, with same levels but different graphics.

Implementations of Sokoban

Implementations of Sokoban have been written for numerous computer platforms, including almost all home computer and personal computer systems. Versions also exist for several hand held and video game consoles, mobile phones, graphic calculators, and Canon PowerShot digital cameras. Many other puzzle games, such as Chip's Challenge and Rocks and Diamonds, implement Sokoban-based gameplay. The roguelike computer game NetHack contains a sequence of dungeon levels deliberately designed to simulate a Sokoban game. The Royal Puzzle in Zork III has elements of Sokoban.

Sokoban variants

Several puzzles can be considered variants of the original Sokoban game, in the sense that they all make use of a controllable character who pushes boxes around a maze.

Alternative tilings: In the standard game, the mazes are laid out on a tiling of squares. Several variants apply the rules of Sokoban to mazes laid out on other tilings. Hexoban uses a tiling of regular hexagons and Trioban a tiling of equilateral triangles.

Alternative pushers: In the variants Multiban and Interlock the player can control multiple characters. In the Enigma variant the pusher is a black marble.

Alternative goals: Several variants adjust the requirements for completing a level. For example, in Block-o-Mania the boxes are different colours and the goal is to push them onto squares which match their colours. Sokomind Plus implements a similar idea, with boxes and target squares uniquely numbered. In Interlock and Sokolor, the boxes are also different colours, but the goal is to move them so that similarly coloured boxes are adjacent. In CyberBox, each level has a designated exit square, and the goal is to reach that exit. In a variant called Beanstalk, the elements of the level must be pushed onto the goal in a fixed sequence.

Additional game elements: Sokonex, Xsok, Cyberbox and Block-o-Mania all add new elements to the basic puzzle. Examples include holes, teleports, moving blocks and one-way passages. PocoMan refers to the blocks as treasures and when placed onto the goal, they transform into the treasure for the next level.

Character actions: In Pukoban, the character can pull boxes in addition to pushing them.

Scientific research on Sokoban

Sokoban can be studied using the theory of computational complexity. The problem of solving Sokoban puzzles has been proven to be NP-hard.[4] This is interesting also for artificial intelligence researchers, because solving Sokoban can be compared to designing a robot which moves boxes in a warehouse. Further work has shown that solving Sokoban is also PSPACE-complete.[5]

Sokoban is difficult not only due to its branching factor (which is comparable to chess), but also its enormous search tree depth; some levels require more than 1000 "pushes". Skilled human players rely mostly on heuristics; they are usually able to quickly discard futile or redundant lines of play, and recognize patterns and subgoals, drastically cutting down on the amount of search.

Some Sokoban puzzles can be solved automatically by using a single-agent search algorithm, such as IDA*, enhanced by several techniques which make use of domain-specific knowledge.[6] This is the method used by Rolling Stone, a Sokoban solver developed by the University of Alberta GAMES Group. The more complex Sokoban levels are, however, out of reach even for the best automated solvers.

References

  1. ^ Hordern, Edward (1986). Sliding Piece Puzzles (Recreations in Mathematics, No 4). p. 161. ISBN 0198532040.
  2. ^ Wagner, Roy (May 1988). "Puzzling Encounters". Computer Gaming World. pp. 42–43. {{cite news}}: External link in |title= (help)CS1 maint: date and year (link)
  3. ^ Lesser, Hartley, Patricia, and Kirk (April 1988). "The Role of Computers". Dragon (132): 80–85. {{cite journal}}: External link in |title= (help)CS1 maint: multiple names: authors list (link)
  4. ^ M. Fryers and M.T. Greene (1995). "Sokoban". Eureka (54).
  5. ^ 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
  6. ^ Andreas Junghanns, Jonathan Schaeffer (2001) Sokoban: Enhancing general single-agent search methods using domain knowledge, Artificial Intelligence 129(1-2):219-251 (Special issue on heuristic search in artificial intelligence)

See also