KI
(Mehr Informationen/weitere Artikel) {{{1}}} |
Die Künstliche Inteligenz(KI) beschreibt in der Spieleindustrie das Verhalten von Personen/Tieren. Hierbei fallen Schlagwörter, wie z.B. steering behavior, state machines, path finding, spatial system, neurale netzte. Im Grundlegenden kann man sagen, ein Character hat eine Aufgabe und sucht sich seinen Weg, um die Aufgabe zu lösen. Hierbei können Gefühle, Verhalten und Umgebung reinspielen. Die KI ist von der Physik sehr abhängig, da die Wegfindung und der Einfluss der Umgebung stark in das Verhalten reinspielen. Aktuell ist alles, vom dummen(festes verhalten) starren(gleiche wegpunkte) Char bis zum fühlenden(Umgebung hat einfluss auf das Verhalten) und dynamischen(dynamische Wegfindung) Char verfügbar.
Inhaltsverzeichnis
Wegfindung
Die Wegfindung ist ein Mittel, um ein Objekt von Punkt A nach Punkt B zu bringen oder auch nicht(wenn es kein weg gibt). In den Anfängen war der Weg vogegeben, man hat einfach Punkte gesetzt, die das Objekt entlang ging. Später hat man Netze aus Wegpunkten ins Rennen geschickt, hierbei sucht sich der Algorythmus einen von vielen Möglichkeiten aus. Dabei haben z.B. kürzester Weg, Möglichkeit Leben oder Munition aufzuladen eine Rolle gespielt. Mitlerweile verwendet man dynamische Wegfindung, dabei wird die Umgebung durch ein spatial system gescannt und ein optimaler Weg gesucht. Eine Möglichkeit ist z.B. das ziehen einer Linie, von A nach B. Dann unterteilt man den Bereich von A bis B in 8 Teile(Octree) und prüft auf begehbarkeit. Wenn keine Lösung gegeben ist, dann wird die Auflösung nochmal erhöht, bis man ein Feld betreten kann oder die Auflösung das Maximum erreicht hat(aussmaße des Spielers). Auf diese Weise kann man die Hindernisse zwischen A und B umgehen und hat nicht die ganze Welt sondern nur einzelne Sektoren in der suche verwendet. D* ist ein Algorythmus, der dynamisches A* implementiert und somit für veränderbare Welten verwendbar ist.
Steering Behavior
Mit der Wegfindung haben wir zwar einen Weg von A nach B aber wie geht man diesen Weg ? Steering Behaviors sind dazu da, Verhalten in die Wegfindung einzubauen und die Bewegung zwischen 2 Wegpunkten zu definieren. So kann man z.B. den Weg gemütlich entlang laufen und wenn ein Sensor feststellt, dass eine größere Anzahl von Tieren sich auf die Person zubewegen, die Person in Panik los rennt. Das umgehen von Hindernissen wie z.B. Kisten, Personen oder ähnlichem wird auch damit gelöst. Ein Weg, der gefunden wurde kann z.B. verworfen werden, da er für die Person zu unsicher ist. Also einfach gesagt, es bringt das Empfinden und Verhalten in die Bewegung eines Objektes. Da ist ein relativ neues Gebiet, es gibt es schon seit vielen Jahren wird aber erst seit wenigen Jahren in Spielen verwendet. Hierbei werden auch Sensoren eingesetzt, diese erfasssen z.B. Entfernung und Bewegungsrichtung von Feinden oder gute Positionen für ein Hinterhalt.
State Machine
State Machines und Neurale Netzte sind zur festlegung von Verhalten da. Sie entscheiden, ob eine Person angst hat, etwas sucht oder einer Person behilflich sein will. Dabei wird in der State Machine eine Lookup Tabelle verwendet, die die Verhaltenmodies(States) festlegen. State Machines sind sehr einfach zu implementieren und brauchen wenig Rechenzeit.
Neurale Netzte
Neurale Netzte haben den Vorteil, gegenüber State Machienes, dass sie dynamisch sind. Das Neurale Netzt hat die gleiche Aufgabe, wie die State Machine nur löst es die Aufgabe durch training von bisherigen Wissen. Da das Verhalten angelernt werden muss, dauert es eine weile, bis sich die KI angepasst hat. Man kann gewisse Grundmuster vorlernen und mit der Software ausliefern. Neurale Netzte sind sehr rechenaufwändig aber die Vorteile und steigende Rechenleistung machen dieses System wesentlich schmackhafter.
Physik und KI
Die Basis der KI basiert auf Physikdaten und um diese effektiv zu machen gibt es einige Dinge zu beachten. Verwende abstrakte Versionen von Modellen, damit die Physik schnellere Kollisionstests und die KI schneller Wege finden kann. Hierfür gibt es Bibliotheken wie qhull, welche aus komplexen Objekten einfache Hüllen erstellt. Es lohnt sich nicht die Orginal Szenendaten für die Physik und KI zu verwenden, zu gunsten der Leistung sollte mindestens ein weiterer Layer vorhanden sein, der z.B. für die Physik eine abstraktere Version der Umgebung zur verfügung stellt. Diese kann dann auch von der KI verwendet werden. Ideal ist ein 3 Layer System, Layer 1 ist der zu zeichnende Layer(höchste qualität), Layer 2 ist der für kollisionserkennung zuständige Layer(mittlere qualität, Hüllen) und Layer 3 ist der für die KI wichtige Layer(niedrigste Qualität,unwichtige Objekte entfernt, extra informationen wie Triggerzones,Sensoren,...). Gemeinsame nutzung von Spatial Systemen und Kollisionstest sind vorteilhaft.