Projektgruppe
Game Toolbox
Dozent: Rezk Salama, Todt
empfohlen für: AINF-ET-6/8, AINF-MW-6/8
Betreuer: Rezk Salama, Todt
Veranstaltung: Ort: n.N., Zeit: n.N.
SWS: 5, LP: 20 (MW) 30(ET)
Voraussetzungen: CG I, CG II
Bei der Entwicklung von 3D-Computerspielen stehen zunehmend Aspekte im Vordergrund, die bis vor wenigen Jahren noch ausschließlich Highend-Anwendungen in der Industrie oder der Unterhaltungsbranche vorbehalten waren. Dadurch stheen nichtmehr nur "Tipps & Tricks" im Vordergrund, sondern auch physikalisch-basierte Algorithmen oder photorealistische Darstellungen.
Die Toolbox soll unter Verwendung der folgenden Techniken bzw. Werkzeuge umgesetzt werden :
- Betriebssystemplattform: Linux & Windows
- Programmiersprache C/C++
- Graphik-API: OpenGL, SDL oder ein abstraktes API wie OpenInventor
Zudem sind geeignete Werkzeuge zur Projektsteuerung und zur Dokumentation, sowei zur Projektkommunikation einzusetzen.
Die Aufgabe der Projektgruppe besteht in der Analyse, Konzipierung und Realisierung von einer "Game Toolbox" und einer oder mehrerer Beispielanwendungen auf Basis dieser Toolbox.
Computerspiele stellen heutzutage sher hohe Anforderungen an die erzeugte virtuelle Welt, so dass die Entwicklungen in diesem Bereich einerseits sehr starken Einfluss auf die Graphik-Hardware und andere Graphiktechniken haben. Andererseits spielen im Bereich Computerspiele alle relevanten Themen der Computergraphik, wie z.B.
- hoch-performante und hoch-qualitative Darstellung einer Szene (Rendering)
- intelligente Erzeugung geometrischer Geometrien
- realistische Bewegung (Animation), System-Reaktion und Interaktion
Die Toolbox umfaßt verschiedene Module, die notwendige Funktionalitäten zur Verfügung stellen.
Beispielhaft sind dies:
Mathematik : Grundlegende MAthematikfunktionalität, z.B. zur Behandlung numerischer Probleme
Geometrie-Basis : Grundlegende Methoden zur Definition und Manipulation von Punkten, Vektoren und anderen einfachen Geometrie-Primitiven
Geometrie-Loader : LAden von Geometrien, die in einem kommerziellen Tool wie Maya erstellt wurden
Graphik-Engine : Anzeige aller Geometrien in ihrem aktuellen Zustand
Geometrie-Engine : Optimierte Erzeugung spezieller Geometrien wie z.B. Landschaften und Ausnutzung von Raumunterteilungstechniken
Physik-Enginge : Umsetzung eines möglichst realistischen Systemverhaltens z.B. bei Kollision
Interaktion : Nutzer-Interaktion
Zur Modellierung von Geometrien können kommerzielle Tools zur Verfügung gestellt werden.
Die Toolbox kann nicht alle Arten von 3D-Spielen ermöglichen, d.h. sie wird sich auf eine Art von Spiel konzentrieren
- Spielbarkeit, insbesondere echtzeitfähige Interaktion
- Skalierbarkeit auf unterschiedliche Hardwareanforderungen (Einbeziehung der verfügbaren Hardware-Kapazität)
- Effizientes Ressource und Memory Management mit wiederverwendbaren Objekten
- Effizientes LAden und Speichern von Spielständen
- Debugging und Profiling
- Rigid Body Motion
- Einfache KI, Pathplanning, State MAchine, Behavioural Animation, Prozedurale Levelgenerierung
- Funktionsfähiges Scene-Maangement unter Verwendung von Raumunterteilungsverfahren
- 3D Sound
- Scripting (Implementierung einer einfachen Scriptsprache, um bei Änderungen der Game-Contents nicht gleich neu compilieren zu müssen)
- Multiplayer über LAN/Internet
- Unterstützung von Joysticks
- Transparenz
- Spiegelungen
- Schatten (interaktiv oder vorberechnet)
- Billboards/Impostors
- Partikelsysteme und Spezialeffekte auf Partikelsystemen wie Feuer und Wasser
- Progressive MEshes (progressive Übertragung und Optimierung von Geometrien)
- Character Animation
Minimalziele
Das Ziel der Projektgruppe ist die Erstellung einer Toolbox zur Realisierung von 3D-Spielen, sowie die exemplarische Umsetzung von mindestens einem Spiel.
Folgende Ziele müssen von der Projektgruppe mindestens erreicht werden:
Erweiterungsmöglichkeiten
Neben den Minimalzielen bietet das Thema eine Vielzahl von Erweiterungsmöglichkeiten.
Beispielhaft seien hier genannt:
Allgemein
Graphik
Geometrie & Animation
Eberly: 3D Game Engine Design, Morgan-Kaufmann, 2001
Watt & Policarpo: 3D Games - Realtime Rendering & SW Technology, Addison Wesley, 2001
Deloura: Game Programming Gems 1, Charles River MEdia, 2000
Deloura: Game Programming Gems 2, Charles River MEdia, 2000
Treglia: Game Programming Gems 3, Charles River MEdia, 2000
OpenGL: www.opengl.org
Gamasutra: www.gamasutra.com


