SlideShare uma empresa Scribd logo
1 de 39
Killzone’s AI:
Dynamic Procedural Tactics




Arjen Beij & Remco Straatman

 August 31, 2005                          Killzone’s AI:
 Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 1
Contents
 Dynamic procedural tactics

    Position picking
    Position Evaluation functions
    Tactical path-finding
    Suppression Fire

 World Representation

 Conclusions

August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 2
Dynamic Procedural Tactics
Dynamic procedural tactics =
 Having the rules and concepts to
  dynamically compute
  solutions to tactical problems




August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 3
AI Tactics
Common approach
 Level designer placed hints
 Triggered scripted behavior




August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 4
Dynamic Procedural Tactics
Game-play benefits
 Works for any number of players
 Fights anywhere

Production benefits
 Reuse of AI behavior
 Quick level prototyping
 Roll out improvements game wide


August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 5
Position Picking                                  Outside
                                                                           Wall
                                                       danger zone
                                                                          Hugging
                                                                                    Nearby
 Picking a good position                                       Partial
                                                                                    Cover
                                                                Cover
  is half the battle
  in ‘fire & maneuver’ combat                                   Line of Fire      Proximity

                                                                               Preferred
                                                                                Range
 Account for dozens of
  (dynamic) factors

 How to pick that position?



August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics                  Guerrilla Games - 6
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


August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 7
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
August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 8
Example: Picking an Attack
       Position 2




               Initial situation: three threats, some walls and a waypoint graph

August 31, 2005                             Killzone’s AI:
Game Developer Conference Europe      Dynamic Procedural Tactics                   Guerrilla Games - 9
Example: Picking an Attack
       Position 3




              Selected nearby waypoints, annotated with proximity (weight 20)

August 31, 2005                            Killzone’s AI:
Game Developer Conference Europe     Dynamic Procedural Tactics                 Guerrilla Games - 10
Example: Picking an Attack
       Position 4




         Annotations for LoF to primary threat (40 if partial cover, 20 otherwise)

August 31, 2005                            Killzone’s AI:
Game Developer Conference Europe     Dynamic Procedural Tactics                 Guerrilla Games - 11
Example: Picking an Attack
       Position 5




                   Annotations for cover from secondary threats (weight 20)

August 31, 2005                             Killzone’s AI:
Game Developer Conference Europe      Dynamic Procedural Tactics              Guerrilla Games - 12
Example: Picking an Attack
       Position 6




              Annotations positions inside preferred fighting range (weight 10)

August 31, 2005                            Killzone’s AI:
Game Developer Conference Europe     Dynamic Procedural Tactics                   Guerrilla Games - 13
Example: Picking an Attack
       Position 7




                                    +
          Adding up all the annotations yields the most promising attack position

August 31, 2005                            Killzone’s AI:
Game Developer Conference Europe     Dynamic Procedural Tactics                Guerrilla Games - 14
Example: Picking an Attack
       Position 8
              Single threat                                 Multiple threats




August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics           Guerrilla Games - 15
Configurable and Dynamic

                                                                           Personality:
Configurable                        Action:
                                                                          What factors are
                             What kind of position?
                                                                           important?




                                     Position evaluation function


    Dynamic                    Current situation:                             Squad:
                             Where are the threats?                    Additional constraints




 August 31, 2005                                Killzone’s AI:
 Game Developer Conference Europe         Dynamic Procedural Tactics             Guerrilla Games - 16
Tactical Path-finding
Shortest paths often aren’t tactically sound




                                   1                                2                          3
For example:
1. Paths traversing friendly lines-of-fire
2. Paths ignoring cover from hostile fire
3. Paths leaving the AI exposed unnecessarily
August 31, 2005                              Killzone’s AI:
Game Developer Conference Europe       Dynamic Procedural Tactics       Guerrilla Games - 17
Tactical Path-finding
Position 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

August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 18
Example: Tactical Path-finding
       1




             Costs to travel each waypoint link, and the resulting shortest path.

August 31, 2005                             Killzone’s AI:
Game Developer Conference Europe      Dynamic Procedural Tactics                    Guerrilla Games - 19
Example: Tactical Path-finding
       2




      Link costs now reflect being under fire, and the corresponding tactical path.

August 31, 2005                           Killzone’s AI:
Game Developer Conference Europe    Dynamic Procedural Tactics                Guerrilla Games - 20
Example: Tactical Path-finding
       3 B                  B



                                     T                                                 T




                            shortest path       versus         tactical path




                     A                                                     A

August 31, 2005                                Killzone’s AI:
Game Developer Conference Europe         Dynamic Procedural Tactics            Guerrilla Games - 21
Suppression Fire
Suppression 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


August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 22
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


August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 23
Example: Suppression Fire 2




         A hidden threat (left), attacker (right) and the intended suppression fire.
August 31, 2005                             Killzone’s AI:
Game Developer Conference Europe      Dynamic Procedural Tactics                 Guerrilla Games - 24
Example: Suppression Fire 3




       Selecting the waypoints in close proximity to the presumed threat position
August 31, 2005                           Killzone’s AI:
Game Developer Conference Europe    Dynamic Procedural Tactics               Guerrilla Games - 25
Example: Suppression Fire 4




        Annotations (20, 30) for offering the threat a LoF to the attacker (right).

August 31, 2005                            Killzone’s AI:
Game Developer Conference Europe     Dynamic Procedural Tactics                  Guerrilla Games - 26
Example: Suppression Fire 5




  Annotation of 20 for positions offering the threat nearby cover from the attacker.

August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics                 Guerrilla Games - 27
Example: Suppression Fire 6




           Selecting those positions with score     40 yields the suppress targets.

August 31, 2005                            Killzone’s AI:
Game Developer Conference Europe     Dynamic Procedural Tactics                  Guerrilla Games - 28
Example: Suppression Fire 7




                   Merging suppression targets that overlap in yaw and pitch.

August 31, 2005                              Killzone’s AI:
Game Developer Conference Europe       Dynamic Procedural Tactics               Guerrilla Games - 29
Example: Suppression Fire 8




             The attacker’s view of suppression targets near the hidden threat.

August 31, 2005                            Killzone’s AI:
Game Developer Conference Europe     Dynamic Procedural Tactics                   Guerrilla Games - 30
Example: Suppression Fire 9




                      attacker PoV                                target PoV

August 31, 2005                            Killzone’s AI:
Game Developer Conference Europe     Dynamic Procedural Tactics                Guerrilla Games - 31
World Representation
Pre-conditions for dynamic procedural tactics
1. Navigation info, with fine enough resolution
   to represent cover locations
     Waypoints, nav meshes, cells: any will do

2. Fast Line-of-Sight/Line-of-fire checks




August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 32
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
August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 33
Lines-of-Fire Representation 2
                                                                Compression:
                                                                For every waypoint, per radial
                                                                sector, record the largest
                                                                distance from where an attacker
                                                                within that sector can fire at the
                                                                waypoint.

                                                                Inaccurate, but consistent.




August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics                     Guerrilla Games - 34
Conclusions
Killzone 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


August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 35
Conclusions - Killzone’s AI
Pros
 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

August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 36
Conclusions – Game AI
Position 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

August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 37
Further Info
Off-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

August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 38
Questions?




August 31, 2005                          Killzone’s AI:
Game Developer Conference Europe   Dynamic Procedural Tactics   Guerrilla Games - 39

Mais conteúdo relacionado

Mais procurados

The Rise and Rise of Idle Games
The Rise and Rise of Idle GamesThe Rise and Rise of Idle Games
The Rise and Rise of Idle GamesAnthony Pecorella
 
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부Eunseok Yi
 
Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game DevelopmentiTawy Community
 
06. Game Architecture
06. Game Architecture06. Game Architecture
06. Game ArchitectureAmin Babadi
 
LAFS Game Design 1 - Structural Elements
LAFS Game Design 1 - Structural ElementsLAFS Game Design 1 - Structural Elements
LAFS Game Design 1 - Structural ElementsDavid Mullich
 
Level Design Challenges & Solutions - Mirror's Edge
Level Design Challenges & Solutions - Mirror's EdgeLevel Design Challenges & Solutions - Mirror's Edge
Level Design Challenges & Solutions - Mirror's EdgeElectronic Arts / DICE
 
Game Balance 1: What is Game Balance
Game Balance 1: What is Game BalanceGame Balance 1: What is Game Balance
Game Balance 1: What is Game BalanceMarc Miquel
 
Game Design Principle
Game Design PrincipleGame Design Principle
Game Design PrincipleNaquiah Daud
 
Game Engine Architecture
Game Engine ArchitectureGame Engine Architecture
Game Engine ArchitectureAttila Jenei
 
The Art of Game Development
The Art of Game DevelopmentThe Art of Game Development
The Art of Game DevelopmentAmir H. Fassihi
 
Introduction to game development
Introduction to game developmentIntroduction to game development
Introduction to game developmentGaetano Bonofiglio
 
Game Development workshop with Unity3D.
Game Development workshop with Unity3D.Game Development workshop with Unity3D.
Game Development workshop with Unity3D.Ebtihaj khan
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallGuerrilla
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2Guerrilla
 

Mais procurados (20)

The Rise and Rise of Idle Games
The Rise and Rise of Idle GamesThe Rise and Rise of Idle Games
The Rise and Rise of Idle Games
 
Game Design Process
Game Design ProcessGame Design Process
Game Design Process
 
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
 
Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game Development
 
06. Game Architecture
06. Game Architecture06. Game Architecture
06. Game Architecture
 
LAFS Game Design 1 - Structural Elements
LAFS Game Design 1 - Structural ElementsLAFS Game Design 1 - Structural Elements
LAFS Game Design 1 - Structural Elements
 
Various Topics on Game Design
Various Topics on Game DesignVarious Topics on Game Design
Various Topics on Game Design
 
Level Design Challenges & Solutions - Mirror's Edge
Level Design Challenges & Solutions - Mirror's EdgeLevel Design Challenges & Solutions - Mirror's Edge
Level Design Challenges & Solutions - Mirror's Edge
 
Game Balance 1: What is Game Balance
Game Balance 1: What is Game BalanceGame Balance 1: What is Game Balance
Game Balance 1: What is Game Balance
 
Game Mechanics
Game MechanicsGame Mechanics
Game Mechanics
 
Game Design Principle
Game Design PrincipleGame Design Principle
Game Design Principle
 
Game Engine Architecture
Game Engine ArchitectureGame Engine Architecture
Game Engine Architecture
 
Practical usage of Lightmass in Architectural Visualization (Kenichi Makaya...
Practical usage of Lightmass in  Architectural Visualization  (Kenichi Makaya...Practical usage of Lightmass in  Architectural Visualization  (Kenichi Makaya...
Practical usage of Lightmass in Architectural Visualization (Kenichi Makaya...
 
Introduction to Game Design
Introduction to Game DesignIntroduction to Game Design
Introduction to Game Design
 
The Art of Game Development
The Art of Game DevelopmentThe Art of Game Development
The Art of Game Development
 
Introduction to game development
Introduction to game developmentIntroduction to game development
Introduction to game development
 
Game Development workshop with Unity3D.
Game Development workshop with Unity3D.Game Development workshop with Unity3D.
Game Development workshop with Unity3D.
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
 
Bending the Graphics Pipeline
Bending the Graphics PipelineBending the Graphics Pipeline
Bending the Graphics Pipeline
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
 

Mais de Guerrilla

Horizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case StudyHorizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case StudyGuerrilla
 
Decima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero DawnDecima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero DawnGuerrilla
 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnGuerrilla
 
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnThe Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnGuerrilla
 
The Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow FallThe Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow FallGuerrilla
 
Out of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI InfoOut of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI InfoGuerrilla
 
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow FallThe Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow FallGuerrilla
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesGuerrilla
 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationGuerrilla
 
Killzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemKillzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemGuerrilla
 
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person ShooterA Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person ShooterGuerrilla
 
Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3Guerrilla
 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleGuerrilla
 
Killzone 2 Multiplayer Bots
Killzone 2 Multiplayer BotsKillzone 2 Multiplayer Bots
Killzone 2 Multiplayer BotsGuerrilla
 
Automatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and BeyondAutomatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and BeyondGuerrilla
 
The Creation of Killzone 3
The Creation of Killzone 3The Creation of Killzone 3
The Creation of Killzone 3Guerrilla
 
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case StudyThe PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case StudyGuerrilla
 
The Guerrilla Guide to Game Code
The Guerrilla Guide to Game CodeThe Guerrilla Guide to Game Code
The Guerrilla Guide to Game CodeGuerrilla
 
Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Guerrilla
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Guerrilla
 

Mais de Guerrilla (20)

Horizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case StudyHorizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case Study
 
Decima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero DawnDecima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero Dawn
 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
 
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnThe Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
 
The Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow FallThe Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow Fall
 
Out of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI InfoOut of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI Info
 
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow FallThe Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
 
Killzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemKillzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo Postmortem
 
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person ShooterA Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
 
Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3
 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release Cycle
 
Killzone 2 Multiplayer Bots
Killzone 2 Multiplayer BotsKillzone 2 Multiplayer Bots
Killzone 2 Multiplayer Bots
 
Automatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and BeyondAutomatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and Beyond
 
The Creation of Killzone 3
The Creation of Killzone 3The Creation of Killzone 3
The Creation of Killzone 3
 
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case StudyThe PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
 
The Guerrilla Guide to Game Code
The Guerrilla Guide to Game CodeThe Guerrilla Guide to Game Code
The Guerrilla Guide to Game Code
 
Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2
 

Último

VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...anamikaraghav4
 
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...noor ahmed
 
Top Rated Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...
Top Rated  Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...Top Rated  Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...
Top Rated Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...Call Girls in Nagpur High Profile
 
2k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 92055419142k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 9205541914Delhi Call girls
 
VIP Call Girls Service Banjara Hills Hyderabad Call +91-8250192130
VIP Call Girls Service Banjara Hills Hyderabad Call +91-8250192130VIP Call Girls Service Banjara Hills Hyderabad Call +91-8250192130
VIP Call Girls Service Banjara Hills Hyderabad Call +91-8250192130Suhani Kapoor
 
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
👙  Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service👙  Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Serviceanamikaraghav4
 
Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448ont65320
 
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...ranjana rawat
 
Beyond Bar & Club Udaipur CaLL GiRLS 09602870969
Beyond Bar & Club Udaipur CaLL GiRLS 09602870969Beyond Bar & Club Udaipur CaLL GiRLS 09602870969
Beyond Bar & Club Udaipur CaLL GiRLS 09602870969Apsara Of India
 
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...Apsara Of India
 
Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...
Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...
Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...anamikaraghav4
 
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...anamikaraghav4
 
Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...
Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...
Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...anamikaraghav4
 
(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...
(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...
(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...Riya Pathan
 
↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...noor ahmed
 
VIP Call Girls Asansol Ananya 8250192130 Independent Escort Service Asansol
VIP Call Girls Asansol Ananya 8250192130 Independent Escort Service AsansolVIP Call Girls Asansol Ananya 8250192130 Independent Escort Service Asansol
VIP Call Girls Asansol Ananya 8250192130 Independent Escort Service AsansolRiya Pathan
 
Low Rate Call Girls Gulbarga Anika 8250192130 Independent Escort Service Gulb...
Low Rate Call Girls Gulbarga Anika 8250192130 Independent Escort Service Gulb...Low Rate Call Girls Gulbarga Anika 8250192130 Independent Escort Service Gulb...
Low Rate Call Girls Gulbarga Anika 8250192130 Independent Escort Service Gulb...Riya Pathan
 

Último (20)

VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
 
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
 
Top Rated Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...
Top Rated  Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...Top Rated  Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...
Top Rated Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...
 
2k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 92055419142k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 9205541914
 
VIP Call Girls Service Banjara Hills Hyderabad Call +91-8250192130
VIP Call Girls Service Banjara Hills Hyderabad Call +91-8250192130VIP Call Girls Service Banjara Hills Hyderabad Call +91-8250192130
VIP Call Girls Service Banjara Hills Hyderabad Call +91-8250192130
 
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
👙  Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service👙  Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
 
Desi Bhabhi Call Girls In Goa 💃 730 02 72 001💃desi Bhabhi Escort Goa
Desi Bhabhi Call Girls  In Goa  💃 730 02 72 001💃desi Bhabhi Escort GoaDesi Bhabhi Call Girls  In Goa  💃 730 02 72 001💃desi Bhabhi Escort Goa
Desi Bhabhi Call Girls In Goa 💃 730 02 72 001💃desi Bhabhi Escort Goa
 
CHEAP Call Girls in Malviya Nagar, (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in  Malviya Nagar, (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in  Malviya Nagar, (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Malviya Nagar, (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448
 
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
 
Beyond Bar & Club Udaipur CaLL GiRLS 09602870969
Beyond Bar & Club Udaipur CaLL GiRLS 09602870969Beyond Bar & Club Udaipur CaLL GiRLS 09602870969
Beyond Bar & Club Udaipur CaLL GiRLS 09602870969
 
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
 
Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...
Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...
Verified Call Girls Esplanade - [ Cash on Delivery ] Contact 8250192130 Escor...
 
Goa Call Girls 9316020077 Call Girls In Goa By Russian Call Girl in goa
Goa Call Girls 9316020077 Call Girls  In Goa By Russian Call Girl in goaGoa Call Girls 9316020077 Call Girls  In Goa By Russian Call Girl in goa
Goa Call Girls 9316020077 Call Girls In Goa By Russian Call Girl in goa
 
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
 
Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...
Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...
Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...
 
(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...
(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...
(Dipika) Call Girls in Bangur ! 8250192130 ₹2999 Only and Free Hotel Delivery...
 
↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...
 
VIP Call Girls Asansol Ananya 8250192130 Independent Escort Service Asansol
VIP Call Girls Asansol Ananya 8250192130 Independent Escort Service AsansolVIP Call Girls Asansol Ananya 8250192130 Independent Escort Service Asansol
VIP Call Girls Asansol Ananya 8250192130 Independent Escort Service Asansol
 
Low Rate Call Girls Gulbarga Anika 8250192130 Independent Escort Service Gulb...
Low Rate Call Girls Gulbarga Anika 8250192130 Independent Escort Service Gulb...Low Rate Call Girls Gulbarga Anika 8250192130 Independent Escort Service Gulb...
Low Rate Call Girls Gulbarga Anika 8250192130 Independent Escort Service Gulb...
 

Killzone's AI: Dynamic Procedural Tactics

  • 1. Killzone’s AI: Dynamic Procedural Tactics Arjen Beij & Remco Straatman August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 1
  • 2. Contents  Dynamic procedural tactics  Position picking  Position Evaluation functions  Tactical path-finding  Suppression Fire  World Representation  Conclusions August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 2
  • 3. Dynamic Procedural Tactics Dynamic procedural tactics =  Having the rules and concepts to dynamically compute solutions to tactical problems August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 3
  • 4. AI Tactics Common approach  Level designer placed hints  Triggered scripted behavior August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 4
  • 5. Dynamic Procedural Tactics Game-play benefits  Works for any number of players  Fights anywhere Production benefits  Reuse of AI behavior  Quick level prototyping  Roll out improvements game wide August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 5
  • 6. Position Picking Outside Wall danger zone Hugging Nearby  Picking a good position Partial Cover Cover is half the battle in ‘fire & maneuver’ combat Line of Fire Proximity Preferred Range  Account for dozens of (dynamic) factors  How to pick that position? August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 6
  • 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 August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 7
  • 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 August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 8
  • 9. Example: Picking an Attack Position 2 Initial situation: three threats, some walls and a waypoint graph August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 9
  • 10. Example: Picking an Attack Position 3 Selected nearby waypoints, annotated with proximity (weight 20) August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 10
  • 11. Example: Picking an Attack Position 4 Annotations for LoF to primary threat (40 if partial cover, 20 otherwise) August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 11
  • 12. Example: Picking an Attack Position 5 Annotations for cover from secondary threats (weight 20) August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 12
  • 13. Example: Picking an Attack Position 6 Annotations positions inside preferred fighting range (weight 10) August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 13
  • 14. Example: Picking an Attack Position 7 + Adding up all the annotations yields the most promising attack position August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 14
  • 15. Example: Picking an Attack Position 8 Single threat Multiple threats August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 15
  • 16. Configurable and Dynamic Personality: Configurable Action: What factors are What kind of position? important? Position evaluation function Dynamic Current situation: Squad: Where are the threats? Additional constraints August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 16
  • 17. Tactical Path-finding Shortest paths often aren’t tactically sound 1 2 3 For example: 1. Paths traversing friendly lines-of-fire 2. Paths ignoring cover from hostile fire 3. Paths leaving the AI exposed unnecessarily August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 17
  • 18. Tactical Path-finding Position 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 August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 18
  • 19. Example: Tactical Path-finding 1 Costs to travel each waypoint link, and the resulting shortest path. August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 19
  • 20. Example: Tactical Path-finding 2 Link costs now reflect being under fire, and the corresponding tactical path. August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 20
  • 21. Example: Tactical Path-finding 3 B B T T shortest path versus tactical path A A August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 21
  • 22. Suppression Fire Suppression 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 August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 22
  • 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 August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 23
  • 24. Example: Suppression Fire 2 A hidden threat (left), attacker (right) and the intended suppression fire. August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 24
  • 25. Example: Suppression Fire 3 Selecting the waypoints in close proximity to the presumed threat position August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 25
  • 26. Example: Suppression Fire 4 Annotations (20, 30) for offering the threat a LoF to the attacker (right). August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 26
  • 27. Example: Suppression Fire 5 Annotation of 20 for positions offering the threat nearby cover from the attacker. August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 27
  • 28. Example: Suppression Fire 6 Selecting those positions with score 40 yields the suppress targets. August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 28
  • 29. Example: Suppression Fire 7 Merging suppression targets that overlap in yaw and pitch. August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 29
  • 30. Example: Suppression Fire 8 The attacker’s view of suppression targets near the hidden threat. August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 30
  • 31. Example: Suppression Fire 9 attacker PoV target PoV August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 31
  • 32. World Representation Pre-conditions for dynamic procedural tactics 1. Navigation info, with fine enough resolution to represent cover locations  Waypoints, nav meshes, cells: any will do 2. Fast Line-of-Sight/Line-of-fire checks August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 32
  • 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 August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 33
  • 34. Lines-of-Fire Representation 2 Compression: For every waypoint, per radial sector, record the largest distance from where an attacker within that sector can fire at the waypoint. Inaccurate, but consistent. August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 34
  • 35. Conclusions Killzone 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 August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 35
  • 36. Conclusions - Killzone’s AI Pros  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 August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 36
  • 37. Conclusions – Game AI Position 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 August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 37
  • 38. Further Info Off-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 August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 38
  • 39. Questions? August 31, 2005 Killzone’s AI: Game Developer Conference Europe Dynamic Procedural Tactics Guerrilla Games - 39