Mixed Reality Gaming – Where the Action is Grundlagen KI - Vorlesung 08.01.2008
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Motivation ` KI macht einen wesentlichen Teil des Gameplay aus ` Früher: Hardware schon mit Grafik, Sound, Spielereingaben usw. an der Leistungsgrenze Nur wenig Leistungsreserven für KI KI daher oft extrem einfach (dennoch mit recht guten Ergebnissen) - Beispiele: Pacman, Wolf3D, Doom2
` Heute: Schnelle Prozessoren und mehr Speicher ermöglichen komplexe KI Aber: KI ist prinzipiell „Fass ohne Boden“ KI wird immer ausgefeilter - Beispiele: Half-Life 2, Halo 3
` In Zukunft: KI wird noch wichtiger, um sich von anderen Spielen abzugrenzen
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Spiele-KI vs. Akademische KI ` Spiele-KI hat als Hauptziel den Spielspaß zu steigern Akademische KI will in der Regel „echte“ Probleme lösen
` Spiele-KI muss in Echtzeit laufen (neben Grafik usw.) Akademische KI in der Regel nicht
` Spiele-KI muss sich „glaubwürdig“ verhalten aber nicht unbedingt „korrekt“ oder „optimal“
` Spiele-KI soll oftmals nicht perfekt sein, sondern Fehler machen, um „menschlicher“ zu wirken und den Spieler nicht zu frustrieren! ` Gerade das Ausbalancieren dieser „Nicht-Perfektion“ stellt oft die eigentliche Herausforderung bei der Programmierung dar! ` Viele Spiele-KIs „betrügen“ zudem, um das Spiel herausfordernder zu gestalten
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Grundsätzlicher Aufbau eines KI-Systems ` Wahrnehmung Sensoren und andere Eingabedatenquellen
` Gedächtnis Speicher für Datenhaltung
` Entscheidungskern Analyse der Eingabedaten (und ggf. des Gedächtnisses) Ableiten geeigneter Ausgaben bzw. Aktionen
` Aktionssystem Ausführen/Umsetzen der Aktionen
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Wahrnehmung der Welt ` Eine KI muss in der Lage sein ihre Umgebung wahrzunehmen, um entsprechend darauf zu reagieren ` Sie kann dafür auf verschiedene Sensoren und Datenquellen zurückgreifen ` Theoretisch ist die KI innerhalb der Spielumgebung natürlich allwissend ` Durch absichtliche Beschränkungen soll die audiovisuelle Wahrnehmung des Menschen für ein realistisches Verhalten nach außen angenähert werden Eingeschränkter Sichtbereich Unsichtbarkeit …
` Intern wird aber meist aus Effizienzgründen direkt auf die Datenstrukturen der Engine zurückgegriffen
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Gedächtnis ` Das Gedächtnis der KI kann verschiedenste Daten enthalten Positionen von Gegnern Pfade …
` Die verwendeten Datenstrukturen können sehr komplex sein und hängen stark vom Einzelfall ab
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Entscheidungskern ` Auf Basis der Wahrnehmungen und der Informationen im
Gedächtnis werden im Entscheidungskern geeignete Aktionen ausgewählt ` Hierzu gibt es verschiedene gängige Methoden
Endliche Automaten Regelbasierte Systeme Suche in Zustandsräumen …
` Viele meinen den Entscheidungskern, wenn Sie von KI
sprechen ` Bei vielen Spielen ist der Entscheidungskern eigentlich relativ simpel ` Auch mit einfachen Regeln kann oft ein überzeugendes Verhalten erreicht werden ` Wichtig ist letztlich das sog. „emergente“ Verhalten
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Aktionssystem ` Führt die festgelegten Handlungen/Aktionen aus Bewegung Schießen …
` Interessante und vielfältige Aktionsmöglichkeiten verleihen der KI „Persönlichkeit“ ` Aktionen können je nach KI-System in verschiedenen Detaillierungsstufen vorliegen
„Gehe zu Position X“ „Drehe 90° nach links“ „Folge Feind Y“ „Feuere die Waffe ab“ …
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Endliche Automaten (Finite State Machines) ` Mathematisches Modell:
6 Tupel (Σ,Γ,S,s0,δ,ω) Σ: Eingabealphabet (Sensorinput) Γ: Ausgabealphabet (Aktionen) S: Zustandsmenge s0: Startzustand δ: Übergangsfunktion (Bedingungen) ω: Ausgabefunktion (Auszuführende Aktionen)
` Beispiel: einfache Soldaten-KI (an der Tafel)
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Implementierung (naiver Ansatz) int state; switch (state) { case 0: { // Anweisungen für diesen Zustand break; } … }
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Implementierung (besser) class State { public: virtual void Execute(Entity *_ent) = 0; }; class Entity { State *m_CurrentState; public: void Update() { m_CurrentState->Execute(this); } void ChangeState(State *_newState) { delete m_CurrentState; m_CurrentState = _newState; } }; class SampleState : public State { public: void Execute(Entity *_ent) { // Anweisungen für den Zustand } };
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Endliche Automaten - Erweiterungen ` Globaler Zustand ` Enter/Exit-Funktionen ` Template-isierung ` Mehr dazu gibt’s in der Übung!
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Parallele Automaten ` Unabhängige Subsysteme ` Beispiel: Bewegung und Schießen
` Ein Automat steuert Bewegung durch die Welt ` Ein Automat zielt und feuert ` Vorteil: Komplexes Verhalten lässt sich sehr einfach modellieren
` Nachteil: In der Praxis ist wirkliche „Unabhängigkeit“ zwischen Systemen nur selten gegeben
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Regelbasierte Systeme ` Regel: Bedingung → Aktion
` Beispiel:
Wenn in Kontakt mit Feind → kämpfe Wenn Feind näher als 10 Meter und ich bin stärker als er → verfolge Wenn Feind näher als 10 Meter → fliehe …
` Reihenfolge der Regeln bestimmt implizit die Priorität ` Implementierung: if/else-Blöcke Textdateien mit einfacher Faktensprache
` Effiziente Auswertung ist wichtig: Rete Algorithmus
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Goal/Evaluator-Konzept ` Aktionen werden in hierarchische Goal-Klassen gekapselt ` Evaluatoren bestimmen anhand von Bewertungsfunktionen welches Goal aktiv sein soll ` Beispiel: Goal Roam - Wähle zufällige Zielposition - Für jeden Wegpunkt füge ein „Gehe zu Wegpunkt“-Goal hinzu
Evaluator Roam - → 0.1
Goal Fight - Ziele auf Feind und schieße
Evaluator Fight - Wenn Feind näher als 10 Meter und Munition > 0 → 1.0 - Sonst → 0.0
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Steering Behaviours / Flocking nach Reynolds ` Beobachtungen in der Natur an Vogelschwärmen: Einfache Verhaltensregeln führen zu komplexen Mustern
` Grundlegende sog. Steering Behaviours können kombiniert werden, um komplexe Aktionen zu generieren:
Seek Flee Arrive Pursuit Evade Wander …
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Pfadplanung ` Wichtig: Effiziente Repräsentation des Suchraumes Wegpunktegraphen Navigation Meshes
` Standardalgorithmen: Dijkstra A*
` Vielfach tut es auch erstmal die einfache Lösung! Linecheck
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Ausblick ` Neuronale Netze ` Fuzzy Logic ` Hierarchische Automaten ` …
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is
Literatur ` Buckland, M.: Programming Game AI by Example, Wordware, 2005. ` Sanchez-Crespo Dalmau, D.: Core Techniques and Algorithms in Game Programming, New Riders, 2003. ` Rabin, S. (Editor): AI Game Programming Wisdom, Charles River Media, 2002. ` Game AI Vorlesungen von Ross Brown
Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Action is