MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
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