Jeder Architekt muss die Grundlagen der Statik lernen, kein Arzt kommt ohne das Studium der menschlichen Anatomie aus, für einen Koch ist es unumgänglich, die einhundert Grundrezepte zu beherrschen. Dies alles sind „alte“ Berufe, die sich über Jahrhunderte hinweg entwickelt haben. Die Informatik dagegen ist ein junges Arbeitsfeld, ist es doch gerade einmal siebzig Jahre her, dass die erste frei programmierbare Rechenmaschine ihren Dienst aufgenommen hat. Aber auch in diesem Fach hat sich eine Grundlagendisziplin herausgebildet.
Zum Thema der Veröffentlichung gibt es ein relevantes Standardwerk: „Design Patterns: Entwurfsmuster als Elemente wiederverwendbarer objektorientierter Software“ von den Autoren Gamma, Helm, Johnson und Vlissides. Diese werden oft als „Gang of Four“ bezeichnet. Die dort aufgeführten Muster wendet Robert Nystrom im vorliegenden Buch auf Beispiele aus der Spieleprogrammierung an.
Insgesamt behandelt der Autor 19 Patterns, die er in fünf Kategorien einteilt. Grundlagen, Sequenzierung, Verhalten, Entkopplung und Optimierung sind die Hauptthemen, denen jeweils mehrere Elemente zugeordnet sind. Alle Beispiele sind in der Programmiersprache C++ aufgeführt.
Die wichtigen und geläufigen Muster werden zuerst behandelt. Dabei zählt Nystrom konkret die Anwendungsfälle sowie Vor- und Nachteile auf. Die Beispiele beschränken sich auf die Präsentation der Kernidee. Implementierungsdetails, die nicht dem Verständnis dienen, überspringt er großzügig.
Zum Ende des Buches werden die aufgeführten Elemente spezieller auf das Ziel Game-Entwicklung zugeschnitten. Der Autor beschreibt ausdrücklich, dass einige der Entwurfsmuster bei der heute üblichen leistungsstarken Hardware außerhalb von zeitkritischen Anwendungen kaum mehr Sinn ergeben.
Leider endet das Buch nach dem letzten erläuterten Muster abrupt. Es gibt keine Zusammenfassung, kein Nachwort, keine Empfehlungen für die Verwendung oder zur weiteren Lektüre. Das trübt das positive Gesamtbild für mich ein wenig. Weiter hatte ich den Eindruck, dass die finalen Kapitel unter Zeitdruck entstanden sind und nicht mehr mit der gleichen Hingabe formuliert sind.
Insgesamt hat mir der Ansatz von Nystrom sehr gut gefallen. Die trockene Theorie ist mit der Praxis aus einem speziellen, eng begrenzten Gebiet verknüpft. Sein Erzählstil ist locker und dennoch bestimmt, so fällt es nicht schwer, die tatsächliche Anwendung der Regeln zu begreifen. Grundkenntnisse in der objektorientierten Programmierung und in der Programmiersprache C++ werden vorausgesetzt. Das Ziel der Veröffentlichung ist meiner Meinung nach erreicht, ich habe das Werk gerne bis zum Ende gelesen.
Fazit
In dem Buch „Design Patterns für die Spieleprogrammierung“ stellt Robert Nystrom Entwurfsmuster der objektorientierten Softwareentwicklung vor. Er wendet die Theorie auf die besonderen Begebenheiten von Computerspielen an. Anhand von Beispielen erläutert er die Vorteile der jeweiligen Methoden, zeigt aber auch Grenzen und Nachteile auf. Dem Autor gelingt die praktische Veranschaulichung der trockenen Materie. Hätte er die Ausführungen mit Urteil und Empfehlungen abgeschlossen, könnte ich das Werk glatt mit „sehr gut“ bewerten.