Für viele Menschen sind Computerspiele eine beliebte Freizeitbeschäftigung geworden.
Waren sie vor einigen Jahren hauptsächlich auf Spielkonsolen und Heimcomputern vertreten, steigt nun ihre Verbreitung auf Smartphones und Mobiltelefonen. Die Etablierung von Apple´s App Store oder dem Android Marketplace hat dem Trend weiteren Aufschwung gegeben. Kostenlos oder gegen Geld können über diese Portale Anwendungen auf dem eigenen Smartphone installiert werden.
Im Bezug auf Speicherplatz, Systemressourcen und Grafikperformance sind die mobilen Endgeräte dem Heimcomputern und Spielkonsolen unterlegen. Deutlich sichtbar wird dieser Umstand bei 3D-Computerspielen. Sie benötigen tendenziell mehr Speicherplatz und Systemressourcen als ihre 2D-Pendants. Dies liegt im erhöhten Rechenbedarf, welcher nötig ist um komplexe 3D-Szenen in Echtzeit darzustellen.
Durch Spielinhalte, welche durch prozedurale Methoden generiert wurden, können Systemressourcen geschont werden. Denn die Spielinhalte stehen nicht von Anfang an fest, sondern werden erst zur Ausführung des Programms generiert. Der Speicherplatz für
Programmdaten entfällt. Des Weiteren liefert die zufallsgesteuerte Synthese der prozeduralen Methoden eine große Anzahl an verschiedenartigen Ergebnissen. Bei jedem Programmstart werden nach festgelegten Ausgangsparametern neue Inhalte generiert.
Das Ziel dieser Arbeit liegt in der Implementierung eines 3D-Flugsimulators, dessen Spielterrain nach prozeduralen Methoden generiert wird. Die zugrunde liegende Zielhardware ist das iPhone 3GS, welches mit PowerVR SGX Grafikprozessor Shaderoperationen
unter OpenGL Es 2.0 unterstützt.
Inhaltsverzeichnis
1 Einleitung
2 Aufgabenstellung
2.1 Ausgangspunkt
2.2 Aufgabendefinition
2.3 Eingrenzung
3 Fachliches Umfeld
3.1 Theoretischer Hintergrund
3.1.1 Dreidimensionales Terrain in Computeranwendungen
3.1.2 Heightmaps
3.1.3 Plasma-Fraktale
3.1.4 Prozedurale Synthese
3.1.5 Skybox
3.1.6 Quaternions
3.1.7 Multitexturing
3.2 Technologischer Hintergrund
3.2.1 Apple iPhone 3GS
3.2.2 OpenGL ES 2.0
3.2.3 PowerVR SDK
3.3 Algorithmen zur prozeduralen Terrain-Synthese
3.3.1 Fuzzy-Landscaping
3.3.2 Fault-Line Algorithmus
3.3.3 Circles Algorithmus
3.3.4 Midpoint-Displacement
3.3.5 Particle-Deposition
3.3.6 Fractal-Brownian-Motion
3.4 Analyse der Algorithmen
3.4.1 Gewichtung
3.4.2 Auswahl
3.4.3 Ausblick
4 Implementierung des Spiels
4.1 Implementierung der Algorithmen
4.1.1 Particle-Deposition Terrain
4.1.2 Midpoint-Displacement Terrain
4.1.3 Analyse Midpoint-Displacement und Particle-Deposition
4.1.4 Finale Auswahl
4.2 Implementierung des Spiels
4.2.1 Das Spielfundament - Die PVRShell
4.2.2 Die GameEngine Klasse
4.2.3 Skybox
4.2.4 Flugzeug Kamera mit Verzögerung
4.2.5 Terrain Multitexturing
4.3 Beschleunigungsansätze
4.3.1 Array of Structures
4.3.2 Vertex-Buffer-Objects
4.3.3 Beleuchtungsmodell
4.3.4 Das Terrain als Triangle-Strip
4.3.5 Bitoperationen
5 Ergebnisse und Bewertung
5.1 Darstellung des Erreichten
5.2 Mögliche Verbesserungen
5.3 Das Spiel
6 Zusammenfassung und Aussicht
Zielsetzung & Themen
Das primäre Ziel dieser Arbeit ist die Entwicklung eines 3D-Flugsimulators für das Apple iPhone 3GS, wobei der Schwerpunkt auf der effizienten, prozeduralen Generierung des Spielterrains liegt, um die begrenzten Ressourcen des Mobilgeräts optimal zu nutzen.
- Entwicklung und Bewertung prozeduraler Algorithmen zur Terrain-Generierung.
- Implementierung einer leistungsfähigen Spiel-Engine unter Verwendung des PowerVR SDK.
- Optimierung der Performance durch Techniken wie Vertex-Buffer-Objects, Triangle-Strips und Bitoperationen.
- Umsetzung einer reaktionsfähigen Steuerung mittels Beschleunigungssensoren und Quaternions.
Auszug aus dem Buch
3.1.2 Heightmaps
Das zur Darstellung von Terrain notwendige Dreiecksnetz muss nicht zwingend mit Hilfe eines 3D-Modelling-Programms erstellt werden. Dreidimensionales Terrain kann auch mit Hilfe von Heightmaps generiert werden. Heightmaps sind Rastergrafik-Dateien, deren enthaltene Farbinformationen es ermöglicht, die Oberfläche eines Objektes zu definieren.
Die Heightmap stellt dabei das Relief der Geländetopographie auf dem gewünschten Dreiecksnetz dar.
Die verschieden Abstufungen des Farbwertes pro Bildsegment bestimmen den Höhenwert am korrespondierenden Vertex. Folglich legen die Farbwerte der Abtastpunkte die Höhe des Geländes fest. Die Abstufung der Abtastwerte erfolgt in Graustufen. Dunkle Farbwerten definieren tiefe Punkte und helle Farbwerte hohe Punkte.
Zusammenfassung der Kapitel
1 Einleitung: Diese Einleitung führt in die Relevanz mobiler 3D-Spiele ein und stellt das Vorhaben vor, einen prozedural generierten Flugsimulator für das iPhone zu implementieren.
2 Aufgabenstellung: In diesem Kapitel werden die technischen Herausforderungen mobiler Endgeräte analysiert und das Ziel definiert, einen Flugsimulator mit prozeduralem Terrain zu realisieren.
3 Fachliches Umfeld: Dieses Kapitel liefert den theoretischen Hintergrund zu 3D-Terrain-Technologien, OpenGL ES 2.0, dem PowerVR SDK sowie detaillierte Beschreibungen verschiedener Terrain-Generierungsalgorithmen.
4 Implementierung des Spiels: Hier wird die praktische Umsetzung des Flugsimulators erläutert, angefangen bei der Auswahl und Implementierung der Algorithmen bis hin zu spezifischen Beschleunigungstechniken.
5 Ergebnisse und Bewertung: Dieses Kapitel resümiert die erreichten Ziele, bewertet die Effizienz der gewählten Methoden und diskutiert Ansätze für zukünftige Verbesserungen.
6 Zusammenfassung und Aussicht: Das abschließende Kapitel fasst die zentralen Erkenntnisse der Arbeit zusammen und bewertet die Bedeutung prozeduraler Methoden für zukünftige mobile Spiele.
Schlüsselwörter
Prozedurale Terrain-Generierung, Midpoint-Displacement, Particle-Deposition, Flugsimulator, iPhone 3GS, OpenGL ES 2.0, PowerVR SDK, Quaternions, Multitexturing, Performance-Optimierung, Vertex-Buffer-Objects, Triangle-Strips, Bitoperationen.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit beschäftigt sich mit der Entwicklung eines 3D-Flugsimulators für das Apple iPhone 3GS, bei dem das Gelände prozedural zur Laufzeit generiert wird.
Was sind die zentralen Themenfelder?
Zentrale Themen sind die mathematischen Grundlagen der prozeduralen Terrain-Generierung, die Hardware-Optimierung für mobile Geräte und die Spiel-Programmierung unter OpenGL ES 2.0.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist die Implementierung eines effizienten Flugsimulators, der trotz begrenzter Speicher- und Rechenressourcen des iPhones eine komplexe, zufällig generierte 3D-Welt darstellt.
Welche wissenschaftliche Methode wird verwendet?
Es werden verschiedene Algorithmen zur Terrain-Synthese (wie Midpoint-Displacement und Particle-Deposition) analysiert, nach Kriterien gewichtet und anschließend experimentell implementiert und verglichen.
Was wird im Hauptteil behandelt?
Der Hauptteil befasst sich detailliert mit den gewählten Algorithmen, der Architektur der Spiel-Engine, den Optimierungstechniken für das Rendering und der physikalischen Steuerung des Flugzeugs.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit wird durch Begriffe wie prozedurale Generierung, Midpoint-Displacement, Mobile Gaming, OpenGL ES 2.0 und Ressourcen-Optimierung charakterisiert.
Warum wurde das Midpoint-Displacement dem Particle-Deposition Algorithmus vorgezogen?
Obwohl beide Ansätze implementiert wurden, schnitt das Midpoint-Displacement in der Gewichtung aufgrund besserer optischer Ergebnisse und einer natürlicheren Geländestruktur besser ab.
Welche Rolle spielen Bitoperationen in diesem Projekt?
Bitoperationen werden zur Geschwindigkeitsoptimierung genutzt, um zeitkritische Berechnungen direkt auf Maschinenebene auszuführen und so die Systemressourcen des iPhones zu schonen.
- Quote paper
- Paul Ehrhardt (Author), 2010, Isle of Skye - Ein Flugsimulator mit prozeduraler Terrain-Generierung für das Apple iPhone, Munich, GRIN Verlag, https://www.grin.com/document/149751