von Julian Dasgupta,

GDC Europe 2010: Der Bot-Motor



Im Rahmen der GDC 2010 plauderte Alex Champanard (AIGameDev.com) über den Nutzen von Bots in Spielen. Den gebe es durchaus, würden doch beispielsweise laut Epic mehr als die Hälfte aller Spieler Unreal Tournament 3 bevorzugt offline spielen. Auch gebe es oft einen technischen Grund: Netzwerk-Code sei immer eine Herausforderungen. Aufgrund der initialen Probleme bei Demigod hätten 77 Prozent der Käufer des MP-orientierten Spiels vorwiegend gegen die KI gespielt.





Der virtuelle Controller

Grundsätzlich gebe es aus Entwicklersicht zwei verschiedene Ansätze für das Implementieren von Bots. Im Standardansatz hänge der Charakter bzw. das Animationssystem an einer Art virtuellem Controller. Der wiederum nimmt seinen Input entweder vom Spieler oder von der KI entgegen. Das mache für den Avatar, der die Steuerungssignale bekommt, letztendlich keinen Unterschied.





Die Vorteile: Die Programmierschnittstellen seien recht übersichtlich. Auch sei es einfacher, Spieldaten aufzuzeichnen und wiederzugeben. Last but not least: Teams könnten einfach eingeteilt werden, da die KI-Leute zumindest nicht direkt mit den Grafikern zusammenarbeiten müssten.

Die Nachteile: Die Animationen seien insgesamt schlechter. Die KI könne eigentlich viel weiter denken und mehr leisten. Der virtuelle Controller, der die Informationen in standardmäßige Steuerungssignale umwandelt, würde damit auch gleichzeitig als Datenfilter fungieren. Information gehe verloren. Auch müsse man oft Spezialfälle handhaben und beispielsweise ständig überprüfen, ob ein Charakter gerade letztendlich von der KI oder vom Spieler gesteuert wird.

Maßgeschneidertes

Im anderen Ansatz baue man auf wiederverwendbare Charakterkomponenten. Hier würde man akzeptieren, dass KI und Spieler verschiedene Verhaltsweisen zeigen und nicht gleich behandelt werden können. Die KI sei hier direkt an das Animationssystem angebunden und könne auf einzelne Bereiche zugreifen. Als Beispiel wird das Animationssystem genannt, das Naughty Dog für die Uncharted-Reihe entwickelt hat.





Der Code sei insgesamt simpler, auch müsse das Team als Einheit arbeiten, da die Animatoren direkt mit den KI-Leuten kooperieren müssten. Das Result sei eine deutlich verbesserte Animationsqualität. Auch könne die Steuerung des Spielers erweitert werden. Ein Beispiel dafür sei das Kill-System in Splinter Cell: Conviction. Dort markiere der Spieler mehrere Gegner, danach würde eine KI-Routine kurz einspringen, um die Aktion letztendlich auszuführen.

Der Ansatz sei aber insgesamt etwas komplizierter, da sich die Verfahren je nach Engine deutlich unterscheiden können. Insgesamt sei die Herausforderung anfangs größer - wenn man die initalen Hürden jedoch meistere, würde auch die Qualität der Bots steigen.

Es sei durchaus empfehlenswert, die Verhaltensweisen in Hierarchien einzuteilen. In der unteresten Ebene der Bots von Left 4 Dead gebe es vor allem ein grundsätzliches Ziel: Das Überleben. Der Charakter versuche hier Zombies abzuschießen und Healthpacks einzusammeln. Eine Ebene darüber seine die Assist-Routinen angesiedelt - jene Verhaltensweisen, mit denen andere Charaktere unterstützt werden, indem sie beispielsweise geheilt oder gar wiederbelebt werden. In der nächsten Stufe würde man jene Verhaltensweisen umsetzen, die es einem Bot ermöglichen, einen Level selbstständig zu beenden. Das Sahnehäubchen seien dann übergreifende strategische Vorgehensweisen.





Ein weiteres Problem für Bots, sei das Navigieren durch Levels. Dafür gebe es heutzutage schon einige Fertiglösungen, die man lizenzieren könne. Im Allgemeinen sei es oft außerdem sinnvoller, lieber einen Level 'bot-gerecht' zu gestalten, anstatt die KI-Leute mit der Handhabung von Sonderfällen in einer Map auszulasten. In der Regel würde auch der Spieler von einer klareren Levelstruktur profitieren.



Kommentare

cpt.ahab schrieb am
Crewmate hat geschrieben:Das war sarkastisch gemeint. Wie viele Smilies soll ich noch dahinter setzten?
Man man man...immer schön drei smilies, dann ist es klar!
crewmate schrieb am
Das war sarkastisch gemeint. Wie viele Smilies soll ich noch dahinter setzten?
cpt.ahab schrieb am
Crewmate hat geschrieben:Du sollst die Spiele ja auch schließlich im Online Multiplayer zocken.
Singleplayer, das ist sooooo 2005 :P :wink:
Ne, eben nicht 2010/09 ist Borderlands, Resident Evil 5, Arma2, das beschissene neue Splinter Cell und und und und...Das ist das neue Multiplayer und zwar COOP.Und je besser die KI desto mehr spaß macht das ganze dann auch, weil man gefordert wird.
Leider sieht es in Sachen KI bei den Spielen eher bescheiden aus.
Darum muss es in Sachen KI , vorallem in ComputerSpielen, endlich eine Neuerung geben.
TheInfamousBoss schrieb am
Ich liebe Bots und finde es sehr schade, dass viele Spiele keine mehr unterstützen.
Was waren das noch für Zeiten, als ich CS: Source (oder auch 1.6!), Killzone, XIII usw. gegen Bots gespielt hab - meist auch noch im Splitscreen!
Splitscreen und Bots sind tolle Features, die langsam auszusterben scheinen...
JoeDreck schrieb am
Ich finde nicht, daß es Fortschritte bei der KI gibt. Vor allem bei Strategiespielen. Man baut eine einfache KI und gibt ihr dann Bonus, um es den Spieler etwas schwerer zu machen. Man sollte endlich vor allem mit den Spielern zusammenarbeiten. Man will ja schliesslich, daß es der Endverbraucher benutzt und das ist der Spieler, denn kaum ein Entwickler kommt an die Spielklasse eine Strategiespielers.
Auch wird häufig Einsteigerfreundlichkeit für eine schwache KI benutzt. Am häufigsten wird jedoch einfach gelogen und eine KI versprochen, die man noch nie zuvor gesehen hat, dabei hätte man auch die KI von Age of Empires I verwenden können, ohne ein Unterschied zu bemerken.
Anderes Beispiel: Mafia 2. Das Szenario ist super gemacht, weil die KI mit Sicherheit gescriptet ist, daß heisst, daß die Bots vorgeschrieben bekommen, was sie tun sollen. Spielt man dagegen in der Stadt, merkt man wie unterentwickelt die KI ist. Die Grafik ist auf dem Stand von 2010 und die KI 1990.
schrieb am