Sokoban

From Wikipedia, the free encyclopedia
Revision as of 16:06, 30 June 2025 by imported>Go D. Usopp (Restored revision 1297911872 by Go D. Usopp (talk): This is WP:OWN territory to disregard others' edits)
Jump to navigation Jump to search

Template:Short description Template:Use mdy dates Template:Infobox video game series Template:Nihongo foot is a 1982 puzzle video game developed and published by Japanese studio Thinking Rabbit. In the game, the player pushes boxes around in a warehouse, trying to get them to storage locations. It was first released in Japan in 1982 for the NEC PC-8801 computer. The game was later ported to various platforms and followed by new titles. It became popular in Japan and internationally, inspiring unofficial versions, a subgenre of box-pushing puzzle games, and artificial intelligence research.

Gameplay

File:Sokoban ani.gif
A Sokoban puzzle being solved

The warehouse is a grid composed of floor squares and impassable wall squares. Some floor squares contain a box and some are marked as storage locations. The number of boxes equals the number of 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 puzzle is solved when all boxes are on storage locations.

Progressing through the game requires careful planning and precise maneuvering.[1] 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]

History

Sokoban was designed by Hiroyuki Imabayashi.[3][4][5] The first commercial game was published for the NEC PC-8801 computer in December 1982 by his company, Thinking Rabbit, based in Takarazuka, Japan. Ports and new titles for various platforms appeared in subsequent years. In 1988, Spectrum HoloByte published Sokoban in the U.S. for the IBM PC, Commodore 64, and Apple II as Soko-Ban.[6] In 1990, FCI released Boxxle for the Game Boy in both North America and Europe,[7] followed by Boxxle II in 1992.[8] Between 1996 and 2000, several Sokoban games were released for Windows and PlayStation in Japan.[9] 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.

Versions

Since its debut in 1982, Sokoban has been released on various platforms, primarily in Japan but also in other regions. Most titles are independent without a continuous narrative or unified series, though a few are direct sequels to a specific earlier release—for example, Sokoban 2 (1984) follows Sokoban (1982), and Soko-ban Revenge (1991) is a sequel to Soko-ban Perfect (1989). The following table lists a selection of official Sokoban titles.[10]

Year Title Country Platform Publisher
1982 Script error: No such module "Nihongo".[11][12] Japan NEC PC-8801 Thinking Rabbit
1983 Script error: No such module "Nihongo".[13] Japan NEC PC-8801 Template:Ill
1984 Script error: No such module "Nihongo".[14] Japan NEC PC-8801 Thinking Rabbit
1986 Script error: No such module "Nihongo". Japan Famicom Disk System ASCII
1988 Soko-Ban[15] US IBM PC, XT, and AT Spectrum HoloByte
1989 Script error: No such module "Nihongo". Japan NEC PC-9801 Thinking Rabbit
1990 Boxyboy US TurboGrafx-16 NEC
1991 Script error: No such module "Nihongo". Japan NEC PC-9801 Thinking Rabbit
2016 Script error: No such module "Nihongo". International Android, iOS Thinking Rabbit
2018 Script error: No such module "Nihongo". Japan Windows Thinking Rabbit
2021 The Sokoban International Nintendo Switch, PlayStation 4 Unbalance

Reception

By June 1984, the original Sokoban had sold 22,000 copies in Japan;[16] by March 1985, it had reached 30,000 copies.[17]

Sokoban was a hit in Japan. According to Spectrum Holobyte, the game had sold over 400,000 copies there before the 1988 release of the title Soko-Ban in the United States.[18][19] That title received a positive review from Computer Gaming World, which described the game as simple yet mentally challenging and praised its addictive nature.[20]

Legacy

Cultural impact

An active fan community has produced thousands of custom puzzles,[21] unofficial versions,[22][23] and software tools, including puzzle editors, solvers, and solution optimizers.[24]

Derivatives

Sokoban is considered the originator of a puzzle game subgenre featuring box-pushing mechanics, commonly referred to as "Sokoban-like" games.[25][26]

  • Alternative tilings: While Sokoban is played on a square grid, its fundamental rules are, in principle, applicable to boards with other tilings. Hexoban[27] exemplifies this, utilizing regular hexagons.
  • Multiple pushers: In the variant Multiban,[28] the puzzle contains more than one pusher. In the game Sokoboxes Duo,[29] strictly two pushers collaborate to solve the puzzle.
  • Designated storage locations: In Sokomind Plus,[30] some boxes and target squares are uniquely numbered. In Block-o-Mania,[31] 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[32] and Sokolor,[33] the boxes have different colours, and the objective is to move them so that similarly coloured boxes are adjacent. In CyberBox,[34] each puzzle 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,[35] the objective is to push the elements of the puzzle onto a target square in a fixed sequence.
  • Additional game elements: Push Crate, Sokonex,[36] Xsok, CyberBox,[37] and Block-o-Mania,[38] all add new elements to the basic puzzle. Examples include holes, teleports, moving blocks and one-way passages.
  • Character actions: In Pukoban,[39] the character can pull boxes in addition to pushing them.
  • Reverse mode: Some Sokoban programs allow players to play a puzzle backward. This approach can help players better understand the puzzle structure and develop effective solving strategies. Starting with all boxes on storage locations, the player pulls the boxes to return to the initial puzzle state. Solutions found this way solve the standard puzzle when both the order and the direction of the moves are reversed.[40]

Computer science 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.[41][42] Further work proved it is also PSPACE-complete.[43][44]

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).[45][46] Even small puzzles can require lengthy solutions.[47]

The Sokoban game provides a challenging testbed for developing and evaluating planning techniques.[48] The first documented automated solver, Rolling Stone, was developed at the University of Alberta. It employed a conventional search algorithm enhanced with domain-specific techniques such as deadlock detection.[49][50] A later solver, Festival, introduced the FESS search algorithm and became the first automatic system to solve all 90 puzzles in the widely used XSokoban test suite.[51][52] Despite these advances, even the most sophisticated solvers cannot solve many highly complex puzzles that humans can solve with time and effort, using their ability to plan ahead, recognize patterns, and reason about long-term consequences.[53][54][55]

See also

Script error: No such module "Portal".

Notes

Template:Notelist

References

Template:Reflist

External links

  1. Template:Cite magazine
  2. Script error: No such module "citation/CS1".
  3. Template:Cite magazine
  4. Script error: No such module "citation/CS1".
  5. Script error: No such module "citation/CS1".
  6. Script error: No such module "citation/CS1".
  7. Template:Cite magazine
  8. Template:Cite magazine
  9. Script error: No such module "citation/CS1".
  10. Script error: No such module "citation/CS1".
  11. Template:Cite magazine
  12. Template:Cite magazine: scored the game 94 points out of 100.
  13. Template:Cite magazine
  14. Template:Cite magazine
  15. Template:Cite magazine: reviewers rated the game <templatestyles src="Fraction/styles.css" />4+12 out of 5 stars.
  16. Template:Cite magazine
  17. Template:Cite magazine
  18. Template:Cite magazine
  19. Given that Soko-Ban was licensed to Spectrum Holobyte by ASCII Corporation, which published console versions, like Famicom and MSX, but not the original 1982 release, the number may reflect cumulative sales across multiple Japanese titles, though the source does not specify.Script error: No such module "citation/CS1".
  20. Template:Cite magazine
  21. Script error: No such module "Citation/CS1".
  22. Script error: No such module "citation/CS1".
  23. Script error: No such module "citation/CS1".
  24. Script error: No such module "citation/CS1".
  25. Script error: No such module "citation/CS1".
  26. Template:Cite thesis
  27. Script error: No such module "citation/CS1".
  28. Script error: No such module "citation/CS1".
  29. Script error: No such module "citation/CS1".
  30. Script error: No such module "citation/CS1".
  31. Script error: No such module "citation/CS1".
  32. Script error: No such module "citation/CS1".
  33. Script error: No such module "citation/CS1".
  34. Script error: No such module "citation/CS1".
  35. Script error: No such module "Citation/CS1".
  36. Script error: No such module "citation/CS1".
  37. Script error: No such module "citation/CS1".
  38. Script error: No such module "citation/CS1".
  39. Script error: No such module "citation/CS1".
  40. Script error: No such module "citation/CS1".
  41. Script error: No such module "Citation/CS1".
  42. Script error: No such module "Citation/CS1".
  43. Script error: No such module "Citation/CS1".
  44. Template:Cite thesis
  45. Script error: No such module "Citation/CS1".
  46. Script error: No such module "citation/CS1".
  47. Script error: No such module "citation/CS1".
  48. Template:Cite thesis
  49. Template:Cite thesis
  50. Script error: No such module "Citation/CS1".
  51. Script error: No such module "citation/CS1".
  52. Script error: No such module "citation/CS1".
  53. Script error: No such module "Citation/CS1".
  54. Script error: No such module "citation/CS1".
  55. Script error: No such module "citation/CS1".