Sokoban

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
A Sokoban puzzle being solved

Sokoban (倉庫番, sōko-ban, "warehouse keeper") is a puzzle video game in which the player pushes crates or boxes around in a warehouse, trying to get them to storage locations.

Sokoban was created in 1981 by Hiroyuki Imabayashi. It was published in December 1982 for NEC PC-8801 by Thinking Rabbit, a software house based in Takarazuka, Japan.

Rules[edit]

The snail pushes boxes around a maze and tries to put them in designated locations. Press the direction key of the adjacent boxes to push them. Press"#" to revoke, press "2" to move up, press"8" to move down, press"4" to move left, press"6" to move right, press"1" to choose last level and press"3" to choose next level.

Selected releases[edit]

Year Title Country Platform Publisher Media
1982 Sokoban (倉庫番) Japan NEC PC-8801 Thinking Rabbit Tape
1983 Sokoban [Extra Edition] (倉庫番[番外編][1][2]) Japan NEC PC-8801 PCマガジン Source code
1984 Sokoban 2 (倉庫番2) Japan NEC PC-8801 Thinking Rabbit Tape
1988 Soko-Ban US IBM-PC and compatibles Spectrum HoloByte Floppy
1989 Soko-ban Perfect (倉庫番Perfect) Japan NEC PC-9801 Thinking Rabbit Floppy
1991 Soko-ban Revenge (倉庫番Revenge) Japan NEC PC-9801 Thinking Rabbit Floppy
2016 Sokoban Touch (倉庫番Touch) Japan, US Android and Apple iOS Thinking Rabbit Digital distribution

In 1988, Sokoban was published in the U.S. by Spectrum HoloByte as Soko-Ban for the IBM PC compatible computers, Commodore 64, and Apple II series.

Reception[edit]

Sokoban was a hit in Japan and had sold over 400,000 units in that country by the time Spectrum HoloByte imported it to the United States.[3] A review in Computer Gaming World praised the game for being "pure and simple, very playable and mentally challenging", citing its addictive qualities.[4] It was also reviewed in Dragon, receiving ​4 12 out of 5 stars.[5]

Implementations[edit]

Implementations of Sokoban have been written for numerous computer platforms, including almost all home computer and personal computer systems. Different versions also exist for video game consoles, mobile phones, graphic calculators, digital cameras and electronic organizers.

Scientific research[edit]

Sokoban can be studied using the theory of computational complexity. The problem of solving Sokoban puzzles was first proved to be NP-hard.[6][7] Further work showed that it was significantly more difficult than NP problems; it is PSPACE-complete.[8] This is of interest for artificial intelligence (AI) research because solving Sokoban can be compared to the automated planning required by some autonomous robots.

Sokoban is difficult not only because of its large branching factor, but also because of its large search tree depth. Some level types can even be extended indefinitely, with each iteration requiring an exponentially growing number of moves and pushes.[9] Skilled human players rely mostly on heuristics and are usually able to quickly discard a great many futile or redundant lines of play by recognizing patterns and subgoals, thereby drastically reducing 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 that make use of domain-specific knowledge.[10] This is the method used by Rolling Stone,[11] a Sokoban solver developed by the University of Alberta GAMES Group. However, the more complex Sokoban levels are out of reach even for the best automated solvers.[12]

Variants[edit]

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

  • Alternative tilings: In the standard game, the mazes are laid out on a square grid. Several variants apply the rules of Sokoban to mazes laid out on other tilings. Hexoban uses regular hexagons, and Trioban uses 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 have different colours, and the goal is to push them onto squares with matching colours. Sokomind Plus implements a similar idea, with boxes and target squares uniquely numbered. In Interlock and Sokolor, the boxes also have 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 a target square in a fixed sequence.
  • Additional game elements: Push Crate, 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. The 1982 Sokoban (NEC PC-8801) game featured levels with destructible walls.[13]
  • Character actions: In Pukoban, the character can pull boxes in addition to pushing them.
  • Reverse mode: The player solves the puzzle backwards, from the end to the initial position by pulling instead of pushing boxes. Standard Sokoban puzzles can be played in reverse mode, and the reverse-mode solutions can be converted to solutions for the standard-mode puzzles. Therefore, reverse-mode gameplay can also be instrumental in solving standard Sokoban puzzles.

See also[edit]

References[edit]

  1. ^ "今回はこのゲームを開発した THINKING RABBIT さんにお願いして, 市販品とは別に10の倉庫をつくってもらいましたので" [This time, we asked THINKING RABBIT, who developed this game, to build 10 warehouses separately from commercial products]. PCマガジン (in Japanese). August 1983. pp. 52–56.
  2. ^ "題して『倉庫番』PCマガジン番外編 (このプログラムは, PC-8801/9801 で使えます)" [Titled "Sokoban" PC Magazine Extra Edition (this program can be used with PC-8801 / 9801)]. PCマガジン (in Japanese). August 1983. pp. 52–56.
  3. ^ Low, Lafe (November 1988). "News Line; Made in Japan". inCider (43). 14, 15.
  4. ^ Wagner, Roy (May 1988). "Puzzling Encounters". Computer Gaming World (47): 42–43.
  5. ^ Lesser, Hartley; Lesser, Patricia; Lesser, Kirk (April 1988). "The Role of Computers". Dragon (132): 80–85.
  6. ^ M. Fryers; M. T. Greene (1995). "Sokoban". Eureka (54).
  7. ^ Dor, Dorit; Zwick, Uri (1999). "SOKOBAN and other motion planning problems". Computational Geometry. 13 (4): 215–228. doi:10.1016/S0925-7721(99)00017-6. ISSN 0925-7721.
  8. ^ Joseph C. Culberson, Sokoban is PSPACE-complete (PS). Technical Report TR 97-02, Dept. of Computing Science, University of Alberta, 1997.
  9. ^ David Holland and Yaron Shoham, "Theoretical analysis on Picokosmos 17".
  10. ^ 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).
  11. ^ Junghanns, Andreas; Schaeffer, Jonathan (1997). "Sokoban: A Challenging Single-Agent Search Problem" (PDF). In IJCAI Workshop on Using Games as an Experimental Testbed for AI Research. University of Alberta. pp. 27–36.
  12. ^ "Solver Statistics – Sokoban Wiki". Retrieved 8 February 2013.
  13. ^ THE 倉庫番 (in Japanese). 1987. p. 113. ISBN 4-88239-606-8.

External links[edit]