grundlagen

Game-Tutorial #2 - Eingabeverarbeitung

Dieses Tutorial behandelt die folgenden Themen:

  • Das Abfragen von Tastatur- und der Maus-Events
  • Spielgerechtes Analysieren und verwenden der Eingabe-Events
  • Eine in Ego-Shootern typische Steuerung wird erläutert und implementiert

Was ist das Ziel des Tutorials?

Screenshot Tutorial 2Screenshot Tutorial 2

Das Ziel des Tutorials ist zu zeigen wie Tastatur und Maus abgefragt werden können und wie mit diesen Ereignissen eine in Ego-Shootern typische Steuerung implementiert werden kann.

Am Ende des Tutorials erhalten wir ein Programm, das eine 3D-Welt darstellt und in der wir uns mit den üblichen Tasten A, S, W, D (links, zurück, vor, rechts) und der Maus bewegen können.

Das in Java geschrieben Programm benutzt für das Rendering OpenGL das über die native Schnittstelle JOGL angebunden ist.

Game-Tutorial #1 - Die Game Loop

Dieses Tutorial behandelt die folgenden Themen:

  • Die Initialisierung der Grafik und des Fensters
  • Die Hauptschleife (Game Loop) des Spiels
  • Das Timing und die Messung der FPS (Frames-per-Second)

Was ist das Ziel des Tutorials?

Screenshot Tutorial 1Screenshot Tutorial 1

Das Ziel des Tutorials zu zeigen wie die grundlegende Struktur eines Spiels aussieht. Es wird erläutert warum Spiele so aufgebaut werden, welche Vor- und Nachteile dies hat und auch welche Konsequenzen sich für die Entwicklung des Spiels hierdurch ergeben.

Am Ende des Tutorials steht ein Programm, das den Inhalt seines Fensters in einer Game Loop immer wieder neu zeichnet und dabei einen fest vorgegebenen maximalen FPS-Wert einhält. Das Programm wird beobachten ob es gerade aktiv ist und nur in diesem Fall Rechenzeit verbrauchen. Das Programm bietet dann die Grundlage für die folgenden Tutorials, welche die in diesem geschaffene Infrastruktur nutzen um weiterführende Funktionen zu implementieren.

Das in Java geschrieben Programm benutzt für das Rendering OpenGL das über die native Schnittstelle JOGL angebunden ist.

Installation von Eclipse mit JOGL-Unterstützung

Damit ihr die in den Kursen enthaltenen Beispiele direkt selbst ausprobieren könnt, benötigt ihr eine Eclipse-Installation mit einem Projekt in dem JOGL eingebunden ist.

Ebene

Eine Ebene ist eine unendliche weite, unendlich dünne Fläche im dreidimensionalen Raum. Um eine Ebene eindeutig festzulegen gibt es mehrere Möglichkeiten:

Frustum

Die Form eines Frustums mit wichtigen KennzahlenDie Form eines Frustums mit wichtigen Kennzahlen

Das Wort Frustum bedeutet wörtlich aus dem englischen übersetzt "Kegelstumpf" und bezeichnet somit einen der Spitze beraubten Kegel. In der 3D-Grafik versteht man unter einem Frustum den sichtbaren Bereich einer 3-dimensionalen Szene. Die Form entsteht durch die Fluchtpunktprojektion. Dadurch, dass der Frustum mit größerer Entfernung breiter wird, werden die Objekte dadurch mit größerer Entfernung kleiner.

Matrixrechnung

Matrizen sind Zahlenschemata die in Reihen und Spalten angeordnet sind. Für grafische Anwendungen sind vor allem quadratische Matrizen mit der gleichen Anzahl von Reihen wie Spalten interessant. Mit diesen ist es nämlich möglich lineare Abbildungen dazustellen.

Formelsammlung

Hier gibt es die volle Ladung Mathematik zum Thema 3D-Grafik: Meine Formelsammlung.

Vektorrechnung

Vektoren sind das grundlegenste Element in der 3D-Grafik. Mit ihnen werden Richtungen und Punkte im 3D-Raum festgelegt. Ein Vektor bestimmt eigentlich nur eine bestimmte Strecke im Raum ohne Ursprung und daher kann man einen Vektor beliebig verschieben ohne dass es sich danach um einen anderen Vektor handelt. Man stellt sich einen Vektor üblicherweise als einen Pfeil vor den man nicht drehen aber beliebig verschieben kann.

Syndicate content