Der Bereich der Spieleprogrammierung erfreut sich eines immer stärkeren Interesses bei Programmierern, doch die Auswahl der Bücher ist begrenzt. So ist es erfreulich, dass 3-D Spielerprogrammierung mit DirectX in C/C++ von Stefan Zerbst hält, was es verspricht. Das Buch ermöglicht auch dem Einsteigern einen umfangreichen und gut strukturierten Einblick in die Welt der Spieleprogrammierung mit DirectX. Der Autor nimmt den Leser bei der Hand und führt ihn sicher an allen Fallstricken vorbei, die ein so komplexes Thema mit sich bringt. Beginnend mit einer kompakten Einführung in C/C++ (allerdings mit einem klaren Fokus auf C) werden die Grundprinzipien der Windows-Programmierung und der COM-Technologie erklärt (auf der DirectX aufbaut). Das Buch veranschaulicht den Gebrauch der Direct-Draw-, Input- und Sound-Komponente, die in einem ansehnlichen 2D-Spiel, das zuvor konzeptionell vorbereitet wird, zur Anwendung kommen. Nach dieser Aufwärmübung erschließt sich die ersehnte bunte 3D-Welt dann über die Direct-3D-Komponente. Diese wird zusammen mit der nötigen Mathematik und den Grundlagen der 3D-Grafik dem Leser langsam näher gebracht. Während der ausführlich dokumentierten Entwicklung eines respektablen 3D-Weltraumshooters werden nebenbei auch noch einige einfache aber wirkungsvolle Spezialeffekte vorgestellt, die einem 3D Spiel erst die richtige Würze geben. Das Buch schließt mit einer kurzen Einführung in einige KI-Prinzipien. Insgesamt ist 3-D Spielerprogrammierung mit DirectX in C/C++ ein gelungener Wurf für den interessierten aber weniger erfahrenen Leser, der sich in dieses Thema einarbeiten möchte. Ein Wermutstropfen sind jedoch die spärlichen und lieblosen Abbildungen sowie die vielen Syntax- und Kommafehler, die das Lesen teilweise erschweren. Extrem nützlich (eigentlich essenziell) wäre das Vorhandensein einer beiliegenden CD mit den im Buch abgedruckten Kodebeispielen, die man sich jedoch über das Internet herunterladen kann. Diese Mängel werfen einen leichten Schatten auf das ansonsten empfehlenswerte Buch. --Alexander Lucas Quelle:
|