|
Die Grundlagen künstlicher Intelligenz in Spielen
von Geoff Howland
übersetzt von
Jochen Joosten
Künstliche Intelligenz (KI) war bisher Thema in vielen
Diskussionen, und dies
mit gutem Grund. Die Bereiche Grafik und Sound
machen deutliche Fortschritte, aber die Aktionen der vom Computer
kontrollierten Spieler funktionieren nicht immer auf intelligente
Weise.
Noch wichtiger als die vom Spiel gesteuerte Intellgenz ist die
gesteuerte
Dummheit des Spiels. Die meisten Spieler kaufen sich nicht den
neuesten 3D-Shooter, um gegen einen übermächtigen "Professor
Moriarty" mit
einer fetten Kanone zu kämpfen und nach drei Sekunden
in der Ecke zu liegen. Aber sie erwarten auch nicht gegen einen
total verblödeten
Gegner, der an der Komplexität einer Ecke scheitert zu spielen
KI von Einheiten
Künstliche Intelligenz in Spielen ist nicht unbedingt wörtlich
zu nehmen. KI
für Einheiten ist eigentlich ein Versuch, lebensechte
Eigenschaften zu programmieren, um ein möglichst natürliches
Verhalten der
Einheiten zu simulieren.
Eine Wache, die nur auf einer Stelle steht und sich nicht bewegt,
kann sehr
unrealistisch aussehen. Wenn Du dann eine Routine
schreibst, die die Wache dazu bringt, sich in der Gegend
umzuschauen und
von Zeit zu Zeit ihre Position zu wechseln,
fängt diese Wache an, mehr nach Leben auszusehen. Wenn dann noch in
einer
Situation eine andere Wache vorbeikommt und die
beiden miteinander sprechen, wird das Ganze noch viel realistischer
Es gibt zwei Arten von Aktionen in Künstlicher Intelligenz von
Einheiten:
einmal Reaktionen auf Spieler-Aktionen und
dann noch spontane Aktionen.
Eine Einheit reagiert, wenn sich ihre Umgebung verändert und sie
durch diese
Veränderung veranlaßt wird, etwas zu tun. Z.B. wenn ein
Gegner Dich sieht, auf Dich zurennt und anfängt zu schießen. Dann
hat die
Einheit auf Dein Erscheinen reagiert.
Eine spontane Aktion ist z.B., wenn eine Einheit beschließt, um
die
Basis zu fahren, um sie abzusichern. Vor dieser Aktion gab es keine
Veränderung in der Umgebung.
Wenn Du beide Arten von Aktionen in Deinen Spielen benutzt,
kannst Du die
Illusion erzeugen, daß Du intelligente Einheiten
hast, die autonom handeln und keine simplen Maschinen sind.
Reaktions KI
Reaktionen von Einheiten sollten immer auf den Sinnen dieser
Einheiten basieren. Wenn
Du eine KI nach menschlichen Vorlagen aufbaust,
mußt Du Sichtweite, Gehör und, wenn Du ganz genau bist, auch
Geruch
eachten.
Verschiedene Level von Alarmbereitschaft sind auch ein guter Weg,
um
verschiedene Reaktionen zu erhalten. Wenn eine Einheit einen Gegner
direkt in Sichtweite hat, sollte diese in einen Alarmmodus kommen,
der ihr
das Verhalten bei direktem Feindkontakt vorschreibt. Wenn die
Einheit
nur einen Schritt oder Schuß hört, sollte es einen anderen
Alarmmodus für
diese geben (Modus für indirekten Kontakt).
Beispiel:
Die Einheit ist wieder eine Wache und hört einen Schuß, dann
sollte sie die
Gegend absuchen, in der sie den Schuß wahrgenommen hat.
Wenn sie aber Schritte hört, könnte esdie Wache dazu
veranlassen zu warten und
dann die ankommende Einheit abzufangen. All diese
verschiedenen Alarmzustände können in einem regelbasierten oder in
einem
Fuzzy-logic-System verwaltet werden.
So kann jede Einheit auf verschiedene Einflüsse verschieden
reagieren.
Ein genereller Alarm ist auch ein sehr wichtiger Faktor für die
Realitätsnähe eines Spiels. Wenn Du in einer Basis umherrennst und
zig
Gegner
umgelegt hast und dann nach neuen suchst, die dann nichts von Deinem
Endlosfeuer in den letzten zehn Minuten mitbekommen haben, dann
ist das nicht besonders gut für die Atmosphäre des Spiels. Wenn Du
dann ein
Alarm-System für alle Einheiten aufbaust und vieleicht noch
einen Alarm-Plan erstellst, wird sich das positiv auf das Spiel
auswirken.
Dann kommen schon vorbereitete Gegner oder Verstärkung an den
Ort des Geschehens.
Ein Alarmplan würde dann aus Regeln bestehen, die alle
Einheiten, die
nicht an kritischen Pätzen stehen, befolgen. Z.B. wenn ein Alarm
ausgelöst wird, rennen die Sicherheitsbeamten aus den Gängen zu
den Eingängen
und die Sicherheitskräfte am Tresor bleiben stehen.
Spontane KI
Spontane KI ist sehr wichtig, um ein wenig Leben in die
Spiele-Welt zu
bekommen. Wenn alle nur herumstehen und darauf warten, daß der
Spieler sie
anspricht, umnietet oder
sonstetwas macht, ist das nicht besonders schön anzusehen. Auch
nutzlos
umherlaufende Figuren machen diesen Umstand nicht wett.
Ein Weg,_ diese umherlaufenden Figuren zu verhindern, ist,_ sie
mit nicht alarmbedingten
Aktionen zu versehen. E_in Techniker, der an einem Schiff arbeitet,
zwischendurch Pause macht und sich mit anderen (dem Spieler)
unterhält,
wirkt gleich echter. Das zu realisieren ist nicht leicht, aber es
bringt dem
Spiel sehr viel mehr Atmosphäre.
Einheiten Aktionen
Eine Einheit im Spiel wird vor allem durch ihre Aktionen
ausgestaltet. Wenn
sie sich (fast) so verhalten, wie der Spieler es in dieser Situation
tun
würde,
oder sonst was versuchen, dann kann eine Einheit intelligent
aussehen. Du
brauchst nicht unendlich viele Aktionen, die die Einheit beherrscht,
um
eine Illusion von Intelligenz zu erzeugen, sondern eigentlich nur
Aktionen
für Basis-Situationen, in die diese Einheit verwickelt werden kann.
Je mehr Bereiche Du abdeckst, desto größer ist die Möglichkeit,
daß die
Spieler glauben, die Einheiter wären intelligent. Versetz Dich in
die Lage
Deiner
eigenen Einheiten und entscheide, was Du tun würdest. Was würdest
Du tun,
wenn nichts los ist??
Wenn Du diese Fragen beantwortest und ordentlich implementierst
für jede
Situation, in die deine Einheiten kommen können, dann wirst Du die
Möglichkeit maximieren, intelligente Einheiten zu simulieren
|