01.02.2013 Aufrufe

MiCaDo Projektbericht - artecLab - Universität Bremen

MiCaDo Projektbericht - artecLab - Universität Bremen

MiCaDo Projektbericht - artecLab - Universität Bremen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

alle möglichen Wege vor zu berechnen. Die Engine wird dann durch derartige Berechnungen nicht<br />

mehr ausgebremst. Es ist also auch völlig unproblematisch, dass wirklich zunächst jeder Weg berechnet<br />

wird, auch solche, die möglicherweise nie benutzt werden. Der Arbeitsaufwand schien uns<br />

außerdem bei der Implementierung des Wegpunktesystems im Gegensatz zu einer Realisierung des<br />

Navigationsgitters eher abschätzbar.<br />

Auf Grundlage des Wegpunktesystems können wir durch entsprechende Algorithmen eine so genannte<br />

Wegpunkt-Routingtabelle aufbauen, die zu allen Wegpunkten jeweils Informationen über Nachbarpunkte<br />

und einen Verweis auf den Wegpunkt, der zu einem gewünschten Zielwegpunkt der<br />

günstigste ist, besitzt. Von diesem Wegpunkt wird eine Kreatur dann wieder zum jeweils nächsten<br />

weitergeschickt bis diese beim Zielwegpunkt angekommen ist. Die Idee zu einem derartigen ” Verkehrsleitsystem“<br />

fußt auf dem Grundprinzip der in der Welt der Rechnernetze bekannten Routing-<br />

Verfahren. Hierbei entspricht ein Wegpunkt einem Router und eine Kreatur einem zu routenden<br />

Paket.<br />

Es stellt sich allerdings noch die Frage, auf welche Art und Weise die Wegpunkte in der virtuellen<br />

Welt angelegt und verteilt werden können. Darüber hinaus müssen zwischen den Punkten (die<br />

Knoten des Wegpunktgraphen) auch die Kanten gezogen werden, auf denen die Kreaturen laufen<br />

sollen.<br />

7.3.1 Erstellung des Wegpunktgraphen<br />

Ein möglicher Ansatz zur Verteilung der Wegpunkte wäre, für diese Aufgabe eigens einen dedizierten<br />

Editor zu implementieren, mit Hilfe dessen die Wegpunkte beispielsweise mit der Maus direkt<br />

in der Welt platziert und die Kanten zwischen ihnen per Hand aufgespannt werden können. Die<br />

Verteilung der Wegpunkte durch den menschlichen Benutzer erscheint sinnvoll, da dieser so große<br />

Freiheit und Kontrollmöglichkeit bezüglich der Gestaltung der Kreaturnavigation in der Quake III<br />

Map (siehe Abschnitt 3) hat. Dem gegenüber stehen automatisierte Verfahren, welche algorithmisch<br />

versuchen, eine sinnvolle Anzahl von Wegpunkten in der Welt zu verteilen. Das Hauptproblem der<br />

letzteren Herangehensweise ist, zu definieren, was für die gegebene Map nun eine sinnvolle und vorteilhafte<br />

Platzierung von Wegpunkten darstellen würde – hier ein automatisches Verfahren zu finden<br />

erweist sich als schwierig. Sind die Wegpunkte verteilt, so ist das Ziehen der Kanten zwischen ihnen<br />

eine Aufgabe, welche ein automatisches Tool ohne jegliche Probleme bewältigen kann. Die Geometrie<br />

der Welt ist in einem BSP-Baum (Binary Space Partitioning Tree [Wat02, S. 227–230]) gespeichert,<br />

welcher einfach traversiert werden kann, um beispielsweise zu entscheiden, ob ein Punkt, eine Linie<br />

oder eine Kugel mit der Geometrie kollidiert, d.h. sich mit dieser schneidet bzw. diese durchdringt.<br />

51

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!