Computational Intelligence in Games

Computational Intelligence in Games (am LS 11)
Folien: Mike Preuss - Vortrag: Jan Quadflieg
Computational Intelligence Group
Lehrstuhl für Algorithm Engineering (LS11)
Fakultät für Informatik
TU Dortmund
7. April 2015
Fachprojekt Digital Entertainment Technologies
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
1 / 30
Inhalt
1 Motivation
2 Computerspiele: Grundprobleme und Forschung
3 Competitions
4 CIG am Ls11: Beispiele
5 DET Plattformen / Tools
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
2 / 30
Motivation
Kurze Geschichte der Spiele I
3000 BC Würfel, Senet
2300 BC Go
500 AD Schach
um 1600 moderne Sportarten erscheinen
um 1800 Poker, Bridge
1871 Flipper
um 1935 Monopoly, Scrabble
1943 Anfänge der Spieltheorie
1959 Diplomacy
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
3 / 30
Motivation
Kurze Geschichte der Spiele II
1961 Spacewar! - das erste Computer Videospiel
1971 Galaxy Game - das erste Arkade Videospiel
1972 Magnavox Odyssey Konsole erscheint
1973 Spieltheorie: Evolutionsstabile Strategien
1978-81 Space Invaders, PacMan, Donkey Kong
1983 I, Robot - erstes kommerzielles 3D Videospiel
1992 Wolfenstein 3D - Popularisierung von FPS (First Person Shootern)
1997 Ultima Online - das erste Massive Multiplayer Online (MMO) Spiel
1997 Deep Blue schlägt Garry Kasparov
1999 Blondie24: Damespiel lernen mit CI
2006 Wii erscheint
2008 Damespiel gelöst
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
4 / 30
Motivation
Aktuelle Trends in Computerspielen und Game AI
• Mehr Diversität und Plattformen: Casual Gamers, Handyspiele
• Vermischung von Genres
• Multi-Plattform Spiele: Eve Online & Dust 514
Eve Online: Battle of Asakai (PC)
Dust 514 (Playstation)
Gemeinsame Spielwelt, Interaktion möglich
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
5 / 30
Motivation
Mehr von allem: Spielwelten und Perspektiven
• Sehr große, frei explorierbare Spielwelten (z.B. GTA V)
• Personalisierung: Mehrere Hauptcharaktäre, Echtzeitwechsel der Perspektive
GTA V: Spielwelt
3 Hauptcharaktäre
Neue Geschäftsmodelle: Online-Vertrieb (z.B. Add-ons), weniger Subscription,
Free-to-play mit kostenpflichtigen Zusatzmodulen
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
6 / 30
Motivation
Weniger “blöde” Spiele. . .
• Mehr Gewicht auf Athmosphäre/Geschichte (NPC und Spieler können
Persönlichkeit ausdrücken → Personalisierung des Spiels)
• NPC als “‘Sidekicks” der Hauptcharaktäre: Entwicklung
• NPC müssen komplexer sein, weniger Scripting, mehr AI
The last of us: 2 Hauptcharaktäre
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
Bioshock Infinite: Sidekick
7. April 2015
7 / 30
Motivation
Computational Intelligence in Games: Was bisher geschah...
Ein Feld entsteht...
• Blondie24: Damespiel lernen mit CI und menschlichen
Gegnern, 1999
• GECCO 2000 - 2005: ≤ 2 Artikel/Jahr (IPD, ESS & ST)
• Special Sessions auf der CEC/WCCI Konferenz, seit ≈ 2004
• CI in Games Konferenz (IEEE CIG) seit 2005, 2014 in DO!
• GECCO 2006: 3 Artikel (ST, Soccer, Schach Endspiel)
• GECCO 2007: 5 Artikel & 1 Wettbewerb & 1 Tutorium (ST)
• GECCO 2008: 11 Artikel & 1 Tutorium
• ab GECCO 2011: eigener DETA (Digital Entertainment
Technologies and Arts) Track
• EvoGames als Teil der Evo* Konferenz seit 2009
• IEEE TCIAIG Journal (Transactions on Computational
Intelligence and Artificial Intelligence in Games) seit 2009
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
8 / 30
Computerspiele: Grundprobleme und Forschung
Computerspiele: Trends und Probleme
Etwa 40 Jahre Entwicklung:
• Von einfacher Balkengrafik zur Virtual Reality
• Spiele nutzen die aktuellen Möglichkeiten der
Technik
• Grafik nach wie vor dominant, KI eher im
Hintergrund
• Was alles dazugehört: Game design, storyline
design, game mechanics, level design/content
creation, character design, physics....
• Oft weit mehr als 50 Mitarbeiter über längere Zeit
(Jahre) mit einem Spiel beschäftigt
Problem: Spielen in komplexen Welten erfordert hohe
Glaubwürdigkeit (Believability), sonst leidet der
Spielspaß
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
9 / 30
Computerspiele: Grundprobleme und Forschung
Believability
Computerspieler für Brettspiele sind schon sehr gut
• Deep blue (IBM) schlägt Kasparov 1997
• Damespiel 2008 gelöst (Schaffer)
Aber die große Herausforderung:
Glaubwürdiges Aussehen und Verhalten
aller Spielkomponenten in Videospielen
• Vor allem NSC sind ein großes Problem
• Müssen intelligent handeln
• Sollen nicht durch Fehler (z.B. häufige
Wiederholungen) auffallen
• NSC brauchen mehrere Strategien und müssen
auch reaktiv sein
• Aber: steigende Komplexität soll handhabbar
bleiben (generische Komponenten?)
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
10 / 30
Computerspiele: Grundprobleme und Forschung
Authentizität
Einige Standardprobleme moderner Spiele
Beispiel Gothic 3:
• Wegsuche zu ineffizient, daher teilweise
"unrealistische Wege"
• Koppelung Spiel-AI und Physik-Engine: Mimik,
Gestik, komplexe Bewegungen
• Kameraperspektive (Hinterkopfkamera nicht im
selben Raum wie Charakter)
• Wiederholungen (Spiel-AI reagiert immer gleich)
Problembehebung durch Modularisierung: Middleware
• Spezialisierte Physik-Engines
• Komplexere Charaktermodellierung z.B. mit EkiOne
(auch Emotionen)
Schwierigkeit: Nur ca. 10% der CPU-Last darf von der
KI erzeugt werden
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
11 / 30
Computerspiele: Grundprobleme und Forschung
Techniken in der Spiele-KI Entwicklung
Die Spieleindustrie setzt (noch) auf herkömmliche Techniken
• Scripting
• Regelsysteme
• Finite State Machines (Endliche Automaten)
Jegliche Dynamik wird vermieden, gilt als nicht beherrschbar
Aber: Komplexität und nichtlineare Spielverläufe erzwingen
zunehmend neue Ansätze (z.B. Behavior Trees)
Forschung mit 3 verschiedenen Ansätzen
• Spezialalgorithmen: Exakte oder heuristische Verfahren für Pfadsuche u.Ä.
• Künstliche Intelligenz (KI): General Game Playing (Game Description Language
GDL), Baumsuche (auch Monte Carlo), Support Vector Machines
• Computational Intelligence (CI): Evolutionäre Algorithmen, Fuzzy Logik,
Künstliche Neuronale Netze, Schwarmintelligenz etc.
Es gibt allerdings durchaus Überschneidungen. . .
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
12 / 30
Computerspiele: Grundprobleme und Forschung
Warum Computational Intelligence Methoden?
Im Gegensatz zu Brettspielen
• Spielbäume sind meist nicht anwendbar
• Keine vollständige Information
• Gleichzeitigkeit:
Wer zu lange plant, braucht keinen Plan mehr
• Bewertung einer Spielsituation extrem schwer
⇒ Wir brauchen gute, schnelle Näherungen
Evolutionäre Algorithmen:
Black-box Suchverfahren für komplexe Probleme
Fuzzy Logik:
Modellierung unscharfer Begriffe
Künstliche Neuronale Netze:
Numerische Modelle beliebiger Funktionen
Das ultimative Ziel ist nicht, gut zu spielen!
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
13 / 30
Computerspiele: Grundprobleme und Forschung
Spielspaß I: Im Spiel bleiben
Eintauchen (Immersion) in die Spielwelt
• Spieler sollen (wollen) unterhalten werden
• Das Spieldesign beinhaltet die bewusste Herstellung
von emotionalen Zuständen
• Verschiedene Spieler haben verschiedene Bedürfnisse
• Individualisierung der Spiele
Die Theorie der Suspension of Disbelief
• Spieler wissen, dass das Erlebte nicht real ist
• Aber sie wollen die Spielwelt gar nicht als solche
erkennen
• Kleine Fehler werden verziehen, große Fehler führen
zum Zusammenbruch der Illusion (Maß ist subjektiv!)
• Aber: Komplexität ist enorm, und nicht alle Situationen
sind vorhersehbar (Oblivion Shopkeeper)
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
14 / 30
Computerspiele: Grundprobleme und Forschung
Spielspaß II: Was macht Spaß?
Wie entsteht Spielspaß (einige Ansichten)?
• Malone (1981): Herausforderung, Neugier,
Phantasie
• Csikszentmihályi (1990): Flow
• Koster (2005): Spielspaß durch Lernen
Aber: Darüber kann man trefflich streiten. . .
Wie kann man Spielspaß messen/vorhersagen?
• Yannakakis (2007): Unterhaltungswert von
PacMan-Geistern
• PG511 (2008): PacMan-Geister-Test mit
menschlichen Spielern (Campusfest)
• Yannakakis (2008): Anpassung von
Spieleigenschaften in Echtzeit
Das ultimative Ziel ist großer Spielspaß!
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
15 / 30
Computerspiele: Grundprobleme und Forschung
Einsatzgebiete von CI-Methoden
Innovative Ansätze konzentrieren sich auf:
•
Glaubwürdigkeit der NSC und der Umgebung
• "Menschlichere" Handlungsweisen
• Besseres Zusammenwirken von Einheiten (Team-AI)
• Reaktion auf Unvorhergesehenes
•
Individualisierung von Spielen
• Präferenzmodellierung
• Spielertypenanalyse
• Dynamische Veränderung von Spielmechanismen
•
Procedural Content Generation (PCG) / Game Design AI
• Automatisiertes Erzeugen von Spielinhalten
• Unterstützung des Entwicklungsprozesses
Unser Beitrag (im Wesentlichen):
Lösen von anfallenden Optimierproblemen (einkriteriell / mehrkriteriell)
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
16 / 30
Competitions
Ms PacMan Competition
Organisiert von Lucas (seit CEC’07)
• Vermutlich die erste Competition im
CI-Bereich auf einem "echten" Spiel
• Ms PacMan ist nicht-deterministisch
(Geister mit Zufallskomponente)
• Daten als Screen Capture 15 mal pro
Sekunde an Controller übertragen
• Menschlicher Rekord: 921,360 Punkte
• Neueste Bots (CIG’09): Erstmals
> 30000 Punkte
Was haben wir gelernt?
• Ein guter Controller ist eine nicht-triviale Aufgabe
• Screen Capture Optimierung oder Controller-Optimierung?
• Fortschritt über die Jahre, Vergleichbarkeit über Punktestand
• Erstaunliche Resonanz, auch mediales Interesse
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
17 / 30
Competitions
TORCS "Weltmeisterschaft"
Organisiert von Togelius/Lanzi (seit WCCI’08)
• Bots müssen mit einfachem Sensormodell auskommen,
durch Server-Client kein Zugriff auf Programmvariablen
• 2008 Bots deutlich schlechter als mitgelieferte Bots
• 2009 CI-Weltmeisterschaft in 3 Konferenzen
(CEC,GECCO,CIG) mit je 3 Rennen
• 2011/2012 gewonnen vom Ls11 Team
• Gecco’09/Evo* 2010: Car Setup Competition als
verrauschtes Optimierungsproblem
Einsichten
• Einfache "Hacks" notwendig für bestimmte Situationen
(Start, Rückführung auf die Strecke)
• Gegnerbehandlung ist noch sehr schlecht
• Feature Diffusion
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
18 / 30
Competitions
CIG StarCraft RTS AI Competition
http://ls11-www.cs.tu-dortmund.de/
rts-competition/
Organisiert von Preuss/Mahlmann (seit CIG 2011)
• 2011/2012/2013 jeweils etwa 10 Teilnehmer
• 2012 wurde die Turniersoftware der AIIDE StarCraft
Competition eingesetzt (ca. 4000 Spiele)
• Randnotiz: 3 Wissenschaftler etwa so stark wie ein
Profi-Spieler (CIG 2011, Korea)
Erkenntnisse
• Rush sehr beliebt, Rasse zumeist Protoss
• Spielstärke steigt (Vergleich anhand BTHAI Bot)
• Spiel kaum adaptiv, Strategie meist gleich
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
19 / 30
Competitions
Unreal Tournament: Der Bot Prize
Organisiert von Hingston (seit CIG’08)
• Turing Test für Shooter-Bots:
Kann ein Bot Menschen täuschen?
• Vorläufige Antwort: Nein, kann er nicht!
• Hochdotiert (A$7000+Reise), vergeben 2012
• Starkes Medienecho (z.B. Heise News-Ticker)
• Problem hier: Vergleichbarkeit kaum gegeben,
Entwicklung schwer zu beobachten
Der Nutzen von Competitions
• Starke Motivation auch für nicht-CI Forscher/Entwickler
• Aufmerksamkeit für die CI/CIG-Community
• Weitere Competitions: Mario Brothers, DEFCON
e
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
20 / 30
Competitions
Fighting Game AI Competition
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
21 / 30
CIG am Ls11: Beispiele
PacMan und Glest (PG 511)
PacMan’s neue Geister
• Mit verschiedenen Ansätzen neue Geister entworfen
• Umfangreicher Test mit menschlichen Spielern
• Neue Geister machen mehr Spaß als alte
• Geister verhalten sich nicht optimal!
Mehr Team-KI für Glest
• Realistischere Gruppenbewegungen per Flocking
• Implizites Abschätzen der Gegnerstärke per Influence Maps
• Auswahl passender Trupps mit Self-Organizing Maps
• Mehr Spielstärke durch Ultra-Massive Attack (verstärkter
Rush)
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
22 / 30
CIG am Ls11: Beispiele
Poker und Diplomacy (PG529)
Poker: Menschlicher spielende Gegner?
• Neue Bots für PokerTH: Verschiedene Charaktäre
• Nur teilweise erfolgreich, da Menschenähnlichkeit kaum
erkannt werden kann
• Einfache Erweiterungen (Smileys, dumme Sprüche) bringen
mehr Spielspaß
Diplomacy: Kommunikation ist alles
• Derzeitige Bots können kaum kommunizieren
• Kommunikation erhöht den Spielspaß
• Turing-Test (Bots bzw. Menschen erkennen) zeigt, dass
menschliche Spieler manchmal überlistet werden können
• Gut spielen und menschenähnlich kommunizieren ist nicht
leicht (Diplomarbeit/Paper)
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
23 / 30
CIG am Ls11: Beispiele
Musik als PCG-Quelle im Handyspiel (PG554)
Spielmechanik
• Spielbrett mit je 1 Feld pro Lied
• Jedes Feld startet 1 von 3 Minispielen
• Mehrspieler, Spieler mit Highscore besitzt Feld
• Zusammenhängende Felder bringen Bonus,
höchste Punktsumme gewinnt
Musikverarbeitung
• Psycho-akustische Features werden (derzeit
offline) aus mp3-Dateien generiert
• High-Level Features werden aus den
Basisfeatures zusammengestellt (z.B.
Rhythmus, Bass)
• Minispiele benutzen High-Level Features als
Input für Spielereignisse
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
24 / 30
CIG am Ls11: Beispiele
TORCS
Freie Autorenn-Spielumgebung
• Einem professionellen Spiel ähnlich
• Physikalisches Modell mit Schaden und
Spritverbrauch
• Wettbewerbe in der Forschung
• Java/C++-Interfaces
Eigene Arbeiten: verrauschte Black Box Optimierung
• Controller, der die Strecke lernt und die maximale
Geschwindigkeit fährt
• Jetzt auch mit verrauschten Sensordaten
• Evolutionärer Algorithmus für das Car Setup
Optimierungsproblem
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
25 / 30
CIG am Ls11: Beispiele
Positionierung der virtuellen Kamera
1
1
0.5
0.5
0
F
1
0.5
F
F
Virtuelle Umgebungen der 3 Testprobleme
0
990
1032
991
1030
992
1028
993
1026
994
995
1024
996
998
1020
1032
991
1030
992
1028
993
1026
994
995
1024
996
1022
997
X
0
990
X
998
1020
1014
988
1012
990
1010
992
1008
994
1006
996
998
1004
1000
1022
997
Z
1016
986
1002
1002
Z
X
1004
1000
Z
Resultierende Fitnesslandschaften (Projektion auf 2D von 5D)
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
26 / 30
CIG am Ls11: Beispiele
Mehrkriterieller StarCraft Kartenentwurf
Mehrkriteriell optimierte Karten
• 8 Zielfunktionen zur Basisposition,
Ressourcenverteilung, Pfaden (Engpässen)
• Welche Zielfunktionen sind maßgeblich?
• Evolutionärer Algorithmus auf einem generierenden
System (ähnlich Turtle-Graphic)
Vorläufiges Resultat
• Ansatz sehr gut zur Exploration geeignet: Tradeoffs,
Möglichkeiten
• Spielerurteil: Interessant, aber nicht gut genug
• Aber: Erwartungen zu eingeschränkt, man kann faire
UND Asymmetrische Karten machen
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
27 / 30
DET Plattformen / Tools
DET Plattformen / Tools
Open Source
• Autorennen: TORCS, VDrift
• Echtzeitstrategie: SPRING, Globulization, (Mega-)Glest, Nero, ORTS
• Aufbaustrategie: Siedler Clones (z.B. Widelands)
• Jump-and-Run: Mario Brothers Clones
Interfaces für ältere, preiswerte Spiele
• RTS: Starcraft via BWAPI (tolerierter Backdoor-Hack)
• FPS: Unreal Tournament via Pogamut2
Engines
• Unity (frei)
• CryEngine3 (Educational License)
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
28 / 30
DET Plattformen / Tools
Und was kommt jetzt?
Zukünftige Entwicklungen im Spielebereich
• Individualisierung von Spielen
• Verstärkte Vermischung verschiedener Genres (z.B. Spellforce, Mix aus
Action-Rollenspiel und Echtzeitstrategie, Brütal Legend: Heavy-Metal FPS, City
Conquest: RTS Tower Defense)
• Nur noch Massive Multiplayer Spiele?
Nein, denn ein menschlicher Spieler gewinnt gerne, aber verliert ungern
• Aber: Mobile Spiele/Browserspiele sind ein interessantes Gebiet
Wie geht es weiter mit CI in Games?
• Anpassen der Spiele auf den Spieler in Echtzeit
• Glaubwürdigere Charaktäre (NPC) durch Imitation/Flexibilität
• Automatisiertes Erzeugen von Spielinhalten
• Unterstützung des Designprozesses (z.B. Balancing)
• Größere Vermischung von KI und CI-Techniken ist zu erwarten
Es bleibt viel zu tun. . .
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
29 / 30
DET Plattformen / Tools
Wir wurden unterstützt von. . .
Phil Hingston
Pier Luca Lanzi
Simon Lucas
Kenneth Stanley
Julian Togelius
Georgios Yannakakis
Mike Preuss (LS11)
Computational Intelligence in Games (am LS 11)
7. April 2015
30 / 30