artecLab - Universität Bremen
artecLab - Universität Bremen
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.
2. Die Engine 49<br />
defaultproperties { // Beschreibt Standardwerte f"ur Klassenvariablen<br />
BotControllerClass=class’SahneGameType.SahneBot’<br />
// Als neue BotControllerClass wird unsere eigene<br />
// Klasse SahneBot zugewiesen<br />
}<br />
vorhandene Klassen mit eigenen Klassen ausgetauscht,<br />
die veränderte oder erweiterte Funktionalitäten<br />
besitzen.<br />
Der computergesteuerte virtuelle Charakter,<br />
auch Bot genannt, befindet sich zu jeder Zeit in<br />
einem festgelegten Zustand.<br />
Er verlässt diesen nur, wenn ein gotostate()-<br />
Aufruf ihn zum Wechsel zwingt. Die hier programmierte<br />
künstliche Intelligenz gibt dem Charakter<br />
vor, so lange untätig herumzustehen, bis er<br />
den virtuellen Charakter des Cavebenutzers gesehen<br />
hat. Dann soll der Bot solange hinter dem<br />
Spieler herlaufen, bis er auf eine Distanz von etwa<br />
156,6 UE herangekommen ist, um dann zu Winken<br />
und einen festgelegten Kommentar abzugeben.<br />
Das Sehen eines Benutzers löst in der Engine den<br />
Event SeePlayer() aus, welcher dazu führt, dass<br />
der folgende Befehl ausgeführt wird.<br />
// Zustandswechsel<br />
gotostate(’SahneBotSiehtPlayer’);<br />
Abbildung II.16: Eine eigene Bot-Klasse erstellen.<br />
Im neuen Zustand führt der Bot alle 1500 Millisekunden<br />
einen Bewegungsbefehl auf die aktuelle<br />
Position des Cavebenutzers aus, bis er sich in<br />
einer Reichweite von 200 Unrealeinheiten befindet.<br />
Danach kommt wieder ein gotostate()-Aufruf<br />
und der Bot wechselt in den Zustand SahneBot-<br />
BeiPlayer. Hier werden dann die Animation und<br />
der Audioclip abgespielt. Zehn Sekunden später<br />
wechselt der Bot wieder in seinen Ursprungszustand<br />
und wartet auf ein erneutes SeePlayer-<br />
Event.<br />
2.7 MiCasa Stick<br />
In Unreal Tournament 2003 gibt es Objekte, die<br />
sich durch physikalische Einwirkungen beeinflussen<br />
lassen, sogenannte Karmaobjekte . Diese Karmaobjekte<br />
lassen sich jedoch nur ungerichtet beispielsweise<br />
durch Waffenfeuer bewegen. Um Objekte<br />
gerichtet bewegen zu können, ist die Idee