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.

A Sokoban puzzle being solved

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 the square beyond. 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 often requires meticulous planning and strategic maneuvering. A single misstep, like pushing a box into a corner or blocking others, can create unsolvable scenarios, forcing the player to backtrack or restart the puzzle. Anticipating the consequences of each push, and considering the overall layout of the puzzle are crucial to avoid these deadlocks.

Selected official releases

YearTitleCountryPlatformPublisherMediaNotes
1982Sokoban (倉庫番)JapanNEC PC-8801Thinking RabbitCassette tape
1983Sokoban [Extra Edition] (倉庫番[番外編][2][3])JapanNEC PC-8801PCマガジンType-in program
1984Sokoban 2 (倉庫番2)JapanNEC PC-8801Thinking RabbitCassette tape
1986Namida no Sokoban Special (涙の倉庫番スペシャル)JapanFamicom Disk SystemASCII CorporationFloppy
1988Soko-BanUSIBM PC, XT, and ATSpectrum HoloByteFloppy
1989Soko-ban Perfect (倉庫番Perfect)JapanNEC PC-9801Thinking RabbitFloppy
1990BoxyboyJapan, USTurbografx-16/PC EngineNECHuCard
1990Shove It! ...The Warehouse GameJapan, USSega Genesis/Mega DriveMasaya GamesROM cartridge
1991Soko-ban Revenge (倉庫番Revenge)JapanNEC PC-9801Thinking RabbitFloppy
2016Sokoban Touch (倉庫番Touch)Japan, USAndroid and Apple iOSThinking RabbitDigital distribution
2018Sokoban Smart (倉庫番スマート)JapanWindowsThinking RabbitDigital distribution
2019Minna No Sokoban (みんなの倉庫番)JapanNintendo Switch and PlayStation 4Unbalance CorporationDigital distribution
2021The SokobanUSNintendo Switch and PlayStation 4Unbalance CorporationDigital distribution

Development

Sokoban was created in 1981 by Hiroyuki Imabayashi.[4][5] 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, selling more than 400,000 copies before being released in the United States.[6] In 1988, Sokoban was published in US by Spectrum HoloByte for the IBM PC, Commodore 64, and Apple II as Soko-Ban.[7]

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[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]

Search for a solution to a Sokoban puzzle is difficult for computers due to the many possible legal pushes at each turn (branching factor) and the possibly long sequence of moves needed to reach a solution (search tree depth).[13][14] Even small puzzles can require lengthy solutions.[15]

The Sokoban game provides a challenging testbed for developing and evaluating planning techniques. [16][17] The first documented automated solver was Rolling Stone, 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]

See also

External links

References