MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
52<br />
So ist es leicht feststellbar, ob eine Kreatur auf ihrer Wanderung von einem Wegpunkt zu einem<br />
anderen z.B. gegen ein statisches Hindernis wie einen Baum oder einen Felsen laufen würde. Täte<br />
sie dies, so ist zwischen beiden Knoten keine Kante zu ziehen. Liegt entlang der potentiellen Kante<br />
keine Kollision mit der Welt vor, so ist diese auch zu ziehen und die Kreaturen können sie zur Laufzeit<br />
der Cave-Anwendung zu Zwecken der Bewegung verwenden. Die Gewichtung der Kante ist<br />
abhängig von der Distanz der beiden Punkte zu wählen, im einfachsten Fall also anhand der Länge<br />
der direkten Luftlinie.<br />
Eine Anforderung bei der Entwicklung des Navigationssystems für die Kreaturen war es, relativ<br />
schnell zu einem brauchbaren Ergebnis zu kommen. Es stand uns nicht ernsthaft die Zeit und Arbeitskraft<br />
zur Verfügung, die erforderlich gewesen wäre, um einen Editor mit grafischer Bedienungsoberfläche<br />
(GUI) für das Anlegen und Verbinden der Wegpunkte zu entwickeln. Nach obiger Überlegung<br />
ist es aber durchaus wünschenswert, zumindest für die Platzierung der Wegpunkte in die<br />
Map einen solchen Editor zur Verfügung zu haben. Eine Eigenschaft des Spiels Quake III Arena, dessen<br />
BSP-Dateiformat die Madness-Engine bekanntlich zur Speicherung der Weltgeometrie verwendet<br />
(siehe Abschnitt 3), können wir uns hierbei allerdings zu Nutze machen: Dieses Dateiformat<br />
sieht es vor, neben der eigentlichen Geometrie auch zusätzliche Elemente der Welt textuell in einem<br />
so genannten Entity Chunk zu beschreiben 3 . In ihm sind beispielsweise Licht- und Soundquellen,<br />
Startpositionen für die Spieler, Bonus-Pakete, Waffen, Munition und vieles mehr inklusive Position<br />
und etwaiger weiterer Eigenschaften definiert. Diese Objekte können mit den herkömmlichen Level-<br />
Editoren, welche frei für Quake III verfügbar sind 4 (siehe Abschnitt 10.1), in der virtuellen Welt positioniert<br />
und entsprechend eingestellt werden. Da viele dieser möglichen Gegenstände von unserer<br />
Cave-Anwendung beim Laden der Map vollständig ignoriert werden, bietet es sich an, sie als vorerst<br />
als Wegpunkte zu missbrauchen. Die breite Palette der verschiedenen Objekte macht es zudem<br />
möglich, die Wegpunkte gleich in unterschiedlichen Gruppen zu definieren.<br />
Das Anlegen der Wegpunkte in der Landschaft wird durch diese Lösung abgedeckt, nicht jedoch das<br />
Aufspannen der Kanten des Wegpunktgraphen – die Level-Editoren erlauben eine derartige Operation<br />
nicht. Die Definition von Relationen zwischen den einzelnen Elementen des Entity Chunks, auf<br />
welche die Kanten abgebildet werden könnten, ist mit Quake-Bordmitteln so nicht zu bewerkstelligen.<br />
Wir haben uns daher für die naheliegende Kombination aus manuellen und automatischen Verfahren<br />
entschieden, um den Wegpunktgraphen zu erzeugen: Das Setzen der Knoten erfolgt, wie oben<br />
erläutert, innerhalb des grafischen Quake-Editors. Aus diesem heraus wird eine BSP-Datei erzeugt,<br />
in deren Entity Chunk die Wegpunkte in Form von Spiel-Bonuspaketen abgelegt sind. Anschließend<br />
3 Diese Beschreibung erfolgt freilich in einer festen Syntax und ist nicht natürlichsprachig.<br />
4 Wie beispielsweise der von uns verwendete GtkRadiant