Neue Spiele für alte Hardware
In der Szene genießen zahlreiche Spieleklassiker den Ruf auch heute noch Freude zu machen. Doch wie viel Spaß beispielsweise die Great Giana Sisters oder Turrican auf dem C64 auch bereiten, so ist die Szene auch sehr an neuen Spielen interessiert. Aus diesem Grund und vom Reiz angetrieben, ob für die alten Maschinen noch etwas Neues erschaffen werden kann, kreieren findige Programmierer wieder verstärkt für nostalgische Heimcomputer. Auf der vergangenen 9. Langen Nacht der Computerspiele in Leipzig verriet uns Ernst Neubeck von Inc-X Software welche Zutaten man braucht, um für den C64 neue Spiele zu programmieren. Er stellte sein Homebrew Spiel Phase Out vor und zeigte interessierten C64 Programmierern sein Entwickler-Kit, mit dem er auch sein Projekt realisierte.
C64 Programmierung im Phase Out Entwickler-Kit
Um sich eine angenehme Entwicklungsumgebung zu schaffen und seine Programmieraufgabe zu vereinfachen, stellte Ernst Neubeck drei Tools zusammen. An erster Stelle stand dabei das CBM .prg Studio. Mit Hilfe dieses Cross-Development Tools kann auf Windows Maschinen für den 64er programmiert werden:
Ich bin Anfang 2012 über dieses CBM Program Studio gestolpert – für Windows. Ich habe dann ein bisschen ausprobiert und habe gesehen ‚oh das ist ja total easy‘ – also easy vom Handling her.
Das schöne ist, man benutzt die Windows Power und die PC Rechen-Power. Das heißt die Kompilierzeit ist sehr kurz. Auf Tastendruck wird dann automatisch das Programm in den Emulator transferiert und dort gestartet. Das ist super bequem und man kann sofort sehen ‚oh man, was hab ich für einen Sch.. programmiert‘ (lacht) oder ‚oh, sieht doch ganz nett aus‘.
Wer sich sein eigenes Entwickler-Kit bauen möchte, erhält das CBM Program Studio kostenlos auf den Seiten des britischen Herstellers zum Download. Hat man dann einmal begonnen erste Programmzeilen zu schreiben, möchte man diese natürlich immer wieder ausprobieren. Das CBM Program Studio bietet hier die Einbindung des kostenlosen Versatile Commodore Emulators (WinVICE) zum direkten Test eines fertig kompilierten Quellcodes. Ideal zur Kontrolle ob man z.B. das gerade bearbeitete Problem lösen konnte oder der Quelltext funktioniert. Ernst Neubeck erzählt, dass er zunächst 80% des Spiels schrieb und nur im Emulator testete, bevor begann auf reale Hardware zu wechseln. Neubeck war dabei erstaunt, wie perfekt die Emulation mit WinVICE funktionierte und kaum Probleme auftraten, die dem Emulator zuzuschreiben waren.
Der dritte Bestandteil seines Kits ist ein Stück Hardware mit dem Name Cassiopei. Cassiopei ist ein Akronym und steht für Cassette Input Output Peripheral Expansion Interface und stellt die Brücke zwischen den unterschiedlichen platform-interfaces her. Wie sich vom Namen bereits ableiten lässt, wird der kleine Adapter an den Datasetten Port angeschlossen und dient zur einfachen und vor Allem schnellen Übermittlung der Programmdateien auf den C64. Bis zu 50-fache Geschwindigkeit im Gegensatz zur klassischen Datasette. Mittels eines USB Ports erhält das Cassiopei seine Daten vom Windows PC. Die integrierten 8MB Speicher mögen sich nach wenig anhören, sind jedoch für die Verwendung am C64 mehr als ausreichend. Genügend Platz also, um zahlreiche Versionen einer selbst erstellten Anwendung zu speichern sowie zahlreiche weitere C64 Programme, Spiele und Tools.
Der mitgelieferte Windows Datasetten Manager regelt die Übermittlung zum Cassiopei. Am C64 gibt es ein einfaches Auswahlmenü, über das man zuvor kopierte Programme ganz einfach startet. Das Cassiopei ist auf der Webseite des niederländischen Entwicklers Jan Derogee für ca. 50,- Euro bestellbar und wird auch nach Deutschland geliefert.
Warum heutzutage noch C64 Spiele programmieren?
Es ist eine immer wieder aufkeimende Frage: wieso beginnt jemand damit, eine Entwicklungsumgebung für den C64 zusammen zu stellen, um damit für diese alte Plattform neue Spiele zu schreiben. Ernst Neubeck nennt dafür mehrere Beweggründe, wieso er sein Programmierbuch wieder herausgeholt hat, um nach 25 Jahren erneut in Assembler und C64 BASIC zu coden.
Ich hab mir gedacht ‚mhm, kann ich es denn noch?‘ Das ist so eine Frage die hat man, gerade in meinem Alter. Mein letztes Projekt war 1988 – da ist natürlich eine ganz lange Zeit verstrichen – und da fragt man sich ‚kann ich es noch?‘ Aber man kann es! Eigentlich ist es wie Radfahren. Sie werden sicherlich auf den ersten Metern ihre Probleme haben in der Spur zu bleiben, aber dann, nach den nächsten 10 Metern, können sie fast schon wieder freihändig fahren. Und genauso ist es beim Programmieren. Es steckt irgendwo im Langzeitgedächtnis und von dort kommt alles wieder hervor.
Dann ging es mir darum: ‚Ist es für mich eine neue Chance?‘ Eine neue Chance deswegen, weil 1988 gab es super C64 Programme. Die Programmierer waren auch wesentlich besser als ich. Bei einer Software-Firma zu arbeiten, bei Rainbow Arts z.B., das war unmöglich. Die haben nur die Besten der Besten genommen. Man überlegt nach 25 Jahren: hätte ich das vielleicht intensivieren müssen oder können? Ich habe mich für mein Projekt entschieden, denn es ist tatsächlich eine neue Chance! Der Markt ist jetzt relativ übersichtlich, aber es gibt immer noch Leute die Spiele [für den C64] mögen und wollen. Und nicht nur als digitalen Download, sondern auch als physisches Medium. Mein Spiel wurde z.B. als Cartridge, also als Modul, für den C64 veröffentlicht, als Diskettenversion und als Kassettenversion. Da kann man sich jetzt Fragen: Kassette? Ja, denn die Engländer bauen ihre Sammlung nur auf Datasette auf. Und deswegen wurde Phase Out auch als Kassettenversion entwickelt bzw. produziert. Es ist zwar eine neue Chance, aber reich wird man nicht, das ist klar. Ich habe es zumindest geschafft meine Kosten wieder einzuspielen. Kosten z.B. für die Cassiopei. Wenn man an ein solches Projekt heran geht, sollte man niemals vom Geld-Gedanken getrieben sein, das kann man knicken. Das bringt gar nichts. Wichtig ist immer: es muss Spaß machen. Der Spaßfaktor muss immer im Vordergrund stehen. Wenn sie erst einmal so ein physisches Medium haben, das nimmt ihnen keiner mehr weg! Das sind schöne Erinnerungen, auch für die Kids irgendwann mal später.
Und letztlich ist es auch die Machbarkeit. Ich habe zunächst einen Prototyp geschrieben. Also eine Machbarkeitsstudie, ob ich es tatsächlich hin bekomme. Und es ging recht gut! Wenn man wieder neu einsteigt, ist es glaub ich ein guter Weg einmal einen kleinen Prototypen zu schreiben, bevor man sich in die Aufgabe des kompletten Programms ‚reinschmeißt. Man darf das aber trotzdem nicht unterschätzen: wenn man einen Prototypen schreibt, heißt das noch lange nicht, dass man es schafft ein komplettes Produkt zu machen.
Keine Homebrews ohne Probleme
Ein eigenes Projekt komplett fertig zu stellen ist schwierig. Man kämpft mit technischen Hürden, fiesen Bugs und der eigenen Motivation. Ernst Neubeck berichtet deswegen von der langwierigen Entwicklungszeit und den damit verbundenen Schwierigkeiten, die in dieser Form auch bei anderen Programmier-Projekten auftreten können:
Die Entwicklungsdauer [von Phase Out] war ein Jahr. Natürlich habe ich nicht Vollzeit an dem Spiel gearbeitet. Ich bin zwar im medizinischen Bereich Software Entwickler, aber das ist natürlich mein Hauptjob und hat mit dem C64 gar nichts zu tun. Deswegen konnte ich nur an zwei oder drei Tagen in der Woche für zwei oder drei Stunden daran arbeiten. Auch nicht regelmäßig jede Woche, weswegen sich das natürlich in die Länge gezogen hat. Das darf man nicht unterschätzen.
Probleme gab es an allen Ecken und Enden. Das Hauptproblem war der maximale Speicherplatz von 16KB. Da das Spiel im Rahmen der RGCD Cartridge Development Competition entstand, sollte das Spiel am Ende als Modul herauskommen. Die Standard Module haben aber nur ein Speichervermögen von 16 Kilobyte, d.h. man muss eben sein Spiel PLUS die Levels da ‚reinpacken können! Das war eine Herausforderung bei 50 Levels! Man muss dann schon tricksen, z.B. nicht die kompletten Levels abspeichern, sondern nur die Positionen der Steinchen.
Bugs sind ein besonderes Thema. Ich hatte einen ganz hässlichen Bug – jetzt kann ich es ja erzählen, weil alle 50 Module mittlerweile verkauft sind (lacht). Es war möglich, den Level erfolgreich zu beenden, obwohl kein passendes Pärchen an gleichfarbigen Gems mehr vorhanden war. Das geht normalerweise nicht. Ein hässlicher Bug den ich in Version 1.2 dann auch gleich gefixt habe, aber das war natürlich zu spät für die Produktion. Die Cartridges haben leider diesen Bug drin.
Testen ist auch ein Problem, weil ich als Entwickler ja programmieren und nicht die ganze Zeit die Levels testen will. Das ist mein Tipp: ein separater Tester der nichts anderes macht als die ganzen Levels zu testen. Ich erspare mir unheimlich viel Zeit damit und das kommt der Entwicklung zugute. Außerdem denkt ein Programmierer anders. Er wird die wenigsten Fehler finden, weil er weiß, wie das Spiel funktioniert. Derjenige der das nicht weiß, der wird auf Fehler treffen, die der Programmierer nie erkennen würde.
Als letztes ist noch die Motivation zu nennen. Die Motivation ist ein großes Problem, denn die muss ja hoch gehalten werden. Mein Tipp ist, sich pro Woche ein kleines Ziel zu nehmen: die eine Funktion, die möchte ich jetzt schreiben. Diese kleinen Schritte sind die Entscheidenden. Die bringen dann am Schluss mehr Zeit. Wenn ich mit externen Leuten arbeite, dann ist es immer ein Motivationsschub, wenn ich fertiges Material erhalte. Grafiken oder Musik die ich einbauen kann. Dann merke ich: ‚oh das hört sich gut an‘ oder ’sieht klasse aus‘. Noch besser ist es im Team zu arbeiten. Zwei oder drei Leute halten die Motivation immer hoch. Motivation ist ganz wichtig, daran scheitern ganz viele Projekte.
Phase Out – Gehirn-Jogging am C64
Phase Out ist ein typischer Tile-Matching Puzzler und vergleichbar mit Oracle oder dem C64 Homebrew-Bejeweled-Clone Zoo Mania. Ernst Neubeck betont, dass man diese Art der Spiele natürlich mögen muss. Für ihn war es das erste Homebrew-Projekt nach 25 Jahren C64 Programmier-Abstinenz. Am Ende zählt für ihn der Gedanke ein schönes Spiel erschaffen zu haben, dass auch anderen Gamern Freude macht. Und das nicht nur als digitale Fassung, sondern auch als greifbare Cartridge und Datasette, die man irgendwann seinen Enkeln zeigen kann.
Die PAL & NTSC Version von Phase Out mit allen 50 Levels gibt es hier für 1,49 Euro als digitalen .PRG Download. Eine kostenlose 7-Level Demo ist ebenfalls erhältlich. Zudem sind hier noch einige C64 Disketten und Kassetten erhältlich und ein Nachfolger ist auch schon in Planung.
-Cat
Quellen: alle Bilder zum Phase Out Entwicklungs-Kit mit freundlicher Genehmigung von Ernst Neubeck. Alle Zitate entstammen von Ernst Neubecks Vortrag ‚Neue Spiele für alte Systeme‘ und persönlichen Gesprächen von der Langen Nacht der Computerspiele 2015 Leipzig.
[…] stellten wir mit der Phase Out Entwicklungsumgebung ein Tool zum Cross-Platform-Development vor. Obwohl sich dieses hervorragend zur Entwicklung […]
[…] neuen Spiele und Entwicklungen. Wir berichteten beispielsweise vergangenes Jahr über ein neues C64 Spiel, interviewten den Schöpfer von Battle Wizard Attack und berichteten im Artikel „C64 Spiele […]
[…] programmieren und bedienen sich dazu cleverer Techniken, wie wir z.B. wir bereits beim C64 Puzzler Phase Out sahen. Doch auch Christian hat einen Trick, den er mir […]