Buchtipps zu Physik & Videospiele

Wer Videospiele so programmieren möchte, dass die Bewegungen der Spielfiguren, Raumschiffe oder Kletterseile überzeugend aussehen, muss drei Dinge erlernen:

Vieles davon werden die Teilnehmer am W-Seminar zur "Physik in Videospielen" lernen. Auf dieser Webseite kann man sich allerdings ein paar Tipps für zusätzliche Literatur holen: Wer selbst weitermachen möchte, wird vielleicht in dem einen oder dem anderen Buch aus der folgenden Liste fündig.

Die Bücher sind in der Regel ab der 10. Jahrgangstufe verständlich.

Die Bücher kann man natürlich kaufen oder bei mir fast immer ausleihen!


Ian Millington: Game Physics Development

Dieses Buch entwickelt - Zeile für Zeile - eine komplette, sehr brauchbare Physikengine in C++. Das heißt, dass man mit der fertigen Physikengine nur noch die beteiligten Objekte in die Welt setzen und die wirkenden Kräfte angeben muss. Die Engine betreibt dann die Physik in dem Spiel automatisch. Das Buch wurde bisher nicht ins Deutsche übersetzt.

Im W-Seminar werden eigentlich genau das gleiche machen. Allerdings geht dies Buch in mehreren Teilgebieten tiefer ins Detail. Es bietet sich damit als tolle Quelle an weiterzulesen!

Ein Besuch unseres W-Seminars ist sehr empfehlenswert zum Verständnis.

Nötiges Vorwissen: Fortgeschrittene in C++ mit soliden Physikkenntnissen
Themen: Mathematik & Physik der Videospiele


Ulrich Kaiser, Philipp Lensing: Spieleprogrammierung mit DirectX und C++

Dieses Buch verwendet die Sprache C++ und DirectX, um zwei- und dreidimensionale Spiele zu programmieren.

Im W-Seminar werden wir allerdings keine Spiele mit DirectX programmieren. Das Buch ist aber eine der verständlichste Einführung in die Spieleentwicklung mit Hilfe von Direct3D-Grafik. Wer also DirectX kapieren will, der kann ziemlich gut mit diesem Buch anfangen!

Nötiges Vorwissen: Fortgeschrittene Kenntnisse in C++
Themen: Mathematik der 3D-Grafik, Programmierung von DirectX, Computerspiele


David Scherfgen: 3D-Spieleprogrammierung mit DirectX9 und C++
(Teil der Wahlkursbibliothek)

Um 3D-Spiele zu entwickeln, braucht man eine Menge Erfahrung. Dieses Buch liefert das Rüstzeug dazu. Es wendet sich an Programmierer mit fundierten C++-Kenntnissen. Das Buch bietet eine der lückenlosesten Beschreibungen der manigfaltigen Möglichkeiten von DirectX, insbesondere Direct3D. Es ist für DirectX-Anfänger nicht ganz so leicht lesbar wie das Buch von Kaiser/Lensing. Andererseits stellt es für Geübte in Sachen "DirectX" die nötigen Kenntnisse deutlich übersichtlicher dar.

Im W-Seminar werden wir allerdings keine Spiele mit DirectX programmieren. Wieso ist dann dies Buch dennoch nützlich? Es gibt eine Einführung in die Vektormathematik (Kap. 2). Weiter hinten behandelt es die Erkennung von Kollisionen zwischen zwei Kugeln (Kap. 8.8.3), zwischen Linie und Kugel (Kap 8.8.4) und die Reflexion zweier Billardkugeln nach deren Kollision (Kap. 8.8.15.3).

Ein Besuch unseres W-Seminars ist sehr empfehlenswert zum Verständnis.

Nötiges Vorwissen: Sehr Fortgeschrittene
Themen: Mathematik der 3D-Grafik, Programmierung von DirectX, Computerspiele


Bettina Lechner: GIMP

Dies Buch gibt eine gut verständliche Einführung in das kostenlose Malprogramm GIMP. Ein solches Malprogramm werden wir beim Entwurf eigener Spiele auf jeden Fall brauchen - und da bietet sich ein frei downloadbares Programm wie GIMP geradezu an!

Nötiges Vorwissen: ab 7. Klasse
Themen: Erklärung des Malprogramms GIMP


Zhigang Xiang u.a.: Computergrafik

Dieses Buch stellt (fast) vollständig die mathematischen Konzepte dar, die hinter der 2D- und 3D- Grafikdarstellung an einem Computer stecken. Im Prinzip steckt die analytische Geometrie der gymnasialen Oberstufe als Anwendung drin. Das Buch lässt eigentlich überhaupt kein Thema aus: Linien, Kreise in 2D; Spiegelungen, Drehungen, Streckungen in 2D; die analogen Transformationen auch in 3D; Projektionen von 3D auf 2D; Ansichten und "Clipping" im 3D-Raum; Verdeckte Oberflächen-Algorithmen ("Hidden Faces"); Farb- und Schattierungsmodelle; Raytracing

Nötiges Vorwissen: ab 10. Klasse
Themen: Mathematik der 2D- und 3D-Grafik, Darstellende Geometrie, Computergrafik, Raytracing


Michael Bender, Manfred Brill: Computergrafik

Obwohl dieses Buch fast genau so heißt, wie der entsprechende Titel von Zhigang Xiang, behandelt es doch einige andere Themen. Es zeigt unter anderem auch das "geometrische Modellieren mit Kurven und Flächen": Wenn man Spielfiguren oder Gegenstände mit Hilfe von Drahtgittermodellen entwirft, sind sie in der Regel ziemlich eckig und kantig. Das Modellieren mit Kurven ermöglicht es nun, die Figuren oder Gegenstände dennoch "rund" erscheinen zu lassen. Die Mathematik dazu ist an mehreren Stellen sehr schwierig.

Nötiges Vorwissen: Sehr gute Kenntnisse in Mathematik
Themen: Geometrisches Modellieren mit Kurven & Flächen, Raytracing


Heinz Seyringer: Spieleprogrammierung für PC, Handy und PDA

Mit Hilfe dieses Buchs und der mitgelieferten Software auf CD kann man Spiele für Handys entwickeln, die mit dem Betriebssystem "Windows Mobile" arbeiten. Dabei nimmt der Autor die (auf CD enthaltene) Programmiersprache PPL her.

Im W-Seminar werden wir keine Spiele für Handys erstellen - insbesondere auch nicht in der Sprache PPL. Wer jedoch ein Mobiltelefon mit "Windows Mobile" besitzt und Spiele oder Software dafür schreiben möchte, hat mit PPL ein recht gutes Hilfsmittel in der Hand. Interessanterweise ist in die PPL-Entwicklungsumgebung auch eine Physikengine integriert. Viele physikalische Gesetze muss man also gar nicht mehr programmieren, sondern kann auf die Physikengine zurückgreifen.

Nötiges Vorwissen: Fundierte Kenntnisse in einer objektorientierten Sprache
Themen: Spieleprogrammierung auf Handys


Thomas Wagner: Mobile Games mit Flash

Dies Buch erklärt, wie man auf Flash-Lite-Basic Spiele für Handys programmieren kann.

Im W-Seminar werden wir keine Flash-Spiele erstellen - sondern mit C++ arbeiten.

Was gibt's dennoch in dem Buch zu finden? Beispielsweise gibt es in Kap. 4.3 viele Ideen, wie man Kollisionen von Spielfiguren mit dem Spielfeld erkennen kann. Auch das Verfahren wird vorgestellt, Spielfelder aus lauter Raster-Kacheln zusammenzusetzen und so die Kollisionsabfrage zu vereinfachen (Kap. 4.4).

Ein Besuch unseres W-Seminars ist sehr empfehlenswert zum Verständnis. Die Beispiele in Flash muss man leider irgendwie in C++ "übersetzen".

Nötiges Vorwissen: Fähigkeit, Flash in C++ zu "übersetzen"
Themen: Spieledesign auf Handys, u.a. Kollisionserkennung