Spiele gehören zu den wohl komplexesten Anwendungen auf heutigen Computern. Doch interessanterweise sind es gerade sie - und der Wunsch, ein solches selbst zu erstellen -, die viele Menschen dazu bringen, sich überhaupt mit Programmiersprachen zu beschäftigen. Sie werden in der Regel schnell desillusioniert, wenn sie den hohen Aufwand der Spieleprogrammierung erkennen. Denn auch wenn heutige Programmiersprachen sehr leistungsstark und komfortabel sind, es gehört doch ein hohes Abstraktionsvermögen und viel Konzentration dazu, das Programmieren zu erlernen - vor allem mit einer Hochsprache wie C oder C++.
Den angehenden Spieleprogrammierer an die Hand nehmen, möchte Lennart Steinke, selbst Spieleentwickler seit zwei Jahrzehnten. Er hat ein umfangreiches Kompendium zur Spielentwicklung vorgelegt, das den Leser von der Pike auf mit den Grundprinzipien eines Spieleprojekts vertraut macht. Dabei bezieht Steinke auch theoretische Überlegungen mit ein und legt den Fokus (und das inoffizielle Zwischenziel) auf die Entwicklung eines Rollenspiels.
In fünf große Kapitel ist das Buch gegliedert. Der Autor beginnt mit dem Design-Prozess, in dem sich ein Entwickler schon vor dem eigentlichen Programmierprozess Gedanken über Inhalt, Struktur, Spielbarkeit, Balance und Zielpublikum macht. Von Tipps zur Entwicklung origineller Ideen über die Verwendung von mythologischen Erzählstrukturen, Austesten verschiedener Rätsel- und Puzzlearten bis hin zur Planung des Spieleprojekts gibt Steinke mehrere interessante Denkanstösse. Teil 2 nennt sich dann "Easy Coding", denn hier geht es ans Eingemachte - an die Erlernung der wichtigsten Programmierroutinen, von der Daten- und Variablenverwaltung über Grafik- und Spriteprogrammierung bis zum Soundeinsatz. Steinke geht hier übrigens nicht von einem "blutigen Anfänger" aus, sondern erwartet ein gewisses Vorwissen. Ein C/C++-Grundkurs sollte diesem Buch deshalb vorausgehen, sonst bleibt man rasch auf der Strecke. Teil 3 unterstützt den frischgebackenen Spieleprogrammierer dann bei der Entwicklung eines Tile-based-Map-Rollenspiels, das sich relativ unaufwendig erstellen lässt und bereits viel Potential in sich trägt. Teil 4 wiederum dient der Vertiefung und Verfeinerung, da hier kompliziertere Programmiermanöver (isometrische Karten, 3-D-Grafiken, Einbindung der Scripting-Sprache Lua und anderer Bibliotheken) vorgestellt werden. Teil 5 ist dann der obligatorische Anhang mit Glossar und Index. Natürlich gibt es auch eine CD-Rom, auf der alle Codes (und die dazugehörigen Programme, allesamte Freeware) mitgegeben werden.
"Spieleprogrammierung" ist damit ein solider Begleiter für alle, die sich einmal selbst an die Erstellung eines Strategie-, Rollen- oder Actionspiels machen wollen. Dass dies natürlich immer noch eine harte Arbeit ist, kann und will der Autor nicht verhehlen; nicht ohne Grund trägt er dem Leser nicht alles auf dem Silbertablett hinterher, sondern fordert Eigeninitiative und auch ein gewisses Vorwissen. Dies ist also kein "Spieleprogrammierung for Dummies", sondern ein anspruchsvolles DO-it-yourself-Kompendium, das sich durch prägnante Sprache und einen überzeugenden Aufbau auszeichnet. Empfehlenswert!