Für eine korrekte Darstellung dieser Seite benötigen Sie einen XHTML-standardkonformen Browser, der die Darstellung von CSS-Dateien zulässt.


Sitemap
 

Projektgruppe
Game Toolbox

Dozent: Rezk Salama, Todt
Betreuer: Rezk Salama, Todt
Veranstaltung: Ort: n.N.,  Zeit: n.N. 

SWS: 5,  LP: 20 (MW) 30(ET) 

empfohlen für: AINF-ET-6/8, AINF-MW-6/8
Voraussetzungen: CG I, CG II

Zum internen Bereich...

   

Details zum Thema der Projektgruppe:

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.

    Der Themenkontext:

    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
    eine wichtige bzw. zunehmend wichtigere Rolle.

    Aufgabe der Projektgruppe:

    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

      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:

      • 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

      Erweiterungsmöglichkeiten

      Neben den Minimalzielen bietet das Thema eine Vielzahl von Erweiterungsmöglichkeiten.

      Beispielhaft seien hier genannt:

        Allgemein

        • 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

        Graphik

        • Transparenz
        • Spiegelungen
        • Schatten (interaktiv oder vorberechnet)
        • Billboards/Impostors

        Geometrie & Animation

        • Partikelsysteme und Spezialeffekte auf Partikelsystemen wie Feuer und Wasser
        • Progressive MEshes (progressive Übertragung und Optimierung von Geometrien)
        • Character Animation

Literaturhinweise:

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