killzone's ai: dynamic procedural tactics
TRANSCRIPT
![Page 1: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/1.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 1
Killzone’s AI: Dynamic Procedural Tactics
Arjen Beij & Remco Straatman
Killzone’s AI: Dynamic Procedural Tactics
![Page 2: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/2.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 2
Contents Dynamic procedural tactics Position picking Position Evaluation functions Tactical path-finding Suppression Fire World Representation Conclusions
![Page 3: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/3.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 3
Dynamic Procedural TacticsDynamic procedural tactics = Having the rules and concepts to
dynamically computesolutions to tactical problems
![Page 4: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/4.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 4
AI TacticsCommon approach Level designer placed hints Triggered scripted behavior
![Page 5: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/5.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 5
Dynamic Procedural TacticsGame-play benefits Works for any number of players Fights anywhere
Production benefits Reuse of AI behavior Quick level prototyping Roll out improvements game wide
![Page 6: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/6.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 6
Position Picking Picking a good position
is half the battle in ‘fire & maneuver’ combat
Account for dozens of (dynamic) factors
How to pick that position?
Outside danger zone
Wall Hugging
Nearby Cover
Partial Cover
Proximity
Line of Fire
Preferred Range
![Page 7: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/7.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 7
Position Evaluation Functions
Determining the most appropriate position Given n potential destinations To compare positions, need a single value
Use position evaluation function Weighted sum Combines basic factors
![Page 8: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/8.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 8
Example: Picking an Attack Position 1
Example: Picking an attack position Multiple threats
Attack primary threat Cover from other threats preferred
Partial cover from primary Proximity Preferred fighting range
Combine into a single value per position
![Page 9: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/9.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 9
Example: Picking an Attack Position 2
Initial situation: three threats, some walls and a waypoint graph
![Page 10: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/10.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 10
Example: Picking an Attack Position 3
Selected nearby waypoints, annotated with proximity (weight 20)
![Page 11: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/11.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 11
Example: Picking an Attack Position 4
Annotations for LoF to primary threat (40 if partial cover, 20 otherwise)
![Page 12: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/12.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 12
Example: Picking an Attack Position 5
Annotations for cover from secondary threats (weight 20)
![Page 13: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/13.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 13
Example: Picking an Attack Position 6
Annotations positions inside preferred fighting range (weight 10)
![Page 14: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/14.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 14
Example: Picking an Attack Position 7
+Adding up all the annotations yields the most promising attack position
![Page 15: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/15.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 15
Example: Picking an Attack Position 8
Single threat Multiple threats
![Page 16: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/16.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 16
Personality:What factors are
important? Action:
What kind of position?
Configurable and Dynamic
Configurable
Dynamic Current situation:Where are the threats?
Squad:Additional constraints
Position evaluation function
![Page 17: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/17.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 17
Tactical Path-findingShortest paths often aren’t tactically sound
For example:1. Paths traversing friendly lines-of-fire2. Paths ignoring cover from hostile fire3. Paths leaving the AI exposed
unnecessarily
1 2 3
![Page 18: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/18.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 18
Tactical Path-findingPosition evaluations functions in path finding
In A*, add to the costs of traveling a link: Traversing a friendly lines-of-fire Being under fire from one or more
threats
![Page 19: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/19.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 19
Example: Tactical Path-finding 1
Costs to travel each waypoint link, and the resulting shortest path.
![Page 20: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/20.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 20
Example: Tactical Path-finding 2
Link costs now reflect being under fire, and the corresponding tactical path.
![Page 21: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/21.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 21
Example: Tactical Path-finding 3
B
A
B
A
shortest path versus tactical path
T T
![Page 22: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/22.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 22
Suppression FireSuppression fire: Fire near hidden threats to pin them down
Not: Firing into the wall behind which the threat
is hiding Firing into locations the threat cannot
reach
![Page 23: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/23.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 23
Example: Suppression Fire 1
What we want Deny the threat use of good attack
positions By shooting bursts at these positions
How we implement it using position evaluation
Evaluate threat’s attack positions from his perspective
Select those attack positions we can fire into
![Page 24: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/24.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 24
Example: Suppression Fire 2
A hidden threat (left), attacker (right) and the intended suppression fire.
![Page 25: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/25.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 25
Example: Suppression Fire 3
Selecting the waypoints in close proximity to the presumed threat position
![Page 26: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/26.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 26
Example: Suppression Fire 4
Annotations (20, 30) for offering the threat a LoF to the attacker (right).
![Page 27: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/27.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 27
Example: Suppression Fire 5
Annotation of 20 for positions offering the threat nearby cover from the attacker.
![Page 28: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/28.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 28
Example: Suppression Fire 6
Selecting those positions with score 40 yields the suppress targets.
![Page 29: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/29.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 29
Example: Suppression Fire 7
Merging suppression targets that overlap in yaw and pitch.
![Page 30: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/30.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 30
Example: Suppression Fire 8
The attacker’s view of suppression targets near the hidden threat.
![Page 31: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/31.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 31
Example: Suppression Fire 9
attacker PoV target PoV
![Page 32: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/32.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 32
World RepresentationPre-conditions for dynamic procedural
tactics1.Navigation info, with fine enough
resolutionto represent cover locations Waypoints, nav meshes, cells: any will
do
2.Fast Line-of-Sight/Line-of-fire checks
![Page 33: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/33.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 33
Lines-of-Fire Representation 1
Tactical decisions Involve hundreds of LoF checks Ray casts typically expensive
Use a small pre-computed look-up table Multiple stances, minor movement Pessimistic about cover Polar representation
Killzone’s LoF table for 4000 waypoints: 64KB
![Page 34: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/34.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 34
Lines-of-Fire Representation 2
Compression:For every waypoint, per radial sector, record the largestdistance from where an attacker within that sector can fire at the waypoint.
Inaccurate, but consistent.
![Page 35: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/35.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 35
ConclusionsKillzone was released for PS2 late 2004 Tactical position picking Tactical path-finding Suppression by infantry and mounted MGs Indirect fire for hand grenades and tank
shells Single and multiplayer AI
Up to 14 AI characters fighting simultaneously
![Page 36: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/36.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 36
Conclusions - Killzone’s AIPros Share/reuse behavior across games Quick level prototyping Can be combined with scripting Fights anywhere, anytime, SP or MP
Cons Harder to control in detail Harder to test
![Page 37: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/37.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 37
Conclusions – Game AIPosition evaluation functions are powerful Robust decisions with many (dynamic)
inputs Different behavior through configuration Many tactics can be implemented through
position evaluation
Dynamic procedural tactics Responsive AI behavior Within reach of many games
![Page 38: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/38.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 38
Further InfoOff-line Our proceedings paper provides more details, notably on
the terrain representation and grenade handling Lars Lidén, Strategic and Tactical Reasoning with Waypoints
in AI Game Programming Wisdom, Charles River Media, 2002
Paul Tozour, Using a Spatial Database for Runtime Spatial Analysis in AI Game Programming Wisdom 2, Charles River Media, 2003
William van der Sterren, Tactical Path-Finding with A* in Game Programming Gems 3, Charles River Media, 2002
On-line William van der Sterren’s collection of links to on-line
papers at:www.cgf-ai.com/links.html
![Page 39: Killzone's AI: Dynamic Procedural Tactics](https://reader034.vdocuments.site/reader034/viewer/2022042908/58f1a67f1a28abae078b4585/html5/thumbnails/39.jpg)
August 31, 2005Game Developer Conference Europe
Killzone’s AI:Dynamic Procedural Tactics Guerrilla Games - 39
Questions?