A Sokoban puzzle being solved.

Sokoban (倉庫番, Sōko-ban, lit.'warehouse keeper'[1]) is a puzzle video game in which the player pushes boxes around in a warehouse, trying to get them to storage locations. The game was designed in 1981 by Hiroyuki Imabayashi, and first published in December 1982.

Gameplay

The game is played on a board of squares, where each square is a floor or a wall. Some floor squares contain boxes, and some floor squares are marked as storage locations.

The player is confined to the board and may move horizontally or vertically onto empty squares (never through walls or boxes). To move a box, the player walks up to it and pushes it to the square beyond. Boxes cannot be pulled, and they cannot be pushed to squares with walls or other boxes. The number of boxes equals the number of storage locations. The puzzle is solved when all boxes are placed at storage locations.

Selected official releases

Year Title Country Platform Publisher Media Notes
1982 Sokoban (倉庫番) Japan NEC PC-8801 Thinking Rabbit Cassette tape
1983 Sokoban [Extra Edition] (倉庫番[番外編][2][3]) Japan NEC PC-8801 PCマガジン Type-in program
1984 Sokoban 2 (倉庫番2) Japan NEC PC-8801 Thinking Rabbit Cassette tape
1986 Namida no Sokoban Special (涙の倉庫番スペシャル) Japan Famicom Disk System ASCII Corporation Floppy
1988 Soko-Ban US IBM PC, XT, and AT Spectrum HoloByte Floppy
1989 Soko-ban Perfect (倉庫番Perfect) Japan NEC PC-9801 Thinking Rabbit Floppy
1990 Boxyboy Japan, US Turbografx-16/PC Engine NEC HuCard
1990 Shove It! ...The Warehouse Game Japan, US Sega Genesis/Mega Drive Masaya Games ROM cartridge
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
2019 Minna No Sokoban (みんなの倉庫番) Japan Nintendo Switch and PlayStation 4 Unbalance Corporation Digital distribution
2021 The Sokoban US Nintendo Switch and PlayStation 4 Unbalance Corporation Digital distribution

Development

Sokoban was created in 1981 by Hiroyuki Imabayashi. The first commercial game was published in December 1982 by Thinking Rabbit, a software house based in Takarazuka, Japan. Sokoban was a hit in Japan, where it sold more than 400,000 copies before being released in the United States.[4] In 1988, Sokoban was published in US by Spectrum HoloByte for the IBM PC, Commodore 64, and Apple II as Soko-Ban.

Implementations

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, graphing calculators, digital cameras[5] and electronic organizers.

Scientific research

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 search effort.

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. Festival[12] was the first automatic solver to solve all 90 levels in the widely used XSokoban test suite, but the more complex Sokoban levels are out of reach even for the best automated solvers.[13]

Variants

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.

See also

References

  1. ^ Foo, Norman; Goebel, Randy (1996). PRICAI '96: Topics in Artificial Intelligence: 4th Pacific Rim International Conference on Artificial Intelligence, Cairns, Australia, August 26 - 30, 1996, Proceedings. Springer Science & Business Media. p. 592. ISBN 978-3-540-61532-3.
  2. ^ "今回はこのゲームを開発した 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.
  3. ^ "題して『倉庫番』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.
  4. ^ Low, Lafe (November 1988). "News Line; Made in Japan". inCider (43). 14, 15.
  5. ^ "CHDK 1.5 User Manual". CHDK Wiki. Retrieved 2023-07-13.
  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. ^ Yaron Shoham, Jonathan Shaeffer (2020) The FESS Algorithm: A Feature Based Approach to Single-Agent Search. Published in: 2020 IEEE Conference on Games (CoG)
  13. ^ "Solver Statistics – Sokoban Wiki". Retrieved 8 February 2013.