Algorithmen für Computerspiele Künstliche Intelligenz von Manuel Bischof 3. Mai 2010
Gliederung Einleitung Was umfasst die KI? Nutzung in verschiedenen Genres Wo sind Verbesserungen notwendig? Möglichkeiten, KI zu modellieren Entscheidungsbäume Regelbasierte Systeme Neuronale Netze Genetische Algorithmen First-Person Shooter: Quake Besondere Anforderungen Grundlegende KI (SOAR-Engine) Antizipation zur Verbesserung der KI 2
Gliederung Einleitung Was umfasst die KI? Nutzung in verschiedenen Genres Wo sind Verbesserungen notwendig? Möglichkeiten, KI zu modellieren Entscheidungsbäume Regelbasierte Systeme Neuronale Netze Genetische Algorithmen First-Person Shooter: Quake Besondere Anforderungen Grundlegende KI (SOAR-Engine) Antizipation zur Verbesserung der KI 3
Einleitung: Der Begriff KI Nicht genau spezifiziert Verhalten von Lebewesen in der digitalen Welt Nachahmung der Realität Turing-Test Besseres Spielgefühl Spielen mit anderen Menschen macht mehr Spaß Spieler soll an das Spiel gebunden werden 4
Einsatzgebiete der KI Umgebung Vollständig beobachtbar teilweise beobachtbar Deterministisch Stochastisch Episodisch Sequenziell Statisch Dynamisch Diskret Stetig Einzelagent Multiagenten-System 5
Verwendung der KI in unterschiedlichen Genres 6
Einleitung: verschiedene Genres RPGs Baldur's Gate MMORPGs World of Warcraft Strategiespiele Echtzeit Command & Conquer Rundenbasiert Civilization First-Person Shooter (FPS) Quake Bots als Gegner Jump 'n' Run Tomb Raider Meist statische Umgebung Selten Gegner ( FPS) 7
Verbesserungsmöglichkeiten 8
Verbesserungsmöglichkeiten Geschichtenerzählen Intelligente Kameraführung Automatische Geschichtsentwicklung aus Skripten Hauptsächlich in RPGs wichtig MMORPGs Alle Charaktere erleben die gleiche Geschichte Bisher hauptsächlich variabel auf RPG Servern Geschichte wird jedoch von Spielern getragen Keine Auswirkung auf NSCs 9
Verbesserungsmöglichkeiten Dynamisches Lernen Verwendung von neuronalen Netzen und genetischen Algorithmen Bisher meist offline trainiert Online: Black & White Sims Schwierigkeitsgrad während dem Spielen anpassen Nachteil: Ergebnisse schwer vorhersagbar (Gefahr von Bugs) 10
Verbesserungsmöglichkeiten Gefühle wecken Emotionen bestimmen, wie sehr man in ein Spiel eintaucht Techniken, vergleichbar mit Filmen: Unterschiedliche Kamerablickwinkel Zwischensequenzen Atmosphärische Musik Soundeffekte Musik, Sound und Stimmen funktionieren schon gut Animation der Charaktere oft noch mangelhaft Insbesondere Gestik und Mimik 11
Gliederung Einleitung Was umfasst die KI? Nutzung in verschiedenen Genres Wo sind Verbesserungen notwendig? Möglichkeiten, KI zu modellieren Entscheidungsbäume Regelbasierte Systeme Neuronale Netze Genetische Algorithmen First-Person Shooter: Quake Besondere Anforderungen Grundlegende KI (SOAR-Engine) Antizipation zur Verbesserung der KI 12
Modellierung von KI Entscheidungsbäume Eingabe: Objekt oder Situation, beschrieben von Attributen Test an jedem Knoten Je nach Attribut folgt man der entsprechenden Kante Zielprädikat an den Blattknoten => Ergebnis Wahl der Wurzel wichtig 13
Entscheidungsbäume - Beispiel 14
Modellierung von KI Regelbasierte Systeme Trennung von Kontrollfluss und Wissen Vordefinierte If-Then-(Else-)Regeln Test der Regeln aufgrund gegebener Fakten Oft Expertensysteme Versuchen Hilfestellung in natürlicher Sprache zu geben Beispiele: Medizinische Diagnose Technische Diagnose Planungssysteme (Logistik) E-Learning 15
Modellierung von KI (Künstliche) Neuronale Netze Nachbildung des menschlichen Gehirns 100Mrd Neuronen Graph mit Knoten = Neuronen Jeder Knoten hat Ein- und Ausgänge Knoten sind mit gewichteten Kanten verbunden Netz kann trainiert werden Überwacht Nicht überwacht Verstärkendes Lernen Testphase Ausgangsreize Neue Reize 16
Modellierung von KI Genetische Algorithmen Stochastische Erzeugung von Nachfolgezuständen Durch Kombination von Zuständen 17
Gliederung Einleitung Was umfasst die KI? Nutzung in verschiedenen Genres Wo sind Verbesserungen notwendig? Möglichkeiten, KI zu modellieren Entscheidungsbäume Regelbasierte Systeme Neuronale Netze Genetische Algorithmen First-Person Shooter: Quake Besondere Anforderungen Grundlegende KI (SOAR-Engine) Antizipation zur Verbesserung der KI 18
Anforderungen an Bots in FPS Umgebung erkunden Interne Karte erstellen mit Räumen, Powerups etc. Ausrüstung einsammeln Waffen Rüstung Schadenserhöhung Bei Bedarf auch Leben Gegner ausschalten Überleben 19
Grundlegende KI in Quake SOAR-Engine 20
KI in Quake SOAR-Engine Zur Entscheidungsfindung und deren Ausführung Kommuniziert über eine Netzwerkschnittstelle mit dem Bot Operatoren: Laufen Drehen Springen Schießen Interne Aktionen Letzte Position des Gegners merken Ausrüstung des Gegners merken Abstraktere / Zusammengesetzte Operatoren: Angreifen Item holen Durch eine Tür gehen Dem Gegner Powerups verweigern 21
KI in Quake Taktiken: Powerups einsammeln Bedarf analysieren Respawnzeiten merken Kürzeste Wege / Rundwege ermitteln Gegner angreifen Circle-strafing Distanzklasse je nach gegnerischer und eigener Waffe wählen Rückzug Bei wenig Gesundheit Verfolgung Auf Basis von Geräuschen, letzter Sichtung des Gegners Jagen Suche nach Kill den nächsten Spawnpunkt und Räume, die der Gegner häufiger aufsucht ab Hinterhalt stellen 22
KI in Quake Operatoren bzw. Taktiken, die nicht direkt eingesetzt werden können, werden zu Zielen Verfolgung von Zielen bis: Ziel erreicht, oder Auswertung der Sensorik ergibt, dass das Ziel nicht mehr relevant ist 23
KI in Quake Prozesszyklus: Wahrnehmung Auswertung der Sensorik / Operator-Vorschlag / Auswertung der Vorschläge Wahl von Operatoren Anwendung der Operatoren Output: Kommandos weitergeben 24
Antizipation 25
Antizipation Bot soll Spielerhandlung vorausahnen und ausnutzen Interne Darstellung aus Sicht des Gegners Problem: Wann soll diese berechnet werden? Integration des predict-enemy Operators in den Prozesszyklus Bei Wahl des Operators wird die Berechnung durchgeführt Hauptsächlich aufgerufen von hunt, ambush und deny-powerups 26
Antizipation Optimierungen: Overhead durch Berechnung der internen Repräsentation verringern Vorhersagen als Regel abspeichern Dadurch müssen bereits vorhandene Vorhersagen nicht nochmals berechnet werden (kann einige Sekunden dauern) Rekursive Antizipation Antizipation aus Sicht des Gegners Idee: Gegner überraschen, in dem man Unvorhergesehens tut 27
Ausblick 28
Ausblick Standardisierung KI-Middleware Spezielle KI-Hardware? Effektivere Methoden: Neuronale Netze Exportierbarkeit Moral? 29
Empfohlene Vorlesungen Grundlagen der Künstlichen Intelligenz Neuronale Netze Einführung in die verteilte KI Adaptive emotionale Agenten in interaktiven Softwaresystemen 30
Vielen Dank für die Aufmerksamkeit 31