
Computerspiele werden immer komplexer. Die Entwicklung im Bereich der Hardware erweitert stetig die Grenzen des Möglichen.Die verbesserte Grafik lässt die Spieler in hochrealistische Spielewelten eintauchen. Immer komplexere Grafik-Systeme, Physik-Engines und Leveleditoren gewährleisten höchsten Spiele-Genuss. Aber ein entscheidender Bereich wurde bisher vernachlässigt: die Künstliche Intelligenz (KI) von computergesteuerten Gegnern und Nicht-Spieler-Charakteren (NPCs) oder Agenten.
Aber was genau ist Künstliche Intelligenz? Nach der modernen Definition ist Künstliche Intelligenz „the study and design of intelligent agents”, die Erforschung und Entwicklung von intelligenten Agenten. Unter einem intelligenten Agenten versteht man ein System, das seine Umgebung wahrnimmt und Handlungen zur Maximierung seiner Erfolgschancen vornimmt. Obwohl die Erforschung der Künstlichen Intelligenz bereits im Sommer 1956 begann, dauerte es fast zwanzig Jahre bis sie in Computerspielen eingesetzt wurde.
Das erste Spiel, das überhaupt eine gewisse gegnerische Intelligenz aufwies, erschien Ende 1970. Trotz der noch eher rudimentären Ausführung verfügten die Gegner in Space Invaders z.B. über sich steigernde Schwierigkeitsgrade und verschiedene Bewegungsmuster. Dies stellte einen bedeutenden Schritt in der Spiele-Entwicklung dar. Auf einmal konnten Gegner auf Handlungen des Spielers reagieren, was Schwierigkeit und Realismus des Spiels stark verbesserte.
Trotzdem kann man sagen, dass die Anwendung von Künstlicher Intelligenz in Spielen dem Fortschritt im Bereich anderer Tools der Spiele-Entwicklung hinterherhinkt. Obwohl immer wieder neue KI-Anwendungen auf den Markt kommen, handelt es sich bei den meisten immer noch um „Einheitsgrößen”-Lösungen. Diese Gesamtpaket-Technologien erfordern meist viel Zeit für die Implementierung, beschwerlich für den Entwicklungsprozess und zwingen Studios, einige Tools zu erwerben, die sie vielleicht nie wieder brauchen werden.
Allerdings gibt es da eine Lösung, die sich diesem Trend widersetzt: die xaitEngine.
Intelligente Bewegung & Entscheidungsfindung für Agenten
Eine intelligente Bewegung und Entscheidungsfindung bilden das Fundament für autonomere Agenten, für die Schaffung dynamischer Gruppenformationen, emotionaler Intelligenz und lebensechter Charaktere.
Intelligente Bewegung ist nicht gleichzusetzen mit Pfadsuche. Pfadsuche bezeichnet den Prozess, bei dem der Weges von Punkt A zu Punkt B in einem Spiel ermittelt wird.. Dies wird normalerweise durch automatisches oder manuelles Festlegen von Wegpunkten oder relevanten Punkten erreicht, die die Agenten z.B. anhand taktisch vorteilhafter Positionen durch eine Umgebung leiten. Aber dieses Verfahren eignet sich nicht für die Bewegung von Agenten in einer dynamischen Umgebung. Denn Pfadsuche konzentriert sich auf die Zielposition; sie beschreibt nicht, auf welche Weise der Agent sich von Punkt A nach Punkt B bewegen soll. Ein Pfad stellt nur sicher, dass ein Agent von der einen zur anderen Position gelangen kann. Um dynamischen Objekten wie z.B. anderen Nicht-Spieler-Charakteren (NPCs), Spielern, fallengelassenen Gegenständen usw., auszuweichen werden anspruchsvollere Algorithmen benötigt, die für ein komplexeres, intelligentes Bewegungs-Verhalten sorgen. Der Prozess „dynamisches Ausweichen” stellt sicher, dass Agenten nicht über Objekte stolpern, um die sie eigentlich herumlaufen sollen.
Darüber hinaus wird von Agenten normalerweise erwartet, dass sie Entscheidungen treffen. Bei den traditionellen KI-Lösungen im Spiele-Bereich waren die Entscheiduungsfindungsprozesse relativ eingeschränkt. Sie zielten in erster Linie darauf ab, die Reaktion des Agenten für bestimmte Ereignisse wie eine Explosion, einen Angriff oder eine Bewegung in einer Gruppenformation festzulegen..
Ein Unternehmen – xaitment – hat diese traditionellen Anwendungen nicht nur verbessert, sie bieten darüber hinaus eine komplett neue und komplette modulare Lösung.
xaitment: Mehr als nur Pfadsuche
Die xaitment GmbH wurde von Dr. Andreas Gerber, Forscher und Software-Entwickler am Deutschen Forschungszentrum für Künstliche Intelligenz (DFKI), gegründet. Mit seinem am DFKI erworbenen Wissen setzte sich Dr. Andreas Gerber daran, „lebensechte Künstliche Intelligenz (KI) für Computerspiele und Simulationen zu entwickeln”. Sein Ziel: Eine KI zu entwickeln, die so realistisch ist, dass Spieler in Zukunft nicht mehr unterscheiden können, ob sie im Spiel auf andere menschliche Spieler treffen oder auf computergesteuerte Agenten.
Dr. Gerbers Lösung, die xaitEngine, bindet in die KI von heutigen Computerspielen realistische Einflüsse mit ein, z.B. grundlegende Reaktionen, Ziele, Gegenleistungen, Konsequenzen und selbst Gefühle. Darüber hinaus haben Spiele-Entwickler die Möglichkeit entweder die xaitEngine als Gesamtpaket zu erwerben oder aus einzelnen Modulen auszuwählen. Die aus diesem modularen Ansatz resultierende Flexibilität, Kosteneffizienz und einfache Einbindung sprechen Spiele-Entwickler jeder Couleur an.
„Schon immer haben wir versucht, eine KI-Lösung zu entwickeln, die Studios fortschrittlichste Künstliche Intelligenz mit höchster Flexibilität bietet”, erklärt Dr. Andreas Gerber, Group-CEO von xaitment. „Die xaitEngine und die zugehörigen Module leisten genau das.”
Realistische Entscheidungen
Eine der zentralen Ideen hinter der Lösung von xaitment ist das autonome Verhalten von Agenten. Die in der Lösung von xaitment enthaltene Möglichkeit, Agenten mit autonomen Verhaltensweisen auszustatten, bietet Entwicklern die Möglichkeit, noch lebensechtere und menschenähnliche Charaktere zu schaffen. Dies wiederum sorgt für den benötigten Grad an Realismus, der Spieler komplett in eine Spiele-Welt eintauchen lässt.
Das Modul von xaitment für Verhalten unterstützt Entwickler bei der Schaffung von realistischem Verhalten von Agenten in sowohl bekannten als auch unbekannten Situationen. Das Modul enthält verschiedene Systeme, um diesen Realismus zu erreichen. Das erste System ermöglicht, dass Agenten durch Inferenz lernen, d.h. sie schlussfolgern anhand verschiedener Einflüsse der Spiele-Welt, ob eine Aussage zutrifft oder nicht. Ein reaktives System legt fest, wie Agenten auf bestimmte Ereignisse reagieren und passt ihr Verhalten an die jeweilige Spielsituation an. Durch den Einsatz eines KI-Planungs-Systems können Agenten Skript-ähnliche Pläne für ein gegebenes Problem erstellen, die auf ihnen bekannten Regeln und ihrem individuellen Wissen basieren. Auf diese Weise kann jeder Agent einen eigenen Plan entwickeln, der abhängig ist von seinen vorherigen Erfahrungen. Diese realistische Verhaltensweisen fördern einen interaktiveren Spielfluss.
Zusätzlich bietet xaitment ein Finite-State-Machine-Modul (FSM-Modul) mit einer intuitiven grafischen Benutzeroberfläche. Dieses Modul bietet Entwicklern die Möglichkeit, ohne viel Aufwand komplexe Zustandsmaschinen zu modellieren, die das Verhalten des Agenten bis zu einem vom Entwickler festgelegten Grad unvorhersehbar beschreiben. Der hierarchische Aufbau des FSM-Moduls erlaubt dem Benutzer, untergeordnete FSM-Module in das Hauptmodul einzubinden. Benutzerdefinierte Variablen wie Angriffssysteme, Vorbedingungen und Wahrscheinlichkeiten können vererbt oder individuell definiert werden, was Entwicklern zusätzliche Flexibilität bietet und sie gleichzeitig dabei unterstützt, die Kontrolle über den Spielfluss zu behalten.
Sowohl das Verhaltensmodul als auch das FSM-Modul können als eigenständige Module oder in Verbindung mit der xaitEngine eingesetzt werden.
Intelligente Navigation
Agenten mit der Fähigkeit auszustatten, sich innerhalb der Spiele-Welt intelligent zu bewegen, ist eine hochgradig komplexe Aufgabe. Oftmals basiert die Bewegung auf manuell definierten statischen Navigationsgraphen, deren Definition zeitaufwändig und Fehler-lastig ist. xaitment bietet zwei ausgeklügelte Module zur Erleichterung dieses Prozesses.
Das NavMesh-Generator-Modul verwendet eine einzigartige Methode zur räumlichen Aufteilung der Karte für die Erstellung von Navigation-Meshes. Entwickler müssen lediglich Umgebungs- und Agenten-Daten in den Generator eingeben, der die Navigation-Meshes dann automatisch erstellt. Da dies innerhalb von Sekunden erfolgt, können Entwickler ohne viel Aufwand Änderungen an der Karte vornehmen und unzählige verschiedene Möglichkeiten ausprobieren, um den Spielfluss zu optimieren. Wenn die Daten berechnet wurden, werden sie vom zweiten Modul, dem Bewegungs-Modul, interpretiert, das dafür sorgt, dass Agenten sich intelligent in der Spiele-Welt bewegen.
Das Bewegungs-Modul unterstützt verschiedene Agenten-Typen und sowohl statische als auch dynamische Hindernisvermeidung auf der Basis einzelner Agenten oder Agenten-Typen. Ausgestattet mit zahlreichen Verhaltensmustern (z.B. Fortbewegung, Suche, Flucht usw.) bietet das Bewegungs-Modul außerdem die Möglichkeit, benutzerdefinierte Verhaltensmuster einfach hinzuzufügen. Ein bestimmtes Verhalten kann außerdem weitere Verhalten auslösen oder mit weiteren Verhalten zu einer Sequenz zusammengestellt werden (z.B. gehe zu Position A, gehe zu Position B, bewache Position C, verstecke dich und suche, wenn ein Feind in der Nähe ist usw.), was die nötige Flexibilität für ein realistisches Bewegungsverhalten liefert.
Die Zukunft hat begonnen
Die Künstliche Intelligenz in Spielen ist ein komplizierter Vorgang. Bei einer manuellen Herangehensweise erfordert sie mühsames Programmieren von Hand, das oft fehlerlastig ist. Heutige Tools stellen zwar eine Erleichterung für diesen manuellen Vorgang dar, bieten dabei aber in Bezug auf die Lösung an sich nur wenig Flexibilität.
xaitment ist nicht nur die Entwicklung einzigartiger Funktionen für die Computerspiele-KI, die die immersiven Qualitäten eines Spiels steigern, gelungen sondern auch die Entwicklung eines intuitiv zu bedienenden modularen Systems, das es Studios ermöglicht, auf einfache Weise nur genau diejenigen KI-Funktionen einzubinden, die sie auch wirklich brauchen. Die Einbindung der Module in vorhandene Pipelines ist weniger kompliziert und lässt dich einfacher auf die eigenen Bedürfnisse anpassen. Darüber hinaus wird jedes Modul mit einer grafischen Benutzeroberfläche geliefert, die Kodierung überflüssig macht und Designern, die bisher wenig am KI-Prozess beteiligt waren, die Möglichkeit gibt, erstmals mitzuwirken. Insgesamt bieten Middleware-Lösungen wie die von xaitment den Studios eine weniger riskante, besser zu bewältigende, flexiblere und bei weitem kosteneffizientere Herangehensweise an KI in Computerspielen.
Holger Offermanns, Entwicklungsleiter von Zone 2 Media, durfte die Vorteile von xaitments modularem Ansatz persönlich erleben. „Wir verfügten nicht über die nötigen Ressourcen um eine KI von Grund auf zu entwickeln und wir benötigten keine komplette Lösung bzw. hatten nicht die Zeit eine zu implementieren. xaitment bot uns die Möglichkeit, schnell und einfach hochentwickelte Module zu implementieren, die genau unseren KI-Bedürfnissen entsprachen.”
Die oben beschriebenen Tools und Funktionen sind nur ein Bruchteil dessen, was xaitment zu bieten hat, was auch ein Grund für das stetige Wachstum von xaitment während der letzten Jahre darstellt. Spiele-Entwickler in ganz Europa haben die ausgeklügelte Technologie und den einzigartigen Ansatz von xaitment innerhalb kürzester Zeit angenommen. Mit der Eröffnung einer zweiten Niederlassung in San Francisco (Kalifornien), einem Zentrum der Spiele-Entwicklungs-Industrie, sieht xaitment auch auf dem amerikanischen Markt einem Erfolg entgegen.
News-Übersicht