© DrHitch/Shutterstock.com
Erfolgreiche Spieleentwicklung

4 Grundlagen und fortgeschrittene Themen der KI-Programmierung


Neben der Grafik- und Audioprogrammierung gilt die künstliche Intelligenz als dritter Eckpfeiler der Spieleentwicklung. Dieses Kapitel befasst sich mit dem Einsatz von Bewegungsschablonen, KI-Skripten, Zustandsautomaten, Entscheidungsbäumen und Verhaltensnetzwerken sowie mit der Echtzeit-Wegfindung und dem Schwarmverhalten. Zwei Programmbeispiele im Downloadbereich unter www.entwickler-press.de/spieleentwickeln [5] dienen zur Demonstration der in diesem Kapitel behandelten Themen.

Die künstliche Intelligenz (KI) trägt seit jeher maßgeblich zum Spielspaß eines Computerspiels bei. In Spieleklassikern wie dem legendären Space Invaders sorgten die KI-Routinen lediglich für eine halbwegs intelligente Bewegung der Computergegner. Die Illusion einer lebendig wirkenden Spielewelt wurde zum ersten Mal in den Computerspielen der Elite-Reihe erschaffen. Nach nur wenigen Minuten stellte sich beim Spieler das Gefühl ein, man würde gemeinsam mit vielen weiteren Mitspielern den Weltraum bereisen, Handel treiben, Missionen absolvieren oder in kriegerische Auseinandersetzungen verwickelt werden. In Anbetracht der geringen Rechenleistung damaliger Computer war der in diesen Spielen erreichte Grad an Realismus einfach verblüffend. Auf heutigen Computern stehen für die KI-Berechnungen sehr viel mehr Ressourcen zur Verfügung, trotzdem sind die Computergegner noch weit davon entfernt, sich wie echte menschliche Mitspieler zu verhalten. Dumme KI-Gegner sind genauso unerwünscht wie perfekte, rücksichtslos auf Sieg programmierte Gegenspieler. Es kommt auf die Schwächen an. Jeder Spieler hat seine Freude daran, einen Gegenspieler auszutricksen. Wichtig ist jedoch, dass ein KI-Gegner aus seinen Fehlern lernt. Sobald man die KI auf immer gleiche Art und Weise überlisten kann, geht der Spielspaß verloren. Gute Computergegner sollten sich zudem adaptiv verhalten und sich der Spielweise des Spielers anpassen können. Insbesondere in den ersten Missionen, wenn sich ein Spieler noch mit einem Spiel vertraut machen muss, sollte nicht jeder kleine Fehler sofort rücksichtslos bestraft werden.

Ein letzter Punkt betrifft das Schummeln. Moderne Spiele sind mittlerweile derartig komplex, dass eine KI vielfach nur mit unlauteren Mitteln ein gewisses Maß an Spielstärke erreichen kann. In Strategiespielen werden Gebäude nicht selten nach im Vorfeld definierten Mustern platziert, oder die KI-Gegner verfügen im Unterschied zum Spieler über zusätzliche Informationen über die aktuellen Gegebenheiten in der Spielewelt. Es ist nichts Verwerfliches daran, wenn eine KI schummelt, um dadurch den Spielspaß zu erhöhen. Der Spieler sollte davon jedoch möglichst nichts mitbekommen, da sich das dann zwangsläufig negativ auf das Spielvergnügen auswirken würde.

4.1 Zielverfolgung, Flucht und Zufallsbewegung

Die KI-Routinen der allerersten Spiele nahmen kaum mehr als einige wenige Codezeilen in Anspruch. Können Sie sich noch an das Spiel Pac Man erinnern? Die künstliche Intelligenz der Gespenster, die dem Spieler das Leben schwer machten, bestand im Wesentlichen aus drei einfachen Routinen. Im Normalzustand jagten sie den Spieler dank eines einfachen Zielverfolgungsalgorithmus kreuz und quer durch ein Labyrinth:

  • Zielverfolgung Schritt 1: Abstand zum Gegner bestimmen
  • Zielverfolgung Schritt 2: Bewegungsrichtung so ändern, dass sich der Abstand zum Gegner verringert

Nach dem Verzehr einer Kraftpille besaß der Spieler vorübergehend die Fähigkeit, die Gespenster zu fressen. Während dieser Zeitspanne mussten sich die Geister mithilfe eines einfachen Fluchtalgorithmus in Sicherheit bringen:

  • Flucht Schritt 1: Abstand zum Gegner bestimmen
  • Flucht Schritt 2: Bewegungsrichtung so ändern, dass sich der Abstand zum Gegner vergrößert

Von Zeit zu Zeit änderten die Gespenster zudem ihre Bewegungsrichtung nach dem Zufallsprinzip, wodurch ihre Bewegungen weniger vorhersagbar und zugleich abwechselungsreicher wirkten.

Bewegungsschablonen früher und heute

Komplexere Flugmanöver und Bewegungsabläufe lassen sich mithilfe von Zielverfolgungs- und Fluchtalgorithmen nicht realisieren. An dieser Stelle kommen sogenannte Bewegungsschablonen (Movement Patterns) ins Spiel: Im Vorfeld definierte Bewegungsmuster, auf welche die einzelnen KI-Gegner jederzeit zurückgreifen können. Obwohl diese Technik regelrecht aus der Steinzeit der Spieleentwicklung stammt – sie kam bereits in den ersten Arcade-Spielen wie Space Invaders zum Einsatz – lassen sich Bewegungsschablonen auch in heutige Spiele sinnvoll integrieren. Betrachten wir hierzu als Beispiel den Flug eines Raumfrachters von der Erde zum Mars:

  • Ein Raumschiff dockt an einer Raumstation im Erdorbit an und nimmt Treibstoff und Fracht auf
  • Das Schiff verlässt den Erdorbit und steuert den Mond an
  • Das Schiff fliegt eine Station im Mondorbit an
  • Zusätzlicher Treibstoff für einen interplanetaren Raumflug wird aufgenommen
  • Das Schiff verlässt den Mondorbit und steuert den Mars an

Bewegungsschablonen, wie sie in früheren Arcade-Spielen verwendet wurden, helfen uns an dieser Stelle natürlich nicht weiter. Früher wurden lediglich die Richtungen abgespeichert (Up, Down, Left, Right, Wait), in die sich ein KI-Gegner zu einem bestimmten Zeitpunkt bewegen sollte. Um den Flug unseres Raumfrachters zu simulieren, benötigen wir ein Pattern Instruction Set, wie es in KI-Demo1 zum Einsatz kommt:

  • Pattern Step 1: Wait
  • Pattern Step 2: Move To Position
  • Pattern Step 3: Move To Object
  • Pattern Step 4: Wait
  • Pattern Step 5: Move To Position

4.2 KI-Scripting

Die zunehmende Komplexität heutiger Spiele stellt die KI-Programmierer vor immer neue Herausforderungen. Die Anzahl der zu bewältigenden Aufgaben steigt an (Wegfindung, Einzel-KI, Gruppen-KI, Umgebungs-KI, Planung, Bau, Ressourcengewinnung, Storytelling usw.), das Regelwerk vergrößert sich (die Anzahl der Situationen, die ein KI-Objekt zu bewältigen in der Lage sein muss) und die KI-Objekte müssen mit zerstörbaren, immer detailreicheren und zugleich weitläufigeren Umgebungen interagieren können. Um die im Verlauf der KI-Entwicklung auftretenden Schwierigkeiten möglichst frühzeitig in den Griff zu bekommen, sollten die einzelnen KI-Routinen schrittweise verfeinert und von Fehlern befreit werden. Hierzu ist es notwendig, dass die KI parallel zur Entwicklung ausführlichen Tests unterzogen wird, in denen die KI-Objekte gegeneinander und gegen den Spieler antreten (schrittweiser interaktiver Designprozess). Um den Entwicklungs- und Balancing-Proz...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang