Es ist mal wieder Zeit für eine Fachbuch-Rezi und wenn Du nicht entweder a) ein Nerd und/oder b) ein Kind der 80’er bist und/oder c) Dich für Spieleprogrammierung interessierst, kann diese Rezension nur dann für Dich interessant sein, wenn Du Menschen dieser Gattung ein bisschen besser verstehen wollen würdest – was immer eine gute Idee ist.
Worum geht’s
© Derek Morris |
Meine Meinung
Das Paperback mit seinen etwas über 120 Seiten im handlichen Format ist sehr ansprechend aufgemacht. Nicht zu grell, sondern im Gegenteil: Eher stilvoll mit vielen Retro-Elementen – von der einfachen Farbgestaltung bis hin zu den Schriftarten – hielt ich mit Retro Game Dev, der C64 Edition, ein Taschenbuch in der Hand, von dem ich mir versprach, schnell lernen zu können wie sich zwei der wichtigsten Spielekategorien auf dem sympathischen 8-Bitter umsetzen lassen: Plattformer und Space Shooter. Wem das nichts sagt: Spiele der ersten Kategorie scrollen meist von links nach rechts und der Spieler hüpft und springt durch die Level (z.B. Super Mario) und in Spielen der zweiten Kategorie scrollt der Bildschirm meist von oben nach unten und der Spieler ballert mit einem Raumschiff auf ganze Horden von Aliens. So. Alle Klischees bedient.
Das Buch besteht aus sechs Kapiteln. Angefangen beim “notwendigen Übel”, sprich: Was für Datentypen kennt der C64, wie funktioniert dessen Hardware und was ist Assembler, geht es direkt weiter mit einem Einstieg in die Entwicklung von Software für den C64 mittels moderner Entwicklungsumgebungen. Davon gibt es übrigens mehrere und sie alle laufen i.d.R. auf PCs. Sog. “Cross-Assembler” übersetzen dann den Code in Maschinensprache, die dann wiederum ein echter C64 versteht. Retro Game Dev setzt hier auf das CBM Prg Studio von Arthur Jordison. In dem Kapitel wird auch ein C64 Emulator vorgestellt (in diesem Fall VICE) und das grundlegende Framework erklärt, auf das die folgenden Spiele aufsetzen.
Hier habe ich auch meinen ersten Kritikpunkt: Auch wenn der Leser bis hier hin verstanden haben mag, wie versierte Softwareentwickler mittels Assembler und Opcodes in der Lage sind, irgendwie dem Computer zu sagen, was er zu tun hat, wird er kaum verstehen, was dieses Framework tut. Denn hier passieren zu viele Dinge praktisch gleichzeitig und das Buch nimmt sich kaum Zeit, sie zu erklären. Schade.
Das dritte Kapitel steigt dann direkt in die Entwicklung des Space Shooters ein. Es werden Sprites gezeichnet, vorgefertigte Projekte geladen (die es als Download auf der Website des Autors kostenfrei zur Verfügung stehen) und besondere Stellen im Quellcode in wenigen Sätzen erläutert. Wer es bis hierher nicht gemerkt hat: Das Ziel des Buches ist es nicht wirklich, bei einem Newcomer tatsächliches Verständnis all dessen, was er hier tut, zu bewirken. Dafür ist es zu kurz und versucht gleichzeitig zu viel zu zeigen. Allerdings wird das auch bereits zu Anfang deutlich, wenn Morris Empfehlungen zum Umgang mit dem Buch ausspricht: Assets herunterladen, vorgefertigte Programme starten und mit dem Code experimentieren.
Im vierten Kapitel folgt der versprochene Plattformer nach dem gleichen Rezept: Sprites zeichnen, Projekte aus dem mitgelieferten Archiv laden, Framework-Erläuterungen lesen, fertig.
Kapitel 5 wirkt auf mich wie eingeschoben. Es spricht über die Hardware und zeigt dabei Fotos von verschiedenen Versionen des C64, dem Original Monitor, Joysticks, Steckmodulen und mehr. Zusammen mit den jeweils drei bis vier Zeilen Erklärungstext erschließt sich mir hier kein Mehrwert.
Abschließend folgen mit dem sechsten Kapitel noch zwei Seiten mit einerseits einer Auflistung erweiterter Themen und einer Liste von Links zu interessanten Ressourcen andererseits (inkl. der aktuell wichtigsten Publisher für Retro-Spiele: RGCD, Psytronik und Protovision).
Natürlich ist es in der Tat so, dass der Leser dieses Buches zum Schluss zwei Spiele in den Händen hält, deren Code er selbst zusammengesteckt bzw. stellenweise erklärt bekommen hat. Ich bezweifle, dass er damit gelernt hat wie es wirklich funktioniert oder im Anschluss in der Lage wäre, selbst entsprechende Spiele zu entwickeln – geschweige denn, mit Hilfe von Retro Game Dev in die Spiele-Industrie einzusteigen, wie es der Klappentext groß mündig verspricht. Nur, das ist auch nicht wirklich das Ziel von Morris.
Denn die Entwicklung eines komplexen Computerspiels ist nun einmal eine wirklich aufwändige Angelegenheit und kaum in so wenig Seiten voll umfänglich darstellbar. Insofern leistet dieses Buch etwas sehr wichtiges: Einen Einstieg. Und genauso verspricht es ebenfalls der Klappentext. Ohne zunächst 100 Video-Tutorials sehen zu müssen, 30 Fachbücher zu lesen, oder Informatik zu studieren hat der Leser nun einmal innerhalb kürzester Zeit – dank vorgefertigter Bausteine – zwei kleine Spiele in der Hand und das Gefühl, sie ein wenig selbst programmiert zu haben. Für einen Commodore 64. Im 21. Jahrhundert. Großartig! Und dabei ergänzt Morris dann und wann immer mal wieder kleine Aufgaben, die den Leser dazu ermutigen, von den Bausteinen etwas abzuweichen und Code nach eigenem Gusto zu verändern.
Zusätzlich bietet er auf seiner Website ein Forum an, in dem sich die Leser über das Buch unterhalten können, Tipps austauschen oder Fragen stellen. Er selbst bietet dort kostenlos persönlichen Support an.
Fazit
Wenn ich persönlich Retro Game Dev als zu oberflächlich empfinde, dann höchstens deshalb, weil ich selbst Wurzeln in der Spiele-Industrie habe und mir an vielen Stellen einfach mehr “Butter bei die Fische” gewünscht hätte. Auf der anderen Seite berücksichtige ich natürlich aber auch die eigentliche Zielgruppe und in dieser Hinsicht wiederum denke ich, hat Morris voll ins Schwarze getroffen! Einzig die Zusatzkapitel hätten ausführlicher ausfallen können und wenn er schon bewusst wenig ins Detail geht, hätte ich mich über Vorstellungen anderer Projekte gefreut, die diese Lücke füllen (z.B. 64bites.com).
Alles in allem ist dieses Buch dennoch ein gelungener Einstieg für alle, die es (noch) mal wissen wollen. Von mir gibt es dafür 4 Sterne und eine Kaufempfehlung!