Game AI Flashcards

1
Q

Was ist ein Steering Behaviour? Welche Steering Behaviours gibt es?

A

Ein Steering Behaviour sagt aus, wie sich z.B. ein Agent / eine AI mit verhält und physikalisch fortbewegt
Seek, Arrive, Flee, FollowPath, ObstacleAvoidance…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie kann AI grundsätzlich Entscheidungen treffen? Über welche Algorithmen oder Datenstrukturen läuft dies?

A

Decision Trees
State Machines
Behaviour Tree
Goal Orientated Behaviour

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was sind und wie funktionieren Decision Trees?

A

Eine simple if / else Abfolge, bei der bestimmt wird, welche Aktionen die AI als Nächstes vor hat
Dabei muss beachtet werden, dass der Decision Tree balanciert ist und teure Entscheidungen erst später getroffen werden müssen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie funktionieren State Machines im Zusammenhang mit AI Decision Making?

A

Jeder einzelne Status der AI ist ein eigener State und zwischen den States gibt es Verbindungen - wenn eine AI also von einem State in den anderen geht, muss dies über eine aktive Verbindung geschehen - wenn der Agent in einem State ist, wird das Behaviour dieses States so lange ausgeführt, bis der State verlassen wird

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist A*?

A

A* ist ein Algorithmus zur Ermittlung des potentiell kürzesten Pfads beginnend von einem Startknoten bis hin zu einem Endknoten, ähnlich wie Dijkstra, nur ungenauer und mehr performance-basierter.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wie funktioniert der A* Algorithmus?

A

Man beginnt damit, den Anfangsknoten zur “offenen” Liste hinzuzufügen und die ungefähren Manhattan Distanzkosten zum Ziel zu berechnen.
Dann wählt man den Knoten mit den niedrigsten ungefähren Kosten zum Ziel von der “offenen Liste” und fügt alle Nachbarknoten der “offenen Liste” hinzu - wobei von jedem Knoten die ungefähren Kosten zum Ziel berechnet werden. Hierbei muss beachtet werden, im Gegensatz zu Dijkstra können Knoten auf der “geschlossenen” Liste wieder geöffnet werden, wenn die neuen Kosten kleiner als die alten sind.
Alle besuchten Knoten werden von der “offenen Liste” in die “geschlossene Liste” verschoben und dies wird solange gemacht, bis das Ziel gefunden worden ist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wieso verwendet man bei A* die Manhattan Distanz anstatt der Euklidischen Distanz?

A

Um das Rechnen mit Wurzeln zu vermeiden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Der A* Algorithmus findet oft nicht den optimalen Pfad - was sollte man in diesem Fall machen?

A

Bevor man den Algorithmus beendet, diesen etwas länger laufen lassen, in der Hoffnung, dass ein besserer Pfad noch gefunden wird
Ebenso: im echten Leben wird mit G-Cost (Kosten zum Startknoten) und H-Cost (Kosten zum Endknoten) gerechnet, um dieses Szenario zu umgehen (mit präziseren Berechnungen)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist ein Navigationsgraph? Welche Arten von Navigation Graphen gibt es in Spielen?

A

Ein Navigation Graph beinhaltet Knoten, die die Navigation in einem Level widerspiegeln
Es gibt…

Tile-basierte Navigationsgraphen
Point of Visibility Navigationsgraphen
Polygonale Mesh Navigationsgraphen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie funktioniert der Tile-basierte Navigationsgraph?

A

Der Tile-basierte Navigationsgraph ist am einfachsten zu implementieren und man kann sich diesen wie das Bucket Tool in Paint vorstellen - es wird via Flood Fill auf der gesamten Map Blöcke definiert, die dann der Navigation dienen

Nachteile davon sind, dass es sehr viele Nodes gibt (je nach Graphdichte) und der Pfad sehr blockig aussieht

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie funktioniert der Point of Visibility Navigationsgraph?

A

Der Navigationsgraph besteht aus Sichtbarkeitspunkten im Level, die miteinander verknüpft sind - jeder verbundene Punkt hat freie Sicht auf andere verbundenen Punkte - diese Art von Graph muss per Hand von Level Designern festgelegt werden, wobei die automatische Generation auch möglich wäre

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wie funktioniert der polygonale Mesh Navigationsgraph?

A

Dieser besteht aus einem Netzwerk von konvexen Polygonen (oft auch mit Dreiecken erstellt) und ist der “standard” in der Gaming Industrie derzeit - dabei muss die Geometrie im Level von einem Level Designer markiert werden (alle begehbaren Bereiche) und eigene Navigationsgeometrie erstellt werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Warum muss Path Smoothing betrieben werden?

A

Ein Pfad kann manchmal sehr eckig und kantig wirken, weswegen der ermittelte Pfad immer gesmoothed werden sollte und unnötige Knotenpunkte entfernt werden sollten - smoothing wird auch teilweise schon über Steering Behaviours geregelt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was sind die Bedingungen für Game AI?

A

Believable (intelligent, human-like sein)
Challenging (AI sollte den Spieler nicht besiegen, aber diesen herausfordern)
Efficient (AI bekommt typischerweise 5 - 20 % CPU Budget)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wie ist eine Game AI typischerweise aufgebaut? Welche Komponenten enthält diese?

A

Typischerweise besteht Game AI aus zwei großen Komponenten - Group AI und Character AI.
Group AI: Strategy
Character AI: Perception, Decision Making, Movement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist mit “Cheating” gemeint bei Game AI?

A

Game AI, die weiter weg vom Spieler ist, muss nicht das Verhalten 1:1 ausführen, wie sie es tun müsste, wenn nahe beim Spieler - sie kann sozusagen also “cheaten” und muss nicht ihr ganzes Verhalten simulieren (performance sparend)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Was ist Locomotion?

A

Locomotion definiert, wie ein Objekt sich bewegt –> position += velocity * time;
Locomotion hat Einschränkungen, ist von Kräften beeinflusst und kann sich auf Animationen auswirken

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Was ist ein Steering Command?

A

Die Geschwindigkeit und Bewegung eines Objekts sollte nicht direkt gesetzt werden, sondern durch Kräfte (steering commands) beeinflusst und somit gelenkt werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Steering Behaviour: Was ist Seek?

A

Bei Seek folgt der Agent einem Ziel und geht auf dieses direkt zu -> für eine geschmeidigere (smoothere) Bewegung wird der Impulse über eine Zeit lang angewendet, damit der Agent nicht sofort in Richtung des Spielers schaut und sich bewegt, womit ein Arc entsteht

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Steering Behaviour: Was ist Arrive?

A

Bei Arrive bewegt sich der Agent nahe zum Ziel, aber geht nie direkt zum Ziel (hört ab einem gewissen Threshold auf und wird davor schon langsamer)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Steering Behaviour: Was ist Pursue?

A

Beim Verfolgen eines Ziels wird die Bewegung des Ziels vorhergesehen anhand einer “look ahead time” - die look ahead time wird angepasst je nach Distanz zum Ziel, wenn der Agent nahe beim Evader ist, wird einfach auf das Seek Behaviour zurückgewechselt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Steering Behaviour: Was ist Path Following? Welche Variante gibt es?

A

Der Agent folgt den im Pfad definierten Punkten und seekt auf diese einfach zu

Wenn nur ein Pfad ohne Punkte definiert ist, kann sich der Agent selbst einen nahegelegenen Punkt am Pfad finden und auf diesen zuseeken - oft wird dies kombiniert mit “weiter nach vorne” sehen am Pfad, damit man nicht direkt auf den Pfad zugeht sondern sich an diesen annähert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Steering Behaviour: Was ist Separation?

A

Wenn Charaktere zu nahe beieinander stehen, werden Kräfte berechnet, damit sich die Charaktere voneinander entfernen (Stärke der Separation ist abhängig vom Abstand zu anderen Charakteren)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Steering Behaviour: Was ist Obstacle Avoidance?

A

Der Agent versucht den Objekten vor sich (in einer Cone) auszuweichen - dabei werden Kräfte berechnet, die den Agenten am Objekt vorbeiführen sollten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Steering Behaviour: Was ist Wall Avoidance? Welche Raycasting Verfahren gibt es?

A

Der Agent casted ständig Rays vor sich, um nicht gegen Wände zu laufen -> wenn eine Wand vom Raycast getroffen wird, wird an Hand der Kollisionsnormale ein neues Ziel berechnet, auf welches sich der Agent zubewegt

Beim Raycasting gibt es verschiedene Ansätze für präzisere Wall Avoidance:

Single Ray Richtung Forward Vektor
Parallel Side Rays um größere Bereiche abzudecken
Whisker Rays (Katzen)
Shape Cast (man verwendet eine Shape für die Kollisionserkennung - sehr teuer)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Steering Behaviour: Was ist Wander?

A

Der Agent bewegt sich “zufällig” zu Punkten vor sich hin (in einem Kreis), um menschliches Fortbewegen zu simulieren

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Welche Strategien gibt es beim Kombinieren von Steering Behaviours?

A

Blending and Arbitration (wo die Steering Behaviour an Hand von Gewichtungen alle zusammengerechnet werden und mit der maximalen Beschleunigung limitiert werden) - leicht zu implementieren, aber schwer zu balancen und wenn zwei Behaviour sich Konflikten (Seek vs. Flee), kommt es ebenso zu Problemen

Priorities (gewisse Behaviours werden priorisiert)

28
Q

Steering Behaviour: Was ist Flocking?

A

Simulation von Mengen / Massen inspiriert durch Vögel, wo drei separate Steering Behaviour kombiniert werden: Separation, Alignment und Cohesion

29
Q

Steering Behaviour: Was ist eine Formation? Wie kann diese verbessert werden?

A

Eine Gruppe von Agenten folgt einem Anführer in einer gewissen Anreihung (mit Offsets)

Verbesserungen:
Scalable Formation: Formation passt sich mit wachsender Nummer von Agenten an
Slots Assignment: Es gibt in Formationen “Slots” für passende Charactertypen (Melee vs. Ranged)

30
Q

Was ist Reciprocal Velocity Obstacles?

A

Normale Obstacle Avoidance funktioniert nicht bei großen Mengen / Massen –> Lösung: Reciprocal Velocity Obstacles: Agenten kommunizieren nicht mehr miteinander, sondern avoiden sich gegenseitig im Velocity Space (also die Bewegungsvektoren selbst avoiden sich), da beide Agenten das gleiche Ziel verfolgen, finden sie eine passende Velocity, mit der das Velocity Obstacle umgangen werden kann

31
Q

Wie kann eine AI den Spieler wahrnehmen?

A

Distanz
Sicht (Visuell)
Hören (Auditory)
Hit / Touch

32
Q

Wie funktioniert Distanz-Wahrnehmung bei Game AI?

A

Wenn der Spieler innerhalb der Reichweise des Agenten ist, nimmt der Agent den Spieler wahr

33
Q

Wie funktioniert Sicht-Wahrnehmung bei Game AI?

A

An Hand eines Sichtfeldes wird ein Line-Of-Sight Test gemacht - es gibt noch weitere Sichtbarkeits-Level, die implementiert werden können:

Helligkeit: Ist das Ziel in einer dunklen Umgebung?
Geschwindigkeit: Bewegt sich das Ziel?
SIchtbarkeitsdistanz: Wie weit weg ist das Ziel? In welchem Winkel wird das Ziel angeschaut?

34
Q

Wie funktioniert Hören-Wahrnehmung bei Game AI?

A

Simpel: Alles um den Spieler herum, was Geräusche macht
Komplex: Verschiedene Soundquellen - Raumverteilung und weitere physikalische Eigenschaften beachten (Distanz, Hindernisse, Reflektionen, Diffraktionen)

35
Q

Wie funktioniert die Awareness bei Game AI?

A

Alle Sichtbarkeitswerte werden kombiniert und geprüft, ob diese ausreichen, dass der Agent den Spieler wahrnimmt - es gibt meist auch eine Reaktionszeit, bevor die AI den Spieler wahrnimmt

36
Q

Sollten 2D oder 3D Vektoren verwendet werden bei Game AI?

A

2D Vektoren reichen normalerweise vollständig aus - 3D Vektoren nur bei Flugsimulationen

37
Q

Was befindet sich am Decision Making Layer?

A

Actions und Knowledge (Blackboard), als auch ein Decision Making Algorithmus

38
Q

Was sind Aktionen im Bezug auf Decision Making bei Game AI?

A

Aktionen sind das Resultat vom Treffen von Entscheidungen - diese können Bewegungen, interne State changes und Animation Trigger sein

39
Q

Wie kommt eine Game AI zu ihrem Wissen?

A

Meist über ein Blackboard - das Blackboard enthält jegliche relevante Informationen für die Game AI und auf dieses kann von vielen Game Systemen direkt zugegriffen werden (meist mit einem Dictionary, wo die Keys die Strings sind, die gefordert werden zum Lesen / Schreiben von Daten)

40
Q

Welche Decision Making Algorithm gibt es?

A

Scripted Behaviour
Decision Trees
Finite State Machine
Behaviour Trees
Goal-Oriented Behaviour / Goal-Oriented Action Planning

41
Q

Decision Making Algorithm: Was ist Scripted Behaviour? Benenne Vor- und Nachteile.

A

Das Verhalten der AI ist 1:1 in einem Skript festgelegt

+ Leicht, komplexes Verhalten darzustellen
+ Volle Kontrolle über AI
+ Gutes Tool für Storytelling

  • Leicht für Spieler zu “durchsehen”
  • Viele Skripte notwendig für gutes Verhalten
42
Q

Decision Making Algorithm: Was sind Behaviour Trees?

A

Behaviour Trees sind Bäume, die aus Tasks (Behaviours), Konditionen und Aktionen bestehen, um Game AI Entscheidungen zu treffen

43
Q

Behaviour Tree: Was sind Tasks? Welche Task-Resultate gibt es?

A

Tasks sind Aktionen, die entweder vollständig durchgeführt werden oder auch fehlschlagen können - die Resultate von Tasks können folgende sein:

RUNNING
SUCCEEDED
FAILED
ABORTED
INVALID

44
Q

Behaviour Tree: Was sind Composites? Welche gibt es? Gehe näher auf diese ein.

A

Composites sind Knoten im Behaviour Tree, die das Execution-Verhalten des Behaviour Trees lenken.

Selector (?): Selektoren probieren alle Kinder durch, bis ein Kind erfolgreich war

Sequence (->): Sequenzer schlagen fehl, sobald ein Kind fehlschlägt

Decorator (Parallelogramm): enthalten immer nur ein Kind, welches verschiedene Modi annehmen kann:
Loop / Repeat: Wiederhole ein Kind solange, bis eine gewisse Loop-Zahl erreicht wurde
UntilFails: Kind wird solange wiederholt, bis es fehlschlägt
ConditionalDecorator: Der Decorator wird solange ausgeführt, wie eine Kondition wahr ist (EnemyVisible)

Parallel (3 Pfeile): Alle Kinder werden parallel ausgeführt, dies wird so lange gemacht, wie es die Policy vorsieht:
Sequence Policy: Solange die Kinder runnen, bis ein Task fehlschlägt
Selector Policy: Schlägt fehl, wenn alle Kinder-Tasks fehlschlagen

45
Q

Behaviour Tree: Welche Versionen von Selektoren gibt es?

A

1) “Normaler” Selector: Alle Kinder durchprobieren, bis ein Kind erfolgreich war
2) Dynamischer Selector (Active Selector, DS): Kinder haben Priorität und je nach höchster Priorität, wird dieser Task zuerst ausgeführt (danach die anderen)
3) Random Selector (Wellensymbol): Macht AI nicht mehr so predictable - es wird ein random Task ausgewählt

46
Q

Was ist Goal-Oriented Behaviour?

A

Die AI versucht ein Ziel (Goal) zu erfüllen - es stehen verschiedene Aktionen zur Auswahl, die AI evaluiert alle Aktionen und entscheidet sich für die Aktion, die das Ziel am meisten erfüllt

47
Q

Goal-Oriented Behaviour: Was sind Goals (Ziele)?

A

Ein Charakter in einem Spiel kann verschiedene Zielen haben - diese sind beispielsweise in einem SIms game: Hunger, Langeweile usw.)

48
Q

Goal-Oriented Behaviour: Was sind Smart Objekte?

A

Smart Objekte sind Objekte, mit denen ein Charakter interagieren kann, um Aktionen durchzuführen (sie halten Aktionen)

49
Q

Goal-Oriented Behaviour: Wie entscheidet sich ein Agent für eine Aktion?

A

Simpler Ansatz: Das “wichtigste” Ziel versuchen zu erfüllen -> beachtet aber nur ein Ziel und beachtet Nebeneffekte nicht

Discontentment Ansatz: Alle Ziele werden zusammenaddiert (Werte skalieren, um hohe Werte disproportional in die Rechnung einfließen zu lassen)

50
Q

Goal-Oriented Behaviour: Was ist Timing? WIe fließt dies in die Aktionswahl ein?

A

Aktionen brauchen Zeit, um diese durchzuführen - dieser Fakt sollte ebenso in die Rechnung miteinbezogen werden (Ziel-Status nach dem Durchführen der Aktion berechnen)

51
Q

Was ist Goal-Oriented Action Planning? Wie funktioniert die Planung?

A

Beim Goal-Oriented Action Planning wird eine richtige Kombination aus Aktionen geplant, um die Goals des Agents zu befriedigen / erfüllen

Die Planung kann auf drei verschiedene Weisen passieren:
Brute Force (alle Kombinationen von Aktionen werden ausprobiert)
Rückwärtssuche vom Ziel zum derzeitigen State
A* oder IDA*

52
Q

Was ist HTN?

A

Hierarchical Task Networks Planning

53
Q

Welche Arten von Learning für AI gibt es?

A

Offline-Learning: Lernmethode während Development, Verhalten der AI kann noch von QA getestet werden
Online-Learning: DIe AI lernt während dem Spielen (AI passt sich an den Spieler an)

54
Q

Was ist Reinforcement Learning?

A

Beim Reinforcement Learning lernt die AI an Hand von “Trial and Error” - der Agent probiert verschiedene Sachen und bekommt durch die Aktionen dann Feedback (kann auch erst am Ende von Aktionsketten kommen)

55
Q

Was ist Q-Learning?

A

Eine Implementationsmethode von Reinforcement Learning, mit dem der Wert von Aktionen berechnet werden kann - dabei wird die Spielwelt wie eine State Machine behandelt und je nach State der Spielwelt, werden verschiedene Aktionen gewählt und die Q-Values (Qualität von Aktionen) angepasst

56
Q

Was ist Deep Reinforcement Learning?

A

Kombination aus deep neural networks und q-learning - Q-Values werden anhand eines trainierten neuronalen Netzwerkes ermittelt

57
Q

Was ist Level Of Detail AI?

A

Wenn AI weit weg entfernt vom Spieler ist, darf diese “cheaten” und muss nicht ihr vollständiges Verhalten abbilden

58
Q

Was passiert, wenn zwei Steering Behaviour einen Konflikt haben?

A

Dann muss die AI eine Entscheidung treffen - dies würde beispielsweise über einen hybriden Ansatz von gewichtetem Blending und Prioritätsblending funktionieren, dass bei zwei konfliktierenden Behaviours das, mit der höchsten Priorität genommen wird

59
Q

Steering Behaviour: Was ist Interpose?

A

Es wird eine Kraft in Richtung der Mitte von zwei anderen Agenten berechnet und Arrive dorthin verwendet

60
Q

Steering Behaviour: Was ist Hide?

A

Versteckt die Position des Agenten, indem gezielt Hindernisse verwendet werden und hinter diese versteckt wird vom “Hunter”

61
Q

Grouping Steering Behaviour: Was ist Separation?

A

Agenten teilen sich mit der maximalen Distanz zu anderen Agenten auf

62
Q

Grouping Steering Behaviour: Was ist Alignment?

A

Alle Agenten einer Gruppe orientieren sich in dieselbe Bewegungsrichtung

63
Q

Grouping Steering Behaviour: Was ist Cohesion?

A

Produktion von einer Steering Force, die einen Agenten Richtung Mitte der Masse von den Nachbarn drängt

64
Q

Wie stellt man sicher, dass es zu keinen Overlaps kommt?

A

Non-Penetration Constraint kann festgelegt werden (Funktion für Overlap Checks), wo Agenten voneinander entfernt werden, wenn ein Overlap entsteht, egal welche Masse, Geschwindgikeit oder physische Einschränkung gerade aktiv ist

65
Q

Wie kann die Bewegung eines Agenten smoother gemacht werden?

A

Den Durchschnitt des Bewegungsvektors berechnen und über mehrere Simulationsschritte updaten, während man diese Forces über mehrere Update Schritte anwendet