Sokoban (Japans: 倉庫番; Sōkoban; vertaling "magazijnwerker") is een puzzelspel uit 1982 waarbij de speler dozen door een doolhof (gezien van bovenaf) moet verplaatsen, om deze op bepaalde doelen te plaatsen.

Gameplay Het is slechts mogelijk een enkele doos tegelijk te verplaatsen, en de dozen kunnen enkel geduwd, niet getrokken worden. De dozen kunnen enkel horizontaal of verticaal verschuiven, niet diagonaal. De uitdaging hierbij is dat men voortdurend moet vermijden om onoplosbare situaties (deadlocks) te creëren, waarin de speler niet meer achter een doos kan komen om die te duwen; bijvoorbeeld een doos die zowel links als boven tegen een muur aan ligt. In dat geval zit er niks anders op dan opnieuw te beginnen. Hiervoor heeft het spel een mogelijkheid om een level te resetten(retry), zodat een nieuwe poging kan worden gedaan om dit level op te lossen. Zelfs op het eerste gezicht eenvoudige spelsituaties kunnen toch moeilijk op te lossen zijn. Een bijkomende uitdaging is de taak in zo weinig mogelijk zetten of in zo kort mogelijke tijd te voltooien.

Geschiedenis Sokoban is in 1982 bedacht door Hiroyuki Imabayashi. Het spel werd ontwikkeld door Thinking Rabbit, een softwarefirma uit Takarazuka, Japan, en uitgegeven door Spectrum Holobyte. Door Thinking Rabbit zijn later nog verschillende vervolgen gemaakt zoals Boxxle (op de Game Boy van Nintendo), Sokoban Perfect en Sokoban Revenge.

Er zijn diverse klonen van Sokoban op het internet te vinden voor bijna elk computerplatform. Er bestaan ook enkele varianten van het spel Sokoban, zoals Hexoban, Trioban en Multiban. Het spel is ook als app verkrijgbaar in de verschillende app-stores, zodat het ook op smartphones of tablets gespeeld kan worden.

Wiskundige analyse Sokoban kan bestudeerd worden met behulp van de computationele complexiteitstheorie. Het is bewezen dat het oplossen van een spelniveau van Sokoban een probleem is met complexiteitsgraad NP-moeilijk; het is ook bewezen dat Sokoban PSPACE-compleet is.J. Culberson, "Sokoban is PSPACE-complete". Technical Report TR97-02, Department of Computing Science, University of Alberta, 1997

Het probleem van Sokoban is een planningsprobleem, vergelijkbaar met dat van een robot die dozen in een magazijn moet rangschikken. De vertakkingsfactor van Sokoban is vergelijkbaar met die van schaak, maar de diepte van de zoekboom kan bij Sokoban enorm groot zijn: in sommige niveaus zijn meer dan 1000 bewegingen nodig. Zoekmethoden uit de kunstmatige intelligentie, zoals het A*-algoritme, kunnen aangewend worden om een computerprogramma te maken dat Sokobanniveaus kan oplossen. Maar om efficiënt te zijn moeten die methoden verfijnd worden met domeinspecifieke kennis, net zoals menselijke spelers gebruikmaken van heuristieken bij het spelen van Sokoban. Een voorbeeld van een automatische Sokobanoplosser is Rolling Stone, ontwikkeld door de GAMES-groep aan de Universiteit van Alberta in Canada. Nochtans is dat programma niet in staat om alle 90 standaardniveaus van Sokoban op te lossen.Rolling StoneAndreas Junghanns, Jonathan Schaeffer: "Sokoban: A Challenging Single-Agent Search Problem."

Platforms Jaar Platform 1982 FM-7, PC-88 1983 PC-6001, Sharp X1 1984 Apple II, Commodore 64, DOS, MSX 1985 Epoch Game Pocket Computer, SG-1000 1988 TRS-80 CoCo

Ontvangst Beoordeeld door Jaar Platform ScorePower Play 1987 DOS 90%Happy Computer 1987 DOS 87%The Games Machine (UK) 1988 DOS 83%ACE (Advanced Computer Entertainment) 1988 DOS 55%ACE (Advanced Computer Entertainment) 1988 Commodore 64 49%

Trivia Het spel is opgenomen in het boek 1001 Video Games You Must Play Before You Die van Tony Mott. Een aantal levels van het computerspel NetHack zijn Sokoban puzzels

Categorie:Computerspel uit 1982 Categorie:Strategiespel Categorie:Puzzelspel Categorie:Apple II-spel Categorie:Commodore 64-spel Categorie:DOS-spel Categorie:Windows Mobile-spel Categorie:Linux-spel Categorie:Mac OS-spel Categorie:MSX-spel Categorie:Windows-spel