Ich habe schon als Kind gerne geschrieben – hauptsächlich Abenteuergeschichten. Als ich meine Leidenschaft für das Programmieren von Computerspielen entdeckte, fing ich auch an Tutorials zu schreiben – kleine Anleitungen zu bestimmten Themen der Spieleprogrammierung. Damals war das Internet noch ein viel kleinerer Ort als heute. Insbesondere im deutschsprachigen Bereich gab es nur sehr wenige Ressourcen für Anfänger. Bücher über DirectX oder OpenGL (sehr wichtig für 3D-Grafik) gab es höchstens auf Englisch. Das SDK für DirectX gab es auch noch nicht zum Herunterladen, da es zu groß für damalige Verhältnisse war (Internetzugang über 56k-Modem). Man musste es bei Microsoft anfordern und bekam es auf einer CD zugeschickt (ich weiß noch sehr gut, wie aufgeregt ich war, als diese CD endlich im Briefkasten war). Des Englischen nicht wirklich mächtig, ohne solide C++-Kenntnisse und ohne Online-Ressourcen musste ich mir mit viel „Trial & Error“ fast alles selbst beibringen (meine naiven Anfragen bei diversen Spielestudios, wie das denn mit der 3D-Grafik funktioniert, blieben allesamt unbeantwortet).
Irgendwann – es muss 2001 oder 2002 gewesen sein – kam ich auf die Idee, aus meinen Tutorials zur Spieleprogrammierung ein ganzes Buch zu machen. Ich hatte schon immer davon geträumt, ein Buch zu schreiben, und so fing ich einfach mal an ein paar „Demo-Kapitel“ zu zusammenzustellen. Diese schickte ich an den Carl Hanser Verlag (ich weiß nicht mehr, ob ich es auch noch an andere Verlage geschickt habe). Damals war mir nicht klar, dass ich mit dem Carl Hanser Verlag direkt einen der renommiertesten Fachbuchverlage angeschrieben hatte – ganz schön gewagt für den ersten Versuch! Doch die Wette ging auf – ich hatte scheinbar Interesse beim Verlag geweckt. Ein sehr freundlicher Lektor, Herr F. Schneider, meldete sich bei mir. Er sah zwar keine überwältigenden Verkaufszahlen, aber das Thema Spieleentwicklung war für den Verlag ein ganz Neues, und sie wollten gerne dort einsteigen. Er nahm mich mit nach München in den Verlag, und ich bekam meine Chance und einen Autorenvertrag. Es war eine sehr aufregende Zeit. Ich stand damals kurz vor dem Abitur, aber irgendwie habe ich es trotzdem geschafft das Manuskript rechtzeitig fertigzustellen (heute wäre so ein Spagat für mich undenkbar). Geschrieben habe ich es mit Microsoft Word. Der Verlag hatte es geschafft, Word mit diversen Makros und Formatvorlagen auf das Wesentliche herunterzubrechen. LaTeX wurde erst viel später eingeführt. Als das Manuskript fertig war, wurde der riesige Papierstapel (ca. 800 Seiten) zu einer Korrektorin geschickt. Diese schaffte es in atemberaubend kurzer Zeit fast alle Fehler und Unschönheiten aufzuspüren, und ich hatte dann nochmal ein paar Wochen Zeit, um die Änderungen einzuarbeiten, bevor das Buch in die Produktion ging. Auch für die beiliegende CD musste ein „Master“ abgegeben werden. Dann begann das Warten. Eines Tages lag mein erstes Exemplar in der Post, gefolgt von einem ganzen Stapel weiterer Autorenexemplare. Nun wurde es spannend: Wie würde sich das Buch verkaufen? Ich hatte fleißig Werbung auf meiner Website und in meinem Forum gemacht. Das Forum war auch als Support-Forum für die Leser des Buches gedacht. Ich habe noch den Moment in Erinnerung, als mich Herr Schneider anrief und mir die ersten Zahlen mitteilte. Ich konnte es kaum glauben, aber es waren nach kurzer Zeit schon an die 500 Stück verkauft worden. Die folgenden Verkaufszahlen übertrafen sowohl meine Erwartungen als auch die des Verlages. Das Thema schien Potenzial zu haben. Das Forum wurde immer voller, und die Reaktionen auf das Buch waren überwiegend sehr positiv, was mich sehr stolz und glücklich machte. Schnell kam das Thema einer zweiten Auflage auf. Dies gab mir auch die Gelegenheit einige Fehler aus der ersten Auflage zu korrigieren und neue Inhalte hinzuzufügen, die es damals aus Zeitgründen nicht mehr ins Buch geschafft hatten. Es gab dann auch schließlich noch eine dritte Auflage.
Spieleentwicklung und Technologien wie DirectX sind sehr schnelllebige Themen, und so war mein Buch nach einigen Jahren technisch überholt. Mittlerweile gab es DirectX 10, was sich von der Vorgängerversion, die mein Buch behandelte, so fundamental unterschied, dass es mit ein paar Änderungen nicht getan gewesen wäre. Außerdem hatte ich mich natürlich auch weiterentwickelt, was meine „Programmierkünste“ angeht. Der Verlag hätte gerne noch ein weiteres Buch herausgebracht, und tatsächlich fing ich auch an zu schreiben. Irgendwann verließ mich jedoch die Motivation, wie es auch bei gefühlten 90% meiner Spieleprojekte passiert ist. Das ca. 120 Seiten starke Kapitel über 3D-Grafik ist jedoch fertig geworden, und damit es nicht „für die Katz“ war, biete ich es hier zum Download an. Dazu gehören noch die Lösungen zu den Übungsaufgaben. Mein altes Buch gibt es mittlerweile nur noch gebraucht oder als eBook zu kaufen.
Links
- Support-Forum für das Buch auf spieleprogrammierer.de
- Juli 2017: Update-Paket für die Kompatibilität mit Visual C++ 2017 und dem DirectX-SDK von Juni 2010
- Amazon-Produktseite zur dritten und letzten Auflage (Bezahlter Link. Als Amazon-Partner verdiene ich an qualifizierten Käufen.)
- Kapitel über 3D-Grafik eines nie fertiggestellten zweiten Buches und die Lösungen zu den Übungsaufgaben
Videos
Hier sind ein paar Videos des Spiels Galactica, das im Buch entwickelt wird:
Screenshots
Hier sind einige Screenshots aus den Beispielprogrammen und -spielen, die im Buch entwickelt werden:
Hi David! Es freut mich sehr, über die Entstehungsgeschichte des Buches zu lesen.
Ich habe Dein Buch gelesen als ich 13 Jahre alt war und damit über die wundervolle Welt der Computergraphik gelernt 🙂 Vielen Dank dafür!
Nun habe ich meine Bachelorarbeit in dem Bereich geschrieben und freue mich darauf, vielleicht bald in dem Gebiet arbeiten zu können 🙂
Diese Screenshots aus dem Buch wecken bei mir richtige Nostalgiegefühle 🥹 Als wären sie aus einer Lieblingsserie meiner Jugend 😀
Ich wünsche dir alles Gute für Deine Zukunft und liebe Grüße 😊
Leon
Vielen lieben Dank, Leon! Jetzt, wo ich mir die Bilder nochmal angesehen habe, kommt bei mir auch Nostalgie auf. Auch dir weiterhin viel Erfolg und alles Gute!
tbBoxHitsBox2 hat eine doppelte zuweisung für ra nach den for schleifen. kp, ob das richtig ist, sieht nach einem bug aus.
Pingback: DaLu | Lukas Hoyer
Funktionieren die Beispiele auch mit VC++ 2015 Community und dem aktuellen DirectX SDK?
Ja, sollten sie eigentlich.
Hallo ich habe mir die updates für c++ 2010 express runtergeladen. Ich habe das problembeim compilieren das die tribased.dll nicht geöffnet werden kann, ich stehe zur zeit auf dem schlauch, da ich noch nicht einmal die tribase zum laufen grig.
Hallo! Hast du die Anleitung im Download hier befolgt?
Ich habe das Buch „3d-Spieleprogrammierung“
gebraucht von Amazon gekauft, und mir fehlt die CD-Rom. Wo kann ich diese bestellen?
Danke
Hallo! Wende dich dazu bitte einfach an den Hanser-Verlag. Es war bislang nie ein Problem, eine neue CD zu erhalten.