Sie sind auf Seite 1von 12

Künstliche Intelligenz und ihre Rolle

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

2 Künstliche Intelligenz in Computerspielen 4


2.1 Funktion und Aufgaben der Künstlichen Intelligenz . . . . . . . . 4
2.2 Herausforderungen und Probleme bei der Erstellung intelligenter
Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Ansätze zur Lösung . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Künstliche Intelligenz in der Zukunft 10

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.

1.2 Fortschritte bei Spielegrak und Künstlicher


Intelligenz im Vergleich

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.

Abbildung 1.1: Szene aus Quake (links)[6] im Vergleich zu fotorealistischer Land-


schaft aus Crysis mit Referenzbildern (rechts)[7]

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.

2.2 Herausforderungen und Probleme bei der Er-


stellung intelligenter Systeme

Damit eine KI funktionstüchtig ist, reichen den oben genannten Grundelemente,


die dann nach Bedarf erweitert werden können. In früheren Spielen gab es noch
keine intelligent handelnden Gegner - sie blieben in den vorgesehenen Räumen
und attackierten den Spieler, sobald er einen entsprechenden Raum betrat - die
Herausforderung wuchs nur durch den Anstieg ihrer Zahl (vgl. [4], S. 17). Von ak-
tuellen Spielen wird erwartet, dass die Gegnergruppen verschieden spezialisierte
Klassen aufweisen, die einige unterschiedliche Taktiken anwenden und mitein-
ander kommunizieren können. Vor allem in den Online-Multiplayer-Games sind
intelligente Bots, die fehlende menschliche Teilnehmer gleichwertig ersetzen kön-
nen, enorm wichtig geworden. Probleme, die zur Erstellung intelligenter Ga-
me Agents gelöst werden müssen, schlieÿen intelligente Navigation, Bewegung,
Ressourcen Management, Entscheidungsndung, Planung und Teamverhalten
ein.
1 Die Wegndung ndet in der Regel über den A*-Algorithmus statt, der
auf ein Wegpunktenetz/NavMesh zurückgreift, um mögliche Routen herauszu-
ltern. Dabei gilt, je weniger Wegpunkte auf der Karte zur Wegndung benötigt
werden, umso üssiger wirken die Bewegungen der NPCs (vgl. [5], S.10). Bei der
Berechnung des Weges ist es allerdings nicht ausreichend, den kürzesten Weg
zu nden. Die Bewegung wird sonst für den Spieler zu vorhersehbar und dem
NPC würden zum Beispiel versteckte Bonuswaen vorenthalten bleiben. Der
Agent sollte darüber hinaus die Beschaenheit der Karte im Überblick haben,
um rechtzeitig in Deckung gehen zu können. Auch ein breiteres Repertoire an
Bewegungen, wie Ducken und Springen, würden zu einer glaubwürdigeren KI
beitragen. Das erfordert einen hohen Aufwand für die Programmierer, da eine
intelligente Bewegung über die Karte die Verarbeitung aller Umgebungs- und
der Spielerdaten erfordert (vgl. [4], S. 17). Die Wegndung erzielt in dein meis-
ten aktuellen Spielen ein für Spieler und Entwickler wünschenswertes Ergebnis.
In Bereichen wie Team-Kommunikation und Gruppentaktiken treten dafür noch
häug Schwachstellen auf.
Es lässt sich beobachten, dass Spiele immer umfangreicher werden und Fort-
schritte in Grak und Gröÿe der Karten machen. Die KI kann mit dieser ver-
gleichsweise rasanten Entwicklung kaum Schritt halten (vgl. [1], S. 2). Um den

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.

2.3 Ansätze zur Lösung

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]

Auÿerdem schwinden die Vorbehalte der KI-Spezialisten, aus der Robotik


und anderen Bereichen, gegenüber Computerspielen zunehmend. Sie erkennen
die Chancen und Vorteile, die die Entwicklung von Spielesoftware mit sich
bringt. Der Fokus kann hierbei vollständig auf dem Programmieren liegen und
benötigt keine komplexe Mechanik, die in der Robotik gleichzeitig mitentwickelt
werden muss. Man braucht kaum Ressourcen und bekommt schnelle Resultate.
(vgl. [1], S. 15)
In den nächsten Jahren könnten leistungsfähigere Prozessoren helfen den
Rückstand der KI aufzuholen. Acht-Kern-Prozessoren würden den Program-
mierern erlauben, einen Kern allein für die KI zu nutzen, satt nur 5% der Re-
chenleistung, wie es die meisten Entwickler heutzutage vorschreiben würden,
um Ressourcen für Grakeekte aufzusparen (vgl. [1], S. 12 f.).
Ausnahmetitel in Puncto KI wie F.E.A.R. zeigen, was momentan möglich
ist. Der Grusel-Shooter arbeitet mit einem ausgeklügelten KI-Planungssystem,
das dynamisch die Situation analysiert  samt eigener Lebenspunkte, Positi-
on des Helden und Spielumgebung. Also können die Feinde durch das Fenster
üchten, eine Couch als Deckung nutzen und sich bei jedem Feuergefecht anders
verhalten.
5 Laut Dr. Andreas Gerber sei dies bei entsprechender Finanzierung
und Entwicklungsaufwand auch in Spielen mit komplexerem Leveldesign mög-
lich (vgl. [1], S. 16).

5 nach [1], S. 16

9
Kapitel 3

Künstliche Intelligenz in der


Zukunft
Während Computerexperte Ray Kurzweil behauptet, dass die KI in den nächs-
ten 30 Jahren den Menschen ein- und überholen wird (vgl. [10]), ist Gamestar-
Redakteur Heiko Klinge der Meinung, dass die nähere Zukunft der Künstlichen
Intelligenz genauso düster aus[sieht] wie die Gegenwart.
1 Vermutlich widerspre-
chen sich die Aussagen nicht einmal. Der allgemeine technische Fortschritt wird
in gewohnten Tempo, wenn nicht sogar schneller, weiter von Statten gehen und
erlauben KI in den verschiedensten Bereichen zu erforschen und weiter zu entwi-
ckeln. In der Medizin werden die gröÿten Fortschritte erwartet (vgl. [10]). In der
Spielebranche stagniert die Entwicklung der KI vermutlich noch eine Weile, bis
das öentliche Interesse für das Thema zunimmt und Nachwuchs-Programmierer
speziell in diesem Bereich gefördert werden. Solange werden die Publisher und
Entwickler weiterhin auf Grakeekte, Charakter- und Leveldesign setzten, um
die gewünschten Verkaufszahlen zu erreichen (vgl. [1], S. 17). Wer allerdings in
Zukunft realistische künstliche Welten erschaen will, wird nicht darum herum
kommen, der KI einen groÿen Teil des Entwicklungsprozesses zu widmen, denn
letztendlich ist es ihre Aufgabe Computerspielen Atmosphäre und Lebendigkeit
zu verleihen.

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)

[3] Bucher P.: OOP Basics, 17.05.2007, http://www.it-academy.cc/arti-


cle/1505/OOP+Basics.html (18.12.2011, 18:00)

[4] Priesterjahn S.: Online Imitation and Adaptation in Modern Computer


Games, Dezember 2007, Paderborn

[5] Dérer J.: Herausforderungen an die KI in Computerspielen, 03.02.2010,


Berlin (Deutsche Übersetzung des Keynote-Beitrags Challenge of AI in
Games von Jan-Anton Dérer am 26.11.2009 auf der Game On 2009)

[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)

[8] http://www.xaitment.com/english/products/xaitmap.html (18.12.2011,


21:00)

[9] Microsoft Presseservice, Künstliche Intelligenz für Computerspiele,


17.12.2008, http://www.microsoft.com/germany/presseservice/news/pres-
semitteilung.mspx?id=532398 (18.12.2011, 21:00)
[10] pte pte, Künstliche Intelligenz überholt Menschen bis 2030, 18.02.2008,
http://www.tecchannel.de/test_technik/news/1747252/kuenstliche_intel-
ligenz_ueberholt_menschen_bis_2030/ (18.12.2011, 21:30)

11