Sokoban
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 warehouse is depicted as a grid of squares, each one representing either a floor section or a wall section. Some floor squares contain boxes and some are marked as storage locations. The player, often represented as a worker character, can move one square at a time horizontally or vertically onto empty floor squares, but cannot pass through walls or boxes.
To move a box, the player walks up to it and pushes it to an empty square directly beyond the box. Boxes cannot be pushed to squares with walls or other boxes, and they cannot be pulled. The number of boxes matches the number of storage locations. The puzzle is solved when all boxes occupy the storage locations.
Challenges and strategy
Progressing through the game requires careful planning and precise maneuvering. A single mistake, such as pushing a box into a corner or obstructing the path of others, can render the puzzle unsolvable, forcing the player to backtrack or restart. Anticipating the consequences of each push and considering the overall layout of the puzzle are crucial to avoid deadlocks and complete the puzzle successfully.[2]
Development
Sokoban was created in 1981 by Hiroyuki Imabayashi.[3][4] The first commercial game was published in December 1982 by his company, Thinking Rabbit, based in Takarazuka, Japan. Sokoban was a hit in Japan, selling over 400,000 copies before being released in the United States.[5] In 1988, Spectrum HoloByte published Sokoban in the U.S. for the IBM PC, Commodore 64, and Apple II as Soko-Ban.[6] In 2001, the Japanese software company Falcon acquired the trademarks for Sokoban and Thinking Rabbit. Since then, Falcon has continued to develop and license official Sokoban games.
Implementations
Sokoban has been implemented for almost all home computers, personal computers, video game consoles and even some TVs.[7] Versions also exist for mobile phones, graphing calculators, digital cameras[8] and electronic organizers.
Scientific research
Sokoban has been studied using the theory of computational complexity. The computational problem of solving Sokoban puzzles was first shown to be NP-hard.[9][10] Further work proved it is also PSPACE-complete.[11][12]
Solving non-trivial Sokoban puzzles is difficult for computers because of the high branching factor (many legal pushes at each turn) and the large search depth (many pushes needed to reach a solution).[13][14] Even small puzzles can require lengthy solutions.[15]
The Sokoban game provides a challenging testbed for developing and evaluating planning techniques.[16] The first documented automated solver was Rolling Stone,[17] developed at the University of Alberta. Its core principles laid the groundwork for many newer solvers. It employed a conventional search algorithm enhanced with domain-specific knowledge.[18] Festival, utilizing its FESS algorithm, was the first automatic solver to complete all 90 puzzles in the widely used XSokoban test suite.[19][20] However, even the best automated solvers cannot solve many of the more challenging puzzles that humans can solve with time and effort.[21][22]
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.
- 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 variant Multiban, the puzzle contains more than one pusher. In the game Sokoboxes Duo, strictly two pushers collaborate to solve the puzzle.
- Designated storage locations: In Sokomind Plus, some boxes and target squares are uniquely numbered. In Block-o-Mania, the boxes have different colours, and the goal is to push them onto squares with matching colours.
- Alternative game objectives: Several variants feature different objectives from the traditional Sokoban gameplay. For instance, in Interlock and Sokolor, the boxes have different colours, but the objective is to move them so that similarly coloured boxes are adjacent. In CyberBox, each level has a designated exit square, and the objective is to reach that exit by pushing boxes, potentially more than one simultaneously. In a variant called Beanstalk, the objective is to push the elements of the level 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.
- Character actions: In Pukoban, the character can pull boxes in addition to pushing them.
- Reverse mode: In this variant, the player solves the standard puzzle backward, starting with all boxes on goal squares. Then the player pulls the boxes to reach the initial position. Solutions obtained in reverse mode can be directly applied to solve the standard puzzle by reversing the order of the moves. This makes reverse mode a useful tool for players, allowing them to develop strategies for solving puzzles in the standard game.[23]
Selected official releases
This table lists some prominent official Sokoban releases that mark milestones, such as expanding to new platforms or achieving widespread popularity. They are organized by release date.
Year | Title | Country | Platform | Publisher | Media |
---|---|---|---|---|---|
1982 | Sokoban (倉庫番) | Japan | NEC PC-8801 | Thinking Rabbit | Cassette tape |
1983 | Sokoban [Extra Edition] (倉庫番[番外編][24][25]) | 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 | ASCII | 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 | US | TurboGrafx-16 | NEC | HuCard |
1990 | Shove It! ...The Warehouse Game | US | Sega Genesis | DreamWorks | 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 |
2018 | Sokoban Smart (倉庫番スマート) | Japan | Windows | Thinking Rabbit | Digital distribution |
2019 | Minna No Sokoban (みんなの倉庫番) | Japan | Nintendo Switch and PlayStation 4 | Unbalance | Digital distribution |
2021 | The Sokoban | US | Nintendo Switch and PlayStation 4 | Unbalance | Digital distribution |
See also
References
- ^ Yoshio Murase; Hitoshi Matsubara; Yuzuru Hiraga (1996). Norman Foo; Randy Goebel (eds.). Automatic Making of Sokoban Problems. Springer Science & Business Media. p. 592. ISBN 978-3-540-61532-3.
- ^ Jean-Noël Demaret; François Van Lishout; Pascal Gribomont (2008). Hierarchical Planning and Learning for Automatic Solving of Sokoban Problems (PDF). pp. 1, 2.
- ^ "Thinking Rabbit - 1983 Developer Interview".
- ^ "My conversation with Mr Hiroyuki Imabayashi".
- ^ Lafe Low (November 1988). "News Line; Made in Japan". inCider. p. 14.
- ^ Austin Barr; Calvin Chung; Aaron Williams (2021). Block Dude Puzzles are NP-Hard (and the Rugs Really Tie the Reductions Together) (PDF). CCCG (2021). p. 1.
- ^ "I Review the Game Built into My New CRT (Boxman)". YouTube. 22 November 2020.
- ^ "CHDK 1.5 User Manual". CHDK Wiki. Retrieved 2023-07-13.
- ^ Michael Fryers; Michael Greene (1995). "Sokoban" (PDF). Eureka (54): 25–32.
- ^ Dorit Dor; Uri Zwick (1999). "SOKOBAN and other motion planning problems". Computational Geometry. 13 (4): 215–228. doi:10.1016/S0925-7721(99)00017-6.
- ^ Joseph C. Culberson (1997). "Sokoban is PSPACE-complete" (PDF). Technical Report TR 97-02, Dept. Of Computing Science, University of Alberta.
- ^ Robert Aubrey Hearn (2006). Games, Puzzles, and Computation (PDF) (PhD thesis). Massachusetts Institute of Technology. pp. 98–100.
- ^ Andreas Junghanns; Jonathan Schaeffer (2001). "Sokoban: Improving the Search with Relevance Cuts" (PDF). Theoretical Computer Science. 252 (1–2): 5. doi:10.1016/S0304-3975(00)00080-3.
- ^ Yaron Shoham (2020). "FESS Draft" (PDF). p. 3.
- ^ David Holland; Yaron Shoham. "Theoretical analysis on Picokosmos 17". Archived from the original on 2016-06-07.
- ^ Timo Virkkala (2011). Solving Sokoban (PDF) (MSc thesis). University of Helsinki. p. 1.
- ^ Andreas Junghanns (1999). Pushing the Limits: New Developments in Single-Agent Search (PhD thesis). University of Alberta. doi:10.7939/R3W95103S.
- ^ Andreas Junghanns; Jonathan Schaeffer (2001). "Sokoban: Enhancing general single-agent search methods using domain knowledge". Artificial Intelligence. 129 (1–2): 219–251. doi:10.1016/S0004-3702(01)00109-6.
- ^ Yaron Shoham; Jonathan Shaeffer (2020). The FESS Algorithm: A Feature Based Approach to Single-Agent Search (PDF). 2020 IEEE Conference on Games (CoG). Osaka, Japan: IEEE. doi:10.1109/CoG47356.2020.9231929.
- ^ Yaron Shoham (2020). "FESS presentation at the CoG conference (17.5 minutes)" (video). archive.org.
- ^ "Let's Logic Bots Statistics" (PDF). Retrieved 6 October 2024.
- ^ "Sokoban Solver Statistics - Large Test Suite". Retrieved 14 April 2024.
- ^ Frank Takes (2008). "Sokoban: Reversed Solving" (PDF).
- ^ "今回はこのゲームを開発した 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.
- ^ "題して『倉庫番』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.
External links
- Official Sokoban site (in Japanese)
- The University of Alberta Sokoban page