Mixed Reality Gaming Where the Action is

Mixed Reality Gaming – Where the Action is Grundlagen KI - Vorlesung 08.01.2008 Marc Herrlich, AG Digitale Medien Mixed Reality Gaming – Where the Ac...
Author: Mathias Schmid
3 downloads 0 Views 179KB Size
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