Sokoban (倉庫番 Sōkoban, japanisch „Lagerhausverwalter“) ist ein Computerspiel, das von Hiroyuki Imabayashi entwickelt und 1982 erstmals für verschiedene Computersysteme veröffentlicht wurde.
In einem einfachen Spielprinzip gilt es, mit einer Spielfigur alle Objekte – meistens sind es Kisten – nacheinander auf die dafür vorgesehenen Zielfelder zu bewegen, wobei die Kisten von der Spielfigur nur geschoben und nicht gezogen werden können und auch nicht mehrere Kisten zugleich geschoben werden können. Neben dem bloßen Bestehen der Levels ist eine weiterführende Herausforderung, die dafür nötigen Schritte zu minimieren oder gegen ein Zeitlimit zu spielen. In der ursprünglichen Version war es möglich, seinen letzten Schritt zurückzunehmen (Undo), falls man einen Fehler gemacht hat, jedoch können nicht mehrere Schritte zurückgenommen werden. Moderne Implementierungen heben diese Beschränkung zum Teil auf, so dass mehrere oder sogar alle gemachten Schritte zurückgenommen werden können.
Imabayashi hatte mit dem Spiel einen Ideenwettbewerb gewonnen und in der japanischen Stadt Takarazuka die Firma THINKING RABBIT gegründet. Die ersten in Europa erhältlichen Sokoban-Versionen kamen aus dem Hause Spectrum HoloByte (1984, z. B. für Apple IIe).
Im Lauf der Jahre erschienen zahlreiche offizielle Versionen des Spiels – beispielsweise Boxxle – für diverse Betriebssysteme (C64, ZX Spectrum, PC, Mac) und Spielkonsolen wie GameBoy und PlayStation; Inoffizielle Varianten und Implementierungen für grafische Oberflächen wie PC/GEOS folgten.
Inzwischen finden sich zahlreiche weitere Sokoban-Nachbauten. Dabei verzichten einige auf die Übernahme der urheberrechtlich geschützten Original-Levels und bieten stattdessen neue, eigene Ideen, Leveleditoren und eine große Anzahl von freien Levels.
Viele Sokoban-Nachbauten verwenden zur Beschreibung der Levels ein einfaches ASCII-Format, welches den Austausch zwischen den verschiedenen Implementierungen erleichtert. Zur Erstellung von eigenen Levels kann dabei jeder beliebige Texteditor verwendet werden. Derzeit aktuell ist das File-Format 0.08, in dem ein Beispiel-Level folgendermaßen aussieht:
Microban 1
####
# .#
# ###
#*@ #
# $ #
# ###
####
Title: Microban 1
Author: David W Skinner
Dabei wird eine Wand durch das Symbol #
dargestellt, die Spielfigur (Sokoban) am Startfeld durch @
, ein Zielfeld als .
und die Startpositionen der Kisten als $
und *
, wenn die Kiste auf einem Zielfeld steht.
Darüber hinaus bietet dieses Level-Format auch die Möglichkeit, Spielstände und konkrete Lösungswege zu speichern.