Computer Graphics TU Braunschweig


Canyonshooter - 3 Gameplay - 3.3 Enemies & AI State Machine

Teamprojekt Canyonshooter

3.3 Enemies & AI State Machine

Es gibt verschiedene Arten von Gegnern im Canyonshooter. Jedem Gegner-Typen können verschiedene AIs (künstliche Intelligenzen) zugeordnet werden, die individuell für seine Bedürfnisse zusammengebaut sind.

Die Canyonshooter Engine verfügt über eine eigene AI State Machine. Sie bietet eine hohe Flexibilität und sorgt gleichzeitig für einen wartbaren AI-Programmcode. Eine Verwendung ist z. B. für Enemies, Waffen, Special-Effects, usw. möglich.

Jeder AIState ist als Klasse realisiert und verfügt über eigene Events wie:

Die einzelnen States können leicht erweitert oder gegen andere ausgetaucht werden. Ein besonderes Feature ist, dass sie erst zur Laufzeit zugewiesen werden müssen und somit dynamisch je nach Konfiguration hinzugefügt oder entfernt werden können.

Bei den Enemies wurde jedoch darauf Wert gelegt, die AI vom Gegner komplett abkoppeln zu können. So kann im Leveleditor für jeden Gegner eine spezielle AI gesetzt werden.

Zusätzlich ist es möglich eine Konfiguration für einen Enemy per XML mit anzugeben, die von der jeweilige AI verwendet wird. Dort finden sich Konfigurationswerte wie Lebenspunkte, Items, Geschwindigkeit, Bewaffnung etc. wieder.

Mit den verschiedenen AI-States konnten wir patrouillierende Gegner erzeugen, die beispielsweise erst bei einer bestimmten Nähe anfangen zu feuern oder auf den Spieler zu fliegen.

Das aktuelle Kapitel




TU Braunschweig - Fakultät für Mathematik und Informatik - Computer Graphics - Teamprojekt Canyonshooter