Computer Graphics TU Braunschweig


Canyonshooter - 4 Canyon-Generierung & Level Editor - 4.1 World & GameStates

Teamprojekt Canyonshooter

4.1 World & GameStates

World

Die World verwaltet alle Spielobjekte. So ist die World beispielsweise dafür verantwortlich, dass der Canyon mit sämtlichen Objekten in einem Stream geladen und erst zur Laufzeit erstellt wird. Dabei beobachtet die World die Position des Spielers, und errechnet daraus wie viele Segmente des Levels geladen werden müssen. Ebenfalls sorgt sie dafür, dass hinter dem Spieler wieder alles aufgeräumt, also entfernt wird. Die World ist auch für Elemente wie die Skybox und dynamische Lichtquellen verantwortlich. Überall wo also eine Spielwelt benötigt wird, ist die World zur Stelle.

GameStates

Das Spiel verfügt weiterhin über eine Statemachine. Mit ihr ist es sehr leicht möglich von einem Spielzustand in einen Anderen zu wechseln. So reicht beispielsweise ein Aufruf von "SetStateMenu()" und die Statemachine übernimmt sämtliche Arbeit um das aktuell Angezeigte zu entladen, und das Hauptmenü zu laden und anzuzeigen. Ein anderer Aufruf wäre beispielsweise "SetStateGame(levelname)" um das Hauptspiel mit dem angegebenen Level zu starten. Weiterhin kümmert sich die Statemachine um den Tastatur Fokus. Damit nicht alle geladenen Klassen auf alle Tastatureingaben reagieren besitzt die Statemachine die Tastatur Fokus Funktionalität. Man möchte schließlich nicht, dass das Raumschiff sich bewegt oder Waffen abfeuert, wenn man etwas in die Konsole eingibt. Weiterhin besitzt die Statemachine eine GarbageCollection. Sollten irgendwelche Objekte versehentlich nicht aufgeräumt werden, so werden sie spätestens beim Übergang in einen anderen Zustand dennoch bereinigt.

Das aktuelle Kapitel




TU Braunschweig - Fakultät für Mathematik und Informatik - Computer Graphics - Teamprojekt Canyonshooter