in Computerspielen
Maximilian Bezold
Dezember 2011
Inhaltsverzeichnis
1 Einleitung 2
1.1 Denition Künstliche Intelligenz . . . . . . . . . . . . . . . . . 2
1.2 Fortschritte bei Spielegrak und Künstlicher Intelligenz im Ver-
gleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1
Kapitel 1
Einleitung
1.1 Denition Künstliche Intelligenz
Intelligenz ist ein sehr komplexes Konstrukt und lässt sich deshalb nur äuÿerst
schwer messen. Es gibt kaum Formeln, die eine Berechnung zulassen, und unter-
schiedliche Stufen der Intelligenz grenzen sich nicht klar voneinander ab. Daher
ist die Künstliche Intelligenz (kurz: KI) ebenfalls nicht eindeutig deniert. All-
gemein versteht man darunter den Versuch, die menschliche Intelligenz zu kopie-
ren und auf Maschinen zu übertragen. So zum Beispiel in der Robotik oder bei
Spracherkennungssoftware. Oft wird hierbei der Begri Künstliche Intelligenz
nicht korrekt verwendet, da es sich häug nur um eine simulierte Intelligenz
handelt, wie auch in Computerspielen. Es wird dazu ein Programm geschrie-
ben, das so viele potentiell eintreende Situationen wie möglich abdecken soll
und die Reaktion auf diese Ereignisse vorgibt. Die ausführende Maschine hat
dabei keinerlei eigene Entscheidungsmöglichkeit und ist in der Regel auch nur
begrenzt bis gar nicht Lernfähig. Dennoch ist KI ein etablierter Begri in der
Spielebranche und wird weiterhin in der folgenden Ausführung verwendet, im
Gedächtnis behaltend, dass es sich in Computerspielen lediglich um virtuelle
Intelligenz handelt.
Doch wie intelligent ist Spielesoftware mittlerweile geworden? Ohne Zweifel ha-
ben die Grakeekte im letzten Jahrzehnt einen Sprung nach vorne gemacht.
Erinnert man sich an die pixeligen Texturen der ersten 3D-Titel wie Quake
und vergleicht sie mit den auf den ersten Blick nahezu fotorealistischen Szeneri-
en aus Crysis (vgl. Abbildung 1.1), lässt sich der Fortschritt kaum leugnen. Die
KI hingegen erweckt den Eindruck einer vergleichsweise schleichenden Weiter-
entwicklung. In Serientiteln wie Command & Conquer wird dieser [Stillstand]
2
auf niedrigem Niveau[1] deutlich. Zum Beispiel mache der Ernter im dritten
Teil der Serie immer noch den gleichen Fehler - auf der Suche nach Rohstoen
kommt es vor, dass er in feindliche Lager fährt - wie im ersten Command &
Conquer. Mit dem Unterschied, dass er im feindlichen Lager nun deutlich ef-
fektvoller abgeschossen wird (vgl. [1]). Es scheint so, als würden Entwickler und
Publisher von Spielen, abstrakt formuliert, mehr Wert auf die Äuÿerlichkeiten
eines Titels legen, als auf seine Intelligenz. Wie viel Wahrheitsgehalt dahinter
steckt, welche Faktoren auÿerdem die Entwicklung der KI beeinussen und was
man erreichen könnte, soll im Folgenden untersucht werden.
3
Kapitel 2
Künstliche Intelligenz in
Computerspielen
2.1 Funktion und Aufgaben der Künstlichen In-
telligenz
Wie viel Spaÿ ein Computerspiel langfristig macht, ist gröÿtenteils abhängig von
der KI. Zwar mag ein Spiel durch seine Grakpracht beeindrucken und mehr
Leute zum Kaufen ansprechen, jedoch nutzt ein gut gestaltetes Level nichts,
wenn kein Leben darin vorhanden ist. Der Spieler will mit der virtuellen Rea-
lität interagieren und dabei nachvollziehbare Konsequenzen erfahren. Dumme
Gegner stellen keine Herausforderung dar und mindern den Spielspaÿ, während
übermächtige Antagonisten Frustration auslösen können. Eine gut funktionie-
rende KI sollte daher im besten Falle dem Spieler gar nicht als solche auallen.
Dabei stellt sich die Frage, wie eine KI aufgebaut sein muss, damit sie funktio-
niert. Um eine glaubwürdige Fassade einer realistischen Welt zu erschaen, wird
ein Agent, eine Software zur Steuerung einer KI, darauf programmiert, simple
wenn-dann-Entscheidungsketten einzuhalten. Zum Beispiel:Wenn Gegner in
Sichtweite, dann weglaufen. Wenn Gegner auÿer Sichtweite, dann letzte Akti-
on weiter ausführen. Die Aktionen und Reaktionen eines Agents werden umso
glaubwürdiger, je mehr Optionen er hat, um auf eine Situation zu reagieren (vgl.
Abbildung 2.1).
4
Abbildung 2.1: Links ein Beispiel für eine simple Entscheidungskette, rechts eine
ausführlichere Version[2]
Ein Agent für einen Begleitcharakter, der den Helden unterstützen und tak-
tische Manöver ausführen soll, eventuell sogar auf verschiedene Handlungen des
Protagonisten positiv oder negativ reagiert, muss demnach eine Vielzahl solcher
Entscheidungsketten vorher einprogrammiert bekommen haben. Dabei spielen
verschiedene Unterteilungen der KI zusammen und erschaen ein überzeugendes
Gesamtbild. Die wichtigsten KI-Typen für Computerspiele sind die Roaming-
KI, die Benehmungs-KI und die Strategische KI (vgl. [2]).
Die Roaming-KI (engl. to roam: herumwandern) ist für die Bewegung der
computergesteuerten Objekte zuständig. Es gibt drei übergeordnete Bewegungs-
arten, das Patrouillieren, das Verfolgen und das Ausweichen (vgl. [2]), die mitein-
ander kombiniert ein Objekt intelligent steuern. Beim Patrouillieren bewegt sich
das Objekt permanent auf einer Bahn hin und her, solange es nicht durch eine
Interaktion beeinusst wird. Ein typisches Beispiel dafür sind Wachposten aus
dem Shooter-Genre, die konsequent ihre Route abgehen, bis ein Feind in Sicht-
weite kommt. Dazu wird der ausführenden Agent so programmiert, dass er die
Koordinaten des patrouillierenden Objekts, in diesem Fall des Wachpostens, bis
zu einem bestimmten Wert erhöht und ihn dann wieder bis zum Ausgangswert
reduziert. Im Falle einer Interaktion, beispielsweise das Auftauchen eines weite-
ren Objekts innerhalb eines bestimmten Radius, der Sichtweite des Wachpostens
entsprechend, greift die Verfolgungsfunktion. Der NPC (kurz für Non-Player-
Character, dt.:Nicht-Spieler-Charakter) gleicht nun schrittweise seine Koor-
dinaten an die des zu verfolgenden Objektes an.Wenn X-/Y-Koordinaten des
Objekts gröÿer als X-/Y-Koordinaten des Verfolgers, dann X-/Y-Koordinaten
des Verfolgers erhöhen. Wenn X-/Y-Koordinaten des Objekts kleiner als X-/Y-
5
Koordinaten des Verfolgers, dann X-/Y-Koordinaten des Verfolgers vermindern
(vgl. [2]). Durch eine weitere Aktion, wie zum Beispiel das Vermindern der Le-
benspunkte des NPCs, kann die Ausweichfunktion aktiviert werden, wobei genau
das Gegenteil passiert, wie beim Verfolgen. Der Ausweichende bewegt sich so-
lange von den Koordinaten des Objektes weg, bis er auÿerhalb einer denierten
Reichweite ist. Um menschliches Versagen zu simulieren, wird oftmals ein Zu-
fallswert in die Aktionen mit einberechnet, wodurch Abweichungen vom Kurs
möglich sind. Ein NPC wirkt dadurch eher wie ein menschlicher Mitspieler als
eine perfekte Maschine.
Für mehr Glaubwürdigkeit sorgt auÿerdem die Benehmungs-KI. Der Agent
bekommt mehrere Reaktionsmöglichkeiten auf eine bestimmte Situation zur
Auswahl, die er mit unterschiedlicher Wahrscheinlichkeit ausführt (vgl. [2]). Als
Beispiel wieder der Wachposten und die Sichtung eines Objekts, wobei in der KI
festgelegt worden ist, dass der Wachposten in 20% der Fälle das Objekt ignoriert,
zu 10% wegläuft und zu 70% die Verfolgung aufnimmt. Für einen älteren Wach-
posten würde sich zum Beispiel anbieten, den prozentualen Wert, bei dem er das
Objekt ignoriert, zu erhöhen, um Unaufmerksamkeit oder nachlassende Sinne zu
simulieren. Jede Veränderung der Werte würde einen unterschiedlichen Charak-
ter erzeugen. Es können theoretisch beliebig viele Wahrscheinlichkeiten für einen
Agent festgelegt werden, die alle in in sehr komplexen wenn-dann-Ketten un-
terteilt sein können, um sehr komplex handelnde NPCs zu schaen. Nötig ist dies
vor allem bei für das Spiel wichtigen Charakteren, wie zum Beispiel Begleiter
des Protagonisten, oder wiederkehrende und/oder starke Antagonisten. Für die
breite Masse der NPCs ist es meist ausreichend, simplere wenn-dann-Ketten
zur Grundlage zu haben um überzeugend zu wirken.
Die Strategische KI hat die Aufgabe Regeln uns Strategien für das Verhalten
von NPCs festzulegen. Darüber hinaus kann sie taktische Muster des Spielers
erkennen und den Agent die passende Gegentaktik dazu ausführen lassen. Dies
wird z.B. bei Schachspielen benutzt. [...] Ein Schachcomputer z.B. versucht im-
mer zu gewinnen. Dabei muss er an Hand vom letzten Zug des Spielers Entschei-
dungen treen, die einerseits auf Logik basieren, andererseits versuchen vorher
zu sehen was der Spieler als nächstes macht.[2]
Das Umschalten zwischen den Verhaltensweisen, zum Beispiel von Patrouil-
lieren auf Verfolgen, wird durch objektorientiertes Programmieren (kurz: OOP)
realisiert (vgl. [2]). Strukturierte Programmiersprachen wie [Java, C++ und
C#] sehen eine strikte Trennung von Daten und Anweisungen vor. Daten werden
durch Variablen und Strukturen repräsentiert, Anweisungen können zu Funk-
tionen zusammengefasst werden. Man hat also zwei Teile, die zwar von einan-
der abhängig sind, jedoch nicht als eine logische Einheit implementiert werden
können. Aus dieser Problematik ist die objektorientierte Programmierung [..]
entstanden. [...] Das wichtigste Konstrukt in der OOP ist die Klasse.[3] In einer
Klasse sind Informationen und verschiedene Abläufe gespeichert. Objekte wer-
den Klassen zugeordnet, um bestimmte Verhaltensweisen oder Eigenschaften zu
erhalten. Beispielsweise erfordert das Umschalten eines Wachpostens von Pa-
trouillieren auf Verfolgen einen Wechsel der Eigenschaften und entspricht somit
einem Wechsel der Klasse.
6
Ein Agent kann auch eine Gruppe NPCs steuern und ist nicht, wie aus den
obigen Beispielen abgeleitet werden könnte, auf ein Objekt beschränkt. Voraus-
setzung dafür ist, dass die gesteuerte Gruppe die selben Eigenschaften besitzt.
Auch wenn ein Agent eine Gruppe steuert, können die einzelnen Gruppenmit-
glieder zur gleichen Zeit unterschiedliche Handlungen ausführen, sofern sie die
Option haben, wahrscheinlichkeitsbasierte Entscheidungen zu treen, wie im
Absatz Benehmungs-KI beschrieben.
1 Problems that have to be solved for creating intelligent game agents include intelligent
navigation, movement, resource management, decision making, planning and team behaviour
übersetzt durch den Autor, nach [4], S. 17
7
Anforderungen der Spieler gerecht zu werden, müssen Programmierer die KI
durch Cheaten aufwerten, zum Beispiel [bauen] die Gegner in Anno 1701 [..]
ihre Häuser und Wege [..] nicht Stück für Stück wie der menschliche Spieler,
sondern platzieren vordenierte Gebäude-Muster etwa für ein Wohngebiet
oder eine Werkzeugproduktion. Die Feinde in Supreme Commander kontrollie-
ren ihre Armeen nicht Einheit für Einheit, sondern grundsätzlich in Gruppen.
2
Für Kampagnen und Schlauchlevel ist oft sinnvoller, sich auf solche Tricks oder
Skriptsequenzen zu stützen, da der Spieler so besser durch die Missionen geführt
werden kann, doch in Rollenspielen und Open-World-Games wäre eine lebendi-
gere, weil intelligentere, Spielwelt angebracht. Der damit verbundene Aufwand
wird dabei häug von den Entwicklern unterschätzt und übersteigt in vielen
Fällen die nanziellen und zeitlichen Mittel (vgl. [1], S. 4 .). Um dem vorzu-
beugen, sei es ratsam bereits beim Prototyping die KI mit einzubeziehen (vgl.
[1], S. 8.).
Auf Grund der Komplexität umfangreicher KI, laufen die Entwickler Gefahr
zu intelligente Gegner zu kreieren. Die Balance zu wahren ist eine Gratwan-
derung und erfordert einige Kompromisse. Hier ein Risiko einzugehen und mit
der KI zu experimentieren, kann kleinere Studios in die Insolvenz führen, wenn
sich dadurch ihr Zeitplan verschiebt (vgl. [1], S. 10).
Dabei ist das gröÿte Problem, dass die KI von vielen Entwicklern und Pu-
blishern absichtlich hinten angestellt wird, weil KI keine Spiele verkauft. Das
tun spektakuläre Grak, innovative Spielelemente, coole Charaktere, ja sogar
Lizenzen.
3 Deshalb wird nur ein Bruchteil des Budgets in die Entwicklung der
KI gesteckt, der Groÿteil wandert in Level und Grak Design, der Kosten auÿer-
dem einfacher kalkulierbar sind. Darüber hinaus halten viele Entwicklerstudios
ihre Programmcodes für die KI unter Verschluss, um besser mit anderen Fir-
men konkurrieren zu können, während hoch entwickelte Software die Arbeit im
Design-Sektor erleichtert.
Firmen wie Articial und Xaitment [arbeiten] [..] daran, diese Softwarelücken
zu schlieÿen.
4 Programme zur einfacheren und übersichtlicheren Handhabung
zum Beispiel von NavMeshes (vgl. 2.2) würden den zeitlichen und nanziellen
Aufwand bei der KI-Entwicklung reduzieren und einen schnelleren Fortschritt
bringen. Finanziell starke Firmen wie Microsoft erkennen die Wichtigkeit der
KI für die Informatik und unterstützen Firmen wie Xaitment (vgl. Abbildung
[9]).
2 nach [1], S. 3
3 nach [1], S. 9
4 nach [1], S. 14
8
Abbildung 2.2: Xaitment liefert mit xaitMap eine Software zur einfachen Kon-
trolle von Wegndung und Bewegung in Computerspielen[8]
5 nach [1], S. 16
9
Kapitel 3
1 nach [1], S. 17
10
Literaturverzeichnis
[1] Klinge H.: Warum Künstliche Intelligenz (KI) in Spielen sta-
gniert, http://www.tecchannel.de/webtechnik/entwick-
25.01.2008,
lung/1744817/warum_kuenstliche_intelligenz_ki_in_spielen_stagniert/
(18.12.2011, 15:00)
[2] http://www.it-
Faes P.: Wie funktioniert künstliche Intelligenz, 30.12.2003,
academy.cc/article/1207/Wie+funktioniert+kuenstliche+Intelligenz.html
(18.12.2011, 18:00)
[6] http://www.geek.com/wp-content/uploads/2009/02/qua-
ke_tenebrae_08.jpg (18.12.2011, 20:00)
[7] http://extreme.pcgameshardware.de/attachments/118004d1246707840-crysis-
fotorealistische-oberaechen-dank-textur-paket-crysiscrysis.jpg (18.12.2011,
20:00)
11