SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Game engines and Their Influence in Game Design
Game engines and Their Influence in Game DesignGame engines and Their Influence in Game Design
Game engines and Their Influence in Game Design
Prashant Warrier
 
삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서
JP Lee
 

Was ist angesagt? (20)

Design your 3d game engine
Design your 3d game engineDesign your 3d game engine
Design your 3d game engine
 
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
 
Building Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero DawnBuilding Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero Dawn
 
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
 
Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)
 
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 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
 
Game engines and Their Influence in Game Design
Game engines and Their Influence in Game DesignGame engines and Their Influence in Game Design
Game engines and Their Influence in Game Design
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in Frostbite
 
Game concept presentation
Game concept presentationGame concept presentation
Game concept presentation
 
Introduction to Unity3D Game Engine
Introduction to Unity3D Game EngineIntroduction to Unity3D Game Engine
Introduction to Unity3D Game Engine
 
독립 개발 4년차 리뷰
독립 개발 4년차 리뷰독립 개발 4년차 리뷰
독립 개발 4년차 리뷰
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発
 
Killzone 2 Multiplayer Bots
Killzone 2 Multiplayer BotsKillzone 2 Multiplayer Bots
Killzone 2 Multiplayer Bots
 
삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서
 
위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점
 
졸업작품을 앞둔 게임 기획/프로그래밍 전공 교류회
졸업작품을 앞둔 게임 기획/프로그래밍 전공 교류회졸업작품을 앞둔 게임 기획/프로그래밍 전공 교류회
졸업작품을 앞둔 게임 기획/프로그래밍 전공 교류회
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)
 
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero DawnPutting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
 
Future Directions for Compute-for-Graphics
Future Directions for Compute-for-GraphicsFuture Directions for Compute-for-Graphics
Future Directions for Compute-for-Graphics
 

Mehr von Guerrilla

Mehr von Guerrilla (15)

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
 
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
 
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 Demo Postmortem
Killzone Shadow Fall Demo PostmortemKillzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo Postmortem
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
 
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
 
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
 
Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2
 

Kürzlich hochgeladen

Russian ℂall gIRLS In Goa 9316020077 ℂall gIRLS Service In Goa
Russian ℂall gIRLS In Goa 9316020077  ℂall gIRLS Service  In GoaRussian ℂall gIRLS In Goa 9316020077  ℂall gIRLS Service  In Goa
Russian ℂall gIRLS In Goa 9316020077 ℂall gIRLS Service In Goa
russian goa call girl and escorts service
 
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
 
Nayabad Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex At ...
Nayabad Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex At ...Nayabad Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex At ...
Nayabad Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex At ...
aamir
 
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 goa call girl and escorts service
 
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
russian goa call girl and escorts service
 
Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448
ont65320
 

Kürzlich hochgeladen (20)

Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...
 
Russian ℂall gIRLS In Goa 9316020077 ℂall gIRLS Service In Goa
Russian ℂall gIRLS In Goa 9316020077  ℂall gIRLS Service  In GoaRussian ℂall gIRLS In Goa 9316020077  ℂall gIRLS Service  In Goa
Russian ℂall gIRLS In Goa 9316020077 ℂall gIRLS Service In Goa
 
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...
 
Nayabad Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex At ...
Nayabad Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex At ...Nayabad Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex At ...
Nayabad Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex At ...
 
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
 
Independent Sonagachi Escorts ✔ 9332606886✔ Full Night With Room Online Booki...
Independent Sonagachi Escorts ✔ 9332606886✔ Full Night With Room Online Booki...Independent Sonagachi Escorts ✔ 9332606886✔ Full Night With Room Online Booki...
Independent Sonagachi Escorts ✔ 9332606886✔ Full Night With Room Online Booki...
 
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
 
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...
 
Top Rated Pune Call Girls Dhayari ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...
Top Rated  Pune Call Girls Dhayari ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...Top Rated  Pune Call Girls Dhayari ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...
Top Rated Pune Call Girls Dhayari ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...
 
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
 
VIP Model Call Girls Koregaon Park ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Koregaon Park ( Pune ) Call ON 8005736733 Starting From ...VIP Model Call Girls Koregaon Park ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Koregaon Park ( Pune ) Call ON 8005736733 Starting From ...
 
📞 Contact Number 8617697112 VIP Ganderbal Call Girls
📞 Contact Number 8617697112 VIP Ganderbal Call Girls📞 Contact Number 8617697112 VIP Ganderbal Call Girls
📞 Contact Number 8617697112 VIP Ganderbal Call Girls
 
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...
 
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
 
Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448
 
College Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls Service
College Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls ServiceCollege Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls Service
College Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls Service
 
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
 
Hotel And Home Service Available Kolkata Call Girls South End Park ✔ 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park ✔ 62971435...Hotel And Home Service Available Kolkata Call Girls South End Park ✔ 62971435...
Hotel And Home Service Available Kolkata Call Girls South End Park ✔ 62971435...
 
Call Girls in Barasat | 7001035870 At Low Cost Cash Payment Booking
Call Girls in Barasat | 7001035870 At Low Cost Cash Payment BookingCall Girls in Barasat | 7001035870 At Low Cost Cash Payment Booking
Call Girls in Barasat | 7001035870 At Low Cost Cash Payment Booking
 
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
 

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