Funomania
Logo Onlinespiele-Sammlung
Get…the…Know…how
  • Pacman
  • Mastermind
  • Othello
  • Sokoban
  • Memory
  • Tetris
  • Ladybug
  • Minesweeper
  • Frogger
 

Was Du schon immer über Sokoban wissen wolltest

 
 

Sokoban? Nie gehört!

"Das Computerspiel Sokoban (japanisch "Lagerhaus-Verwalter") wurde erstmalig im Jahr 1982 für verschiedene Computer-Systeme veröffentlicht. Der Erfinder hieß Hiroyuki Imabayashi. Er hatte zuvor mit dem Spiel einen Ideen-Wettbewerb 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 II E)." aus: Wikipedia

In dem Spiel geht es darum, Kisten, die in einem Raum verteilt sind, an vorbestimmte Plätze zu schieben.

nach oben

 
 

Wie spiele ich Sokoban?

In den meisten Spielen muss man ein kleines Männchen, den Sokoban, steuern und mit ihm die verstreuten Kisten (zumeist als gefüllte Quadrate dargestellt) mit möglichst wenig Stößen an ihre vorgesehenen Plätze im Lagerhaus (zumeist durchkreuzte Quadrate) schieben. Das Lagerhaus kann sehr verwinkelt und fast labyrinth-artig sein.

Der Sokoban kann immer nur eine Kiste vorwärts bewegen und er kann auf keinen Fall eine Kiste aus einer Ecke und nur schwer von einer Wand entfernen; denn er muss immer hinter die Kiste kommen, um sie schieben zu können, er kann die Kisten nicht ziehen oder sonstwie bewegen.

Das sieht auf den ersten Blick oft sehr einfach aus, entpuppt sich aber meistens als äußerst kniffelige Angelegenheit, da man leicht den Weg des Sokoban verstellen, oder eine Kiste in eine Stellung bringen kann, in der sie nicht mehr zu bewegen ist. So muss man oft Kisten in die Gegenrichtung schieben und neu sortieren, bevor man eine Kiste nach der anderen an die markierten Positionen schieben kann.
Zur Veranschaulichung kann man sich mal ein paar der Lösungen von 379 Aufgaben von Onkel Chuck vorspielen lassen!
Das Schlimme bei Sokoban-Spielern ist: wenn man dann endlich vielleicht alle Aufgaben wenigstens einmal gelöst hat, geht es als nächstes darum, sie auf dem kürzesten Wege zu erledigen.

"Bei komfortablen Sokoban-Programmen ist es möglich, eine gefundene Lösung abzuspeichern und diese zu einem späteren Zeitpunkt erneut abzuspielen. Das dient vor allem als Nachweis der Lösbarkeit eines Levels, aber natürlich auch als Nachweis einer besonders guten Lösung.

Im Allgemeinen werden in einer Lösung die Schritte des Sokobans dokumentiert, die er von seinem Ausgangspunkt bei Levelstart bis zur endgültigen Lösung, wenn alle Kisten auf den Zielfeldern stehen, zurücklegt.

Als Standard-Format für Sokoban-Lösungen hat sich das sogenannte LURD-Format durchgesetzt. In diesem Format werden die Schritte unverschlüsselt, also im Klartext, aufgezeichnet. Jeder Schritt wird als ein neues Zeichen abgespeichert und entspricht der Richtung, in die sich der Sokoban bewegt. Es werden zunächst diese vier Buchstaben verwendet:


    "l" für links, 
    "u" für hoch, 
    "r" für rechts und 
    "d" für runter. 

Wird bei einem Schritt gleichzeitig eine Kiste bewegt, so werden die Schritte als Großbuchstaben dargestellt: L, U, R, D." aus: Sokoban Wiki
Hier mal die Kodierung einer Lösung meines ersten selbst gebauten Levels: llluuuulllDrRurDlllDrurrDulldRRRlDullllddrrrRRRRllluulllDldRRRRdrUluRRRlluRR (aufgezeichnet vom Level-Editor des Paul Voyer).

nach oben

 
 

Woher bekommt Sokoban seine Aufgaben?

Eine ebenso große Herausforderung, wie die Aufgaben zu lösen, ist es, solche Aufgaben zu erfinden. Jeder, der das Spielprinzip verstanden hat, sollte auch Aufgaben für den Sokoban entwerfen können, behaupten die Macher von Games4brains und geben dem Anfänger dazu eine schöne Anleitung: "Wie baue ich einen guten Sokoban-Level?".
Neben dem Erfinder des Spiels, Hiroyuki Imabayashi (Thinking Rabbit), haben mittlerweile eine große Zahl von Leuten - komischerweise kenne ich nur Männer - Aufgaben, auch Level genannt, für den Lagerarbeiter geschaffen.
Das Original-Spiel hatte 50 verschiedene Aufgaben mit unterschiedlichen Schwierigkeits-
graden; etwas später gab es ein weiteres Paket mit 40 neuen Aufgaben.

Jede Aufgabe hat immer eine eindeutige Nummer und ist dann zumeist einem Aufgaben-Satz (Level-Set) zugeordnet, der zumeist einen wohlklingenden Namen bekommt.
Wer sich mal einen ganz guten Überblick über bisher veröffentlichte Level-Sets machen will, der möge sich die Liste von Sokoban-Level-Sets auf Sokobano.de ansehen (auch auf die Level-Liste auf Sourcecode.se sollte man zu diesem Zweck einen Blick werfen). Dort kann man sich die Aufgaben auch in verschiedenen Formaten ansehen, herunterladen und von dort die Webseiten zahlreicher Autoren besuchen.

Hier zeige ich einmal die erste Aufgabe der ersten 50 Original-Level in der üblichen Schreibweise (Codierung):


    #####
    #   #
    #$  #
  ###  $##
  #  $ $ #
### # ## #   ######
#   # ## #####  ..#
# $  $          ..#
##### ### #@##  ..#
    #     #########
    #######

Eine Raute (#) bedeutet dabei ein Wandteil, das Dollar-Zeichen ($) die Position einer Kiste, der Punkt (.) eine Zielposition, der Stern (*) eine Zielposition mit Kiste, das @-Zeichen den Sokoban und das Plus-Zeichen (+) den Sokoban auf einer Zielposition. (Owen Rees hat ein witziges Spiel konstruiert, das man in dieser Form sogar spielen kann)

Nun ist es nicht allzu schwer, ein Programm zu entwickeln, das den Sokoban steuern und die Kisten, z. B. im vorgenannten Muster, verschieben lässt, wie die lange Liste meiner gesammelten Sokoban-Spiele zeigt. Leider entwerfen nur sehr wenige Leute, die ein Programm mit derartigen Fähigkeiten schreiben, ihrem Sokoban auch die notwendigen Aufgaben; zumeist benutzen sie Problemstellungen, die von anderen Leuten entwickelt wurden.
Was ich noch mehr bedauere, ist, dass die meisten vergessen, wenigstens die Autoren der benutzten Level zu erwähnen; möglicherweise sind sie sich gar nicht bewusst, dass die Kreation solcher Aufgaben ebenfalls eine geistige Leistung ist, die nach unserem Rechtssystem sogar geschützt ist.
Nun bin ich auch ein großer Freund der freizügigen Verteilung und Verbreitung von Wissen (ich nehme und verarbeite ja auch viel und gerne davon - es geht ja auch gar nicht anders), aber solange die Frage nicht geklärt ist, wie die Schöpfer von geistigen Produkten sich ernähren sollen, wenn sie ihre Werke nicht verkaufen (können), bin ich auf jeden Fall dafür, die Werke ihren Schöpfern zuzuordnen, damit sie sich wenigstens von dem Ruhm etwas kaufen können.
Jede Verwendung und Nutzung von geistigem Eigentum, ohne dass die Urheber wenigstens genannt werden, halte ich für Missbrauch, für ein Schmücken mit fremden Federn, halte ich für Diebstahl von berechtigter Anerkennung der Schöpfer!
Ich hoffe, dass es oft nur Gedankenlosigkeit ist, wenn selbst große, im Internet-Bereich tätige Agenturen bei Spielen nach dem Sokoban-Prinzip, die sie verkaufen, keine Angaben zur Herkunft und zum Erfinder der Aufgaben machen. Ich hoffe, dass sich das ändert und ich eines Tages keine derartigen Spiele mehr finde. Ich werde das jedoch bei den Besprechungen der Spiele immer vermerken und sie entsprechend niedriger bewerten (auch, um damit zu einem Umdenken beizutragen).
Außerdem kann das Verschweigen von Autor, Level-Set-Namen und Level-Nummer beim Lösen einer Aufgabe zu großen Schwierigkeiten führen. Dazu mehr im nächsten Abschnitt, der sich um das Lösen von Aufgaben dreht.

nach oben

 
 

Wo finde ich Lösungen für Sokoban-Level?

Du sitzt schon seit Stunden (oder gar Tagen) an einer Aufgabe und schaffst es einfach nicht, das Level zu lösen? Du willst fast verzweifeln und suchst dringend Hilfe?
Ich denke, dass alle Level schon einmal gelöst wurden; zumindest sollte jeder Erfinder von Sokoban-Aufgaben geprüft haben, ob seine Level auch lösbar sind.
Wenn man nun nicht weiß, wer ein Level gebaut hat, kann es sein, dass es z. B. von einem unerfahrenen Tüftler stammt, der möglicherweise die Prüfung versäumt oder nicht korrekt durchgeführt hat. Man kann auch schlecht im Internet nach einer Lösung suchen oder andere Leute um Hilfe fragen.
In diesen Fällen ist es wohl nötig, das betreffende, "unlösbare" Level in das oben gezeigte Text-Format zu übertragen, um es dann entweder anderen Leuten vorlegen zu können oder es mit einem Programm, das einen Level-Löser eingebaut hat, wie z. B. dem Sokoban-Klon YASC, zu lösen zu versuchen.

Hier mal eine kurze Anleitung, wie man dabei vorgehen kann (Quelle: Boardclub.net) "...ich habe einfach mal dein Level im Editor von YASC (Yet Another Sokoban Clone) nachgebaut.
Also, für alle, die sich selbst an dem Level versuchen wollen, hier das Level im einfachen TXT-Format, welches von YASC und von vielen weiteren Freeware-Sokobans geladen werden kann:


    #######
    #...  ###
    # ##    #
    #  $  $ #
    #.#$##$##
    #   #  #
    ### @ ##
      #####

In YASC reicht es, einfach den Inhalt des Code-Tags zu kopieren, das Spiel zu starten und einfach den Einfügen-Button oben links im Fenster zu betätigen ('Open levels, solutions or snapshots from clipboard'). Wie es in anderen Programmen, die dieses Format beherrschen, funktioniert, weiß ich nicht, aber meist sollte es so gehen, dass man eine TXT-Datei anlegt, dort das Level von oben einfügt, um dann diese gespeicherte Textdatei im Spiel zu laden.
Ein kurzer Check mit dem eingebauten Solver von YASC ergab, dass das Level lösbar ist (mindestens 34 "pushes" werden benötigt)."

Wer Autor, Name des Level-Sets und die Nummer des Levels kennt, das er lösen will, ist natürlich deutlich besser dran; er kann andere Knobler direkt nach Hilfe fragen oder bei einem der Programme nachschauen, die auch Lösungen für bestimmte Aufgaben anbieten.
Ich stelle hier eine kleine Liste von ihnen zusammen und werde sie bei neuem Kenntnisstand erweitern:

Das Beste, was ich in dieser Hinsicht kenne, ist das Programm von Otto Janko; die Liste der Aufgaben ist lang und die Lösungen kann man sich bei allen Aufgaben vorspielen lassen. Dabei muss man zwar jeden Schritt durch einen Klick selbst auslösen, aber man kann die Lösungen dadurch eben auch schrittweise nachvollziehen.
Es wäre natürlich auch möglich, die Lösungen automatisch vorspielen zu lassen und dabei die Geschwindigkeit selbst bestimmen zu können, wie das bei Onkel Chucks Lösungen der Fall ist.
Das ausgezeichnete Programm von Matthias Meger bietet die Möglichkeit, sowohl die Aufgaben von vier verschiedenen Autoren (Haywood, Dangaard, Grigorijev und Thinking Rabbit) lösen zu lassen, als auch Problemstellungen, die man im obigen Text-Format lädt. Leider arbeitet das Programm das Problem derart fix ab, dass man die einzelnen Schritte nicht beobachten kann; es zeigt zum Schluss nur das Ergebnis an. Das ist schade.
Beim Applet von Hans Knorr kann man sich zwar die Lösungen der meisten Level anzeigen lassen, aber dabei kein bestimmtes Level laden. Der Autor hatt sämtliche 2051 Aufgaben, die er verwendet, in das Programm gepackt und durchnummeriert. So muss man einfach Glück haben beim Suchen, indem man eine beliebige Zahl bei "Level" eingibt und das solange, bis man ein Level des gesuchten Autors erwischt, um dann mit kleineren Schritten das Problem zu finden, dessen Lösung man gerne erfahren möchte. Das ist ein wenig unpraktisch.
Der Level-Löser von Paul Voyer enthält als feines Bonbon noch einen Level-Editor, mit dem man eigene Aufgaben konstruieren und auch gleich testen kann. Leider scheint das Programm im Moment irgendeinen Fehler zu haben, da es auf meinen Computern nicht angezeigt wird und sie sogar abstürzen lässt.

Wie man meinen bisherigen Ausführungen entnehmen kann, sollte man keine Problemstellung zu lösen versuchen, dessen Autor nicht bekannt ist; denn in solchen Fällen kann man sich sehr schwer tun, Hilfe zu bekommen, wenn man beim Lösen in eine Sackgasse geraten ist.
Ich empfehle deshalb, alle Spiele zu meiden, die die Autoren, Levelset-Namen und die Nummern der verwendeten Aufgaben nicht angeben! Man spart sich so eine Menge Frust, wenn man die Probleme ernsthaft bewältigen möchte. Es gibt wirklich genug gute Spiele!

nach oben