KI in Computerspielen Tactical and Strategic AI Marvin Stümmel, Institut für Informatik 04.07.2017
Einleitung Was ist Tactical and Strategic AI? Einbindung von Strategien und Taktiken Bessere Gegner Herausforderung für den Spieler In welcher Art von Spielen wird so eine AI benötigt? RTS Shooter
Inhalte Wegpunkt Taktiken Taktische Analyse Taktische Positionen Problemen Lösungsmöglichkeiten Taktische Analyse Influence Maps Berechnung
Wegpunkt Taktiken Wegpunkte: Positionen in einem Level Zur Wegefindung Repräsentation in Wegpunkt Graphen
Einfacher Wegpunkt Graph
Wegpunkt Taktiken Wegpunkte: Positionen in einem Level Zur Wegefindung Repräsentation in Wegpunkt Graphen Zusatzdaten ermöglichen taktische Verwendung
Taktische Positionen Kennzeichnen von taktischen Positionen Z.B. Orten mit: Guter Deckung Viel Schatten Etc. Auch: Orten mit schlechter Deckung etc.
Raum von oben mit einfachen Wegpunkten
Mit mehr Wegpunkten und Zusatzinformationen
Problem bei taktischen Positionen Kontextabhängigkeit
Problem bei taktischen Positionen Kontextabhängigkeit: Hinter der kleinen Box stehen? Schützt nicht gegen jeden Gegner Deckung nur aus bestimmten Richtungen Lösungen?
Möglichkeit 1: Variablen für die Wegpunkte Speichern von Variablen für die Wegpunkte Für Deckungsmöglichkeiten z.B.: Qualität aus verschiedenen Richtungen Muss sich geduckt werden? Schützt gegen welche Waffentypen? Etc. Gute Lösung wenn die Zahl der Variablen absehbar ist
Möglichkeit 2: Prüfen der Wegpunkte Nur eine Variable pro Wegpunkt Z.B. Deckungsqualität Prüfen der Gültigkeit Beliebige Tests gegen den Spielzustand Was kann der Gegner sehen? Sind Schüsse in meine Richtung gefallen? Sind Verbündete in der Nähe? Gute Lösung bei komplexeren Problemen
Im Vergleich Möglichkeit 1: Möglichkeit 2: Schneller Viele Variablen für komplexere Situationen benötigt Möglichkeit 2: Braucht viel mehr Rechenleistung Einfacher für komplexe Situationen
Taktische Analyse Influence Maps Oft in RTS verwendet Zeigen militärischen Einfluss aller Seiten Spielwelt muss in „Chunks“ geteilt werden z.B. mit Gitternetz
Einfache Influence Maps Zeigt Zustand des Einflusses Ignoriert Faktoren wie: Wetter, Terrain, Nähe zur Basis, etc. Beachtet wir nur: Stärke der Einheit Nähe der Einheit
Influence Map mit einer Einheit
Beispiele Soldaten in einem Feld: Schwachen Einfluss Einfluss über kurze Distanz Apache Kampfhelikopter über den selben Feld: Starker Einfluss Einfluss über große Distanz
Berechnung des Einflusses Einheit 𝑈0 steht am Punkt 𝑃 𝑈 0 𝐸 𝑈 0 : Grundwert des Einflusses an 𝑃 𝑈 0 von 𝑈0 𝐸 𝑈0 ;𝑑 : Einfluss von 𝑈0 an beliebigen 𝑃𝑥 mit Distanz 𝑑 Berechnung der Abnahme des Einflusses: Meistens lineare Abnahme: 𝐸 𝑈0 ;𝑑 : 𝐸 𝑈 0 1+𝑑
Verschiedene Formeln zur Berechnung des Einflusses
Berechnung des Einflusses 𝑑𝑖𝑠 𝑃 𝑈 0 ;𝑃1 : Distanz zwischen 𝑃 𝑈 0 und 𝑃1 Einfluss an 𝑃𝑥 von Team mit n Einheiten 𝐸 𝑃 𝑥 = 𝑘=0 𝑛−1 𝐸( 𝑈 𝑘 ;𝑑𝑖𝑠 𝑃 𝑈 𝑘 ; 𝑃 𝑥 ) Berechnet für jedes Team Besitzer von 𝑃 𝑥 : Team mit höchsten 𝐸 𝑃 𝑥 Stärke der Kontrolle über 𝑃 𝑥 𝐸 𝑃 𝑥 (des Besitzers) − 𝐸 𝑃 𝑥 (des Zweitplatzierten)
Influence Map mit mehreren Einheiten
Verwendung Taktische Positionen Ist ein Rückzugsort noch sicher? Welche Einheiten sind im Vor- /Nachteil? Von wo wird angegriffen? Wo kann man angreifen?
Quellen Millington, Ian; Funge, John (2009): Artificial Intelligence For Games Second Edition. http://gameschoolgems.blogspot.de/2009/12/influence-maps-i.html (27.05.2017, 16:39 Uhr) http://jceipek.com/Olin-Coding-Tutorials/pathing.html (17.06.2017, 18:35 Uhr)
Fragen? Anmerkungen?