Jun 17 2008
Leisure Suit Larry als JS-Game
Der Portugiese António Afonso lässt einen alten Spieleklassiker als Javascript-Spiel im Browser aufleben. Die Rede ist von Sierra’s witzigen Erotik-Adventure Leisure Suit Larry in the Land of the Lounge Lizards aus dem Jahre 1987 (1991 VGA-Neuauflage).
Um dieses Stück PC-Spielegeschichte browserseitig umzusetzen, machte sich Afonso zuerst daran die Spieleengine AGI (Adventure Game Interpreter) in Javascript zu portieren. Die Engine dient sowohl zum Steuern des Spielecharakters Larry Laffer mittels Pfeiltasten als auch zum Ausführen der in die Konsole eingegebenen Befehle.
Die Spielegrafik wurde in png-Dateien exportiert. Alles weitere wird vom JS-Interpreter mit Hilfe einer XML-Datei übergeben. Die Logik wurde in Javascript-Code konvertiert, wobei sich einige Abschnitte, wie Afonso meint, nur schwer übertragen ließen und weiterer Optimierung bedürfen.
Die JS-Implementierung ist weder vollständig und noch absolut stabil. Einige Features des Originalspiels fehlen und manchmal stürzt der Browser einfach ab oder bringt kryptische Fehlermeldungen
Extrem nervig erscheint mir der Jugendschutz des Spiels, der darin besteht 5 Fragen zu beantworten, die nur Erwachsene wissen (könn(t)en). Ich muss zugeben, dass ich nur 1/4 der dort gestelten Fragen ohne irgendwo nachzuschauen richtig beantworten konnte.
Um häufige Wiederholungen zu vermeiden, worden reichlich (>100) Fragen integriert. Für Nicht-Amerikaner führt dies leicht zu Frust. Zum Glück kann man mit der Tastenkombination ALT+X den „Schutzmechanismus“ überspringen.
Um es allen etwas leichter zu machen, die mit dem Spiel und dessen Konsolenbefehlen nicht vertraut sind, will ich hier eine (womöglich unvollständige) Auflistung mit auf dem Weg geben:
- ASK, BEAT, BITE, BRIBE, BURN, BUY, CALL, CARRY, CHANGE, CLEAN, CLIMB, CLOSE, CRAWL, DANCE, DIVE, DRINK, EAT, ENTER, ESCAPE, EXIT, FACE, FIX, FLIRT, FRESH,
- GET, GIVE, GRIP, HEAR, HELLO, HELP, HIT, HOLD, HUG, JUMP, KICK, KISS, KNOCK, LAUGH, LEAP, LEAVE, LET, LIFT, LIGHT, LISTEN, LOAD, LOCK, LOOK, MOVE,
- NAME, NORMAL, OPEN, ORDER, PAY, PLAY, POCKET, PRESENT, PULL, PUNCH, PUSH, READ, REST, RUN, SEARCH, SEE, SHAKE, SHOUT, SHOW, SHMELL, SPEAK,
- SPEND, SPILL, SPRAY, STEAL, SWING, TAKE, TALK, TASTE, TELL, THANKS, THROW, TOUCH, TURN, UNLOCK, WAIT, WALK, WAVE, WINK
Derzeit hat Afonso die Arbeiten Larry unterbrochen um sich auf voll und ganz auf seinen Studienabschluß zu konzentrieren. Anschließend will er sich den Bugs widmen.
Ich halte die Umsetzung für eine sehr coole Sache und für sehr innovativ. Mittelfristig werden, meiner Meinung nach, einige interessante Javascript basierende Spielengines das Licht der Onlinewelt erblicken. Wir sehen erleben gerade erst deren Geburtswehen, die erahnen lassen, was in Zukunft möglich wird.