Moin,
ich habe mir mal (warum auch immer...) ein paar der "Spiele" angeschaut, die sich auf Cascade's Cassette 50 finden lassen. Eine "berühmte" Spielesammlung mit 50 in BASIC programmierten Spielen, die allesamt komplette Grütze sind. Das Aushängeschild der Sammlung ist Maze Eater. Jedenfalls sollte es das sein, denn es ist das erste Spiel auf der Kassette bzw. Diskette. Es ist ein verunglückter Pac-Man-Klon, schnarchlahm und voller Fehler. Immerhin hat es eine eigene Idee, aber die ist blödsinnig (siehe unten).
Im ersten Schritt dachte ich, dass das Spiel vielleicht spielbarer wird, wenn man es kompiliert. Ein bisschen stimmt das auch, aber es ist dann immer noch Grütze. Nur eben schnellere Grütze.
Dann habe ich mir Spiel und Quellcode mal genauer angeschaut, um zu sehen, was man tun müsste, damit es nicht mehr ganz so furchtbar ist. Erstmal natürlich die Fehler beheben, die da wären:
- Im Introscreen soll die Spielfigur das Logo des Spiels auffressen, vergisst aber die letzen beiden Zeilen.
- Im zweiten Spieldurchlauf werden im Introscreen Teile des Bildes von einem schwarzen Spriteblock überlagert.
- Im Spiel sind die Sprites der Länge nach gestreckt und passen dadurch überhaupt nicht ins Labyrinth. Steuern wird zur Glücksache.
- Die Sprites des Geistes sind, durch einen Tippfehler in den DATA-Zeilen (. statt ,), kaputt. Deswegen wird die eigentlich vorhandene Augenanimation gar nicht benutzt, ist im Code aber in Fragmenten noch sichtbar.
- Die Kollisionsabfrage schlägt manchmal fehl.
- Die Früchte sitzen so im Level, dass man die eigentlich nicht aufsammeln kann.
- Wenn der Geist blinkt und gefressen werden kann, flieht er nicht, sondern bewegt sich weiter auf den Spieler zu.
- Das Fressen von Geistern zählt wie das Sammeln eines Punktes, d.h. je mehr Geister man frisst, desto weniger Punkte muss man sammeln, um den Level zu beenden (das könnte auch ein Feature sein, wer weiß...).
- Der Aufruf der Spielschleife ist je nach Kontext mal mit GOTO, mal mit GOSUB, so dass nach mehreren Durchläufen (gut, die macht ja niemand, aber naja...) der Stack einige Leichen enthält, die nie mehr abgeräumt werden.
Als eigene Idee bringt das Spiel mit, dass das Labyrinth quasi in drei Stufen durchlaufen wird:
- ganz normal
- wie 1., aber man sieht nur noch die Pillen. Wände und Hintergrund sind schwarz (das könnte man noch als Feature durchgehen lassen...)
- wie 2., aber die Kollisionabfrage mit den Wänden ist abgeschaltet. Man stirbt hier dann, wenn man aus dem Bildschirm läuft (das ist nun wirklich Blödsinn).
Weiterhin hat das Spiel Komfortprobleme wie die zuppelige Steuerung und die Tatsache, dass man die Introanimation nicht abbrechen kann.
Die Idee war jetzt, ob ich an einem verlängerten Nachmittag daraus irgendwas spielbares basteln kann, ohne den Orginalcode zu sehr zu verändern. Also quasi: Hätte Cascade das mit etwas Aufwand und einem BASIC-Compiler so verbessern können, dass es nicht mehr komplette Grütze ist, sondern nur noch ein bisschen Grütze.
Das Ergebnis ist Maze Eater HD. Ich habe den Quellcode in seiner unnachahmlichen Wurstigkeit nicht groß verändert, sondern nur an den Stellen meine Änderungen reingehackt, wo es nötig war und versucht, die gröbsten Fehler zu korrigieren.
Primär heißt das:
- Introscreen korrigiert und überspringbar gemacht
- die Geistersprites korrigiert und für den Introscreen wiederbelebt
- die Animationen des Geistes im Spiel reaktivert
- die Spriteskalierung im Spiel korrigiert
- das Aufsammeln der Früchte korrigiert
- die Kollisionsabfrage korrigiert
- das Verhalten des Geistes korrigiert
- Punktezählung angepasst
- die Steuerung verbessert (immer noch nicht perfekt, aber für mich gut genug)
- die blödsinnige Idee mit dem Verdunkeln und der abgeschalteten Kollision ersatzlos gestrichen
- kleinere Änderungen, um das Spiel etwas besser spielbar zu machen
- Ergänzungen wie eine Game-Over-Anzeige und eine Anzeige für das Levelende
- Farbanpassungen
Das alles reingehackt in den bestehenden Kot Code...weil's so schön ist.
Das zeigt aber, finde ich zumindest, dass man bei Cascade mit nur etwas mehr Aufwand eine etwas bessere Compilation hätte zusammenstellen können. Aber naja, hat sich wohl auch so gelohnt.
Anmerkung: Es gibt anscheinend eine neuere Version von Cascades Maze Eater, die einige der hier genannten Punkte ebenfalls behebt...immerhin... Die habe ich aber nicht. Ich habe die erste als Basis verwendet.
Auf dem angehängten Diskettenimage ist die kompilierte Version meines angepassten Spiels (Maze Eater HD). Weiterhin eine kompilierte Version des Orginals (++Maze Eater) und das Orginal (Maze Eater) zum Vergleich.
Happy Eating (oder auch nicht...)!