Spezial Navigation - das erweiterte Navigations-Netzwerk
Neben den einfachen Navigationspunkten (Path Nodes) gibt es diverse
Navigationspunkte, die dem Bot eine spezielle Handlungsweise für eine
bestimmte Situation auferlegen. So gibt es sicher Türen zu öffnen,
Sprünge über bestimmte Abgründe oder spezielle Stellen im Level, die
verteidigt werden wollen. Damit ein Bot versteht was er in einer
solchen Situation zu tun hat, enthält ein an solcher Stelle gesetzter
spezieller Navigationspunkt bereits die Anweisung, wie der Bot mit
dieser Situation umgehen soll. Dieses Tutorial ist Bestandteil der
UnrealED 2.0 Tutorial-Sammlung.
LiftCenter / LiftExit:
Um dem Bot verständlich zu machen, daß er z.Bsp. einen bestimmten
Aufzug benutzen soll, muß mittig des Aufzugs (min. 48 Welteinheiten
Abstand) ein "Lift Center" gesetzt weden, der den selben "LiftTag" hat
wie der entsprechende Aufzug, für den er gesetzt wird. Ebenfalls
benötigt werden jetzt noch zwei "Lift Exits" (ebenfalls "LiftTag"
angleichen), einer an der Stelle, an der der Bot warten soll, wenn der
Aufzug gerade nicht da ist, er ihn aber benutzen will. Der andere "Lift
Exit" muß an der Stelle gesetzt werden, an der der Bot den Aufzug
wieder verlassen soll, wenn er ihn benutzt hat. Diese drei Aktoren
müssen jeweils von der aktuellen Position des Bots eingesehen werden
können. Dafür sollte man den entsprechenden Aufzug auf "Keyframe 0"
setzen, den "Lift Center" setzen, dann auf gleicher Höhe den ersten
"Lift Exit" (max. 320 Welteinheiten auseinander). Danach den Aufzug auf
"Keyframe 1" setzen und den zweiten "Lift Exit" setzen (jetzt muß man
sich vorstellen, daß der Bot mittig auf dem Lift steht und den "Lift
Exit" sucht. Also diesen in Sichtweite des Bots plazieren, wenn dieser
mit dem Aufzug bis "Keyframe 1" gefahren ist!). Wenn du den
"LiftCenter" oder "LiftExit" mit der rechten Maustaste anklickst und
dann auf "LiftXXXX Properties (X selected)..." gehst, kannst du noch
einige Attribute abändern. Jedoch solltest du in beiden Fällen das Feld
"Events" nicht belegen, da es nicht unterstützt wird und zu Problemen
führen kann.
PlayerStart:
Damit in einem Level menschliche Mitspieler und aber auch Bots
teilnehmen können, muß mindestens ein "PlayerStart" gesetzt werden
(besser sind aber mindestens vier). An diesen Stellen wird dann im
Spiel der Mitspieler geboren, oder ein Bot betritt an diesen Stellen
das Spiel. Achte darauf, den "Player Start" nicht zu dicht an Wänden
oder Bodenflächen zu positionieren. Halte mindestens einen Abstand von
48 Welteinheiten von Wand- und Bodenflächen zum Aktor ein. Es gibt
hierbei zwei wichtige konfigurierbare Attribute:
1. TeamNumber Nur Spieler mit der selben "TeamNumber" (0=Rot/1=Blau)
werden an diesem "PlayerStart" geboren (wichtig für CTF & AS
Missionen!)
2. bEnabled Hiermit kann man einzelne "Player Starts" temporär deaktivieren ("True"=aktiviert "False"=inaktiv)
AmbushPoint:
Dieser Spezial-Navigations-Punkt weist einem Bot einen geeigneten
Verweilpunkt in einem Singleplayer-Level aus. Ein solcher Verweilpunkt
sollte an solchen Stellen in der Map gesetzt werden, die eine perfekte
Deckung bieten und an denen der Bot, möglichst nur aus einer Richtung
kommend, Gefahr wittern kann. Achtung: Der AmbushPoint ist
Richtungsweisend. (Benutze das Attribut "bDirectional" und setze es auf
"True" um den Richtungspfeil in der Anzeige sichtbar zu machen.)
Desweiteren sollten auch folgende Eigenschaften abgeändert werden:
1. SightRadius Hiermit wird der Sichtradius des Bots eingeschränkt
(funktioniert ähnlich wie der Sichtbarkeitsradius von Beleuchtungen)
2. bSniping Hiermit kann man den Bot auffordern lieber nach Feinden
zu "snipern", als sie zu verfolgen
DefensePoint:
Der "Defense Point" ist eine Unterklasse von "Ambush Point" und weist
Bots zu verteidigende Zonen aus. Ein Verteidigungspunkt sollte an
solchen Stellen in der Map gesetzt werden, an denen eine wichtige
Schlüsselstelle zu verteidigen ist. Der Defense Point ist ebenfalls wie
der "Ambush Point" Richtungsweisend. (Benutze das Attribut
"bDirectional" und setze es auf "True" um den Richtungspfeil in der
Anzeige sichtbar zu machen.) Desweiteren sollten folgende Eigenschaften
abgeändert werden:
1. Team Nur Spieler mit der selben "TeamNumber" (0=Rot/1=Blau/2=Grün/3=Gold) verteidigen diesen Punkt
2. Priority Weist dem Bot an mit welcher Priorität die Punkte besetzt
werden (höhere bewertete Positionen werden zuerst besetzt)
3. FortTag Dieses Attribut wird nur in Assault Missionen benutzt, wenn
der Punkt wärend eines bestimmten Vorgangs benutz werden soll.
BlockedPath:
Mit diesem Spezial-Navigations-Punkt können Pfade so ausgewiesen
werden, daß sie am Anfang des Spiel blockiert sind, wenn man aber eine
spezielle Handlung durchführt (meistens einen Schalter umlegen) wird
dieser Pfad geöffnet und ist dann aktiv. Man benutzt unter anderem
diese Option dann, wenn man geschloßene Türen öffnen kann, oder gewisse
Levelabschnitte erst nach einiger Zeit zugänglich gemacht werden
sollen. Achtung: Ein bereits geöffneter Pfad kann nicht wieder gesperrt
werden. Die Aktion kann nur einmal ausgeführt werden. (Achte auch
darauf, daß keine weiteren Pfade in den blockierten Levelabschnitt
führen, da solche Pfade die "Blocked Paths" umgehen!).
TranslocDest:
Teleportationspunkte sind eine Unterklasse von "Lift Center" (siehe
oben), die sich nicht auf einen Mover beziehen, sondern auch einzeln
stehen können. Sie zeigen dem Bot, daß an dieser Stelle ein guter Punkt
ist, um eine Abkürzung mit Hilfe des mobilen Teleporters (Translocator)
zu unternehmen. Dieser Spezial-Navigationspunkt muß immer in Verbindung
mit einem gleichnamigen "Lift Exit" gesetzt werden. Der Bot geht immer
davon aus, daß ein gleichnamiger "Lift Exit" ausgehend von einem
"Transloc Dest" ohne die Verwendung des mobilen Teleporters
(Translocator) erreicht werden kann. Er benutzt den Translocator nur
dann, wenn er von einem "Lift Exit" zu einem "Transloc Dest" gelangen
will. Wenn der Bot in beide Richtungen seinen mobilen Teleporter
benutzen soll, dann muß anstelle des "Lift Exit" ein gleichnamiger
"Transloc Start" gesetzt werden. Die Zugehörigkeit wird auch hier über
den "LiftTag" gesteuert, zusammengehörige Punkte tragen immer den
selben "LiftTag".
JumpSpot:
Solch ein Absprungpunkt kennzeichnet (wie der Name schon sagt) einen
Punkt im Level, an dem ein Bot, wenn er die JumpBoots besitzt, oder der
Level im "Low Gravity"-Modus gespielt wird, abspringen soll. ("LiftTag"
angleichen!)
1. bImpact Jump auf "True" gesetzt, macht ein intelligenter Bot einen "ImpactJump" um das Ziel zu erreichen
2. bAlwaysAccel Bots benutzen die Luftlenkbarkeit (AirControll) um das
Ziel zu erreichen (nur bei "Low Gravity"-Maps benutzen!)
Teleporter:
Ein in einem Level gesetzter Teleporter teleportiert denjenigen
Spieler, der ihn betritt an die spezifizierte Gegenstelle. Diese ist
ein weiterer Teleporter, der jedoch einen eigenen Namen (Tag) hat. Die
Teleportationsverlinkung wird über die Eigenschaft "URL" gesteuert.
Dort können verschiedene Eigenschaften spezifiziert werden, wie etwa:
1. interne Verlinkung "URL" enthält den Namens "Tag" eines weiteren Teleporters,
der sich im selben Level befindet
2. externe Verlinkung "URL" enthält den Namen eines weiteren Levels und
den Namens "Tag", getrennt durch "/"
3. Netzwerk Verlinkung "URL" enthält eine aktive Serveradresse
(z.Bsp.: Unreal://Domain/LevelName/TeleporterName)
Desweiteren gibt es auch noch einige sinnvolle Attribute, die im folgende aufgelistet sind:
1. bEnabled Hiermit kann man einzelne "Teleporter" temporär deaktivieren ("True"=aktiviert "False"=inaktiv)
2. bChangesYaw Steht der Wert auf "True" übernimmt der teleportierte Spieler
die im Teleporter festgelegte Gierung (AirControll)
3. bChangesVelocity Steht der Wert auf "True" übernimmt der teleportierte Spieler
die im Teleporter festgelegte Geschwindigkeit (GameSpeed)