Sokoban
Sokoban (倉庫番, Sōkoban, warehouse keeper) is a transport puzzle in which the player pushes boxes around a maze, viewed from above, and tries to put them in designated locations. Only one box may be pushed at a time, and boxes cannot be pulled. The puzzle is usually implemented as a video game.
Sokoban was created in 1980 by Hiroyuki Imabayashi, and was published in 1982 by Thinking Rabbit, a software house based in Takarazuka, Japan.
Selected Sokoban releases by Thinking Rabbit
- Sokoban (1982), with 20 levels.
- Sokoban 2 (1984), with 50 levels.
- Sokoban (1988), with 50 levels.
- Sokoban Perfect (1989), with 306 levels.
- Sokoban Revenge (1991), with 306 levels.
Sokoban (1988)
In 1988 Sokoban was imported to the US by Spectrum HoloByte for the Commodore 64, IBM-PC and Apple II series, and by Spectral Associates for the TRS-80 Color Computer. A 1988 review in Computer Gaming World praised the game for being "pure and simple, very playable and mentally challenging", citing its addictive qualities.[1] It was also reviewed in 1988 in Dragon #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.[2]
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 Enigma variant 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, 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.[3] 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.[4]
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.[5] 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
- ^ Wagner, Roy (May 1988), "Puzzling Encounters", Computer Gaming World, pp. 42–43
{{citation}}
: External link in
(help)CS1 maint: date and year (link)|title=
- ^ Lesser, Hartley, Patricia, and Kirk (April 1988). "The Role of Computers". Dragon (132): 80–85.
{{cite journal}}
: External link in
(help)CS1 maint: multiple names: authors list (link)|title=
- ^ M. Fryers and M.T. Greene (1995). "Sokoban". Eureka (54).
- ^ 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
- ^ 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)