Sokoban


Sokoban 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

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. The player can move a box by walking up to it and pushing it to the square beyond. Boxes cannot be pulled and 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 releases

YearTitleCountryPlatformPublisherMedia
1982SokobanJapanNEC PC-8801Thinking RabbitTape
1983Sokoban JapanNEC PC-8801:ja:PCマガジン|PCマガジンSource code
1984Sokoban 2JapanNEC PC-8801Thinking RabbitTape
1988Soko-BanUSIBM-PC and compatiblesSpectrum HoloByteFloppy
1989Soko-ban PerfectJapanNEC PC-9801Thinking RabbitFloppy
1991Soko-ban RevengeJapanNEC PC-9801Thinking RabbitFloppy
2016Sokoban TouchJapan, USAndroid and Apple iOSThinking RabbitDigital 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

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. A review in Computer Gaming World praised the game for being "pure and simple, very playable and mentally challenging", citing its addictive qualities. It was also reviewed in Dragon, receiving out of 5 stars.

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, graphic calculators, digital cameras 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. Further work showed that it was significantly more difficult than NP problems; it is PSPACE-complete. This is of interest for artificial intelligence 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. 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. This is the method used by Rolling Stone, 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.

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.