Sokoban
From Free net encyclopedia
Image:KSokoban-screenshot.png Image:Sokoban PC game 01.png
Sokoban (倉庫番, Japanese for "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, not two, and boxes cannot be pulled. As the puzzle would be extremely difficult to create physically, it 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. Thinking Rabbit also released three sequels: Boxxle, Sokoban Perfect and Sokoban Revenge.
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, including mobile phones. The text-based computer game NetHack contains a sequence of dungeon levels deliberately designed to simulate a Sokoban game.
Contents |
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.
Multiple pushers: In the variants Multiban and Interlock the player can control multiple characters.
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.
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.
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<ref>Dorit Dor, Uri Zwick, SOKOBAN and other motion planning problems. Computational Geometry: Theory and Applications 13, 215-228 (1999).</ref> as it is part of a more general class of motion planning problems where the porter is allowed to push and/or pull one or more boxes at a time. 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<ref>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</ref>.
Sokoban is difficult not only due to its branching factor (which is comparable to chess, and still much lower than that of go), 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<ref>Andreas Junghanns, Jonathan Schaeffer, Sokoban: A Case-Study in the Application of Domain Knowledge in General Search Enhancements to Increase Efficiency in Single-Agent Search. Artificial Intelligence, special issue on search, 2000.</ref>. 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
<references/>
See also
External links
- Official Sokoban site, in Japanese
- Yahoo! Sokoban discussion group
- The University of Alberta GAMES Group - accademic research and the Rolling Stone solver
- Web pages containing Sokoban information:
- SokobanYASC (OpenSource Project)
- Games4Brains - game-history, Sokoban leveldesign
- SokoSave resources
- Sokoban project - games, levels, highscores
- 79 online Sokoban games
- Sokoban variants (see the section on variants above):
Ports, clones and remakes
- IceCubes Downloadable clone for Windows with modified game principle.
- PostMan (for mobile phones, freeware)
- Push DX
- Sokoban in Delphi Open-source Sokoban game written in Delphi.
- SokoJS, online game written in Javascript under GPL.
- Warehouse Online Flash version. Also create your own Warehouse levels and challenge friends to solve them.
- Docker Sokoban Downloadable version of sokoban with rich graphics for Windows.da:Sokoban
de:Sokoban fr:Sokoban it:Sokoban ja:倉庫番 nl:Sokoban pl:Sokoban ru:Sokoban