SlideShare a Scribd company logo
1 of 18
Download to read offline
F.E.A.R. AI
GOAP VS. STRIPS
CREATED BY LEAH PARENT
FSMS AND A*
F.E.A.R. uses both FSMs and A*.
There are only three states in the FSM
Goto
Animate
UseSmartObject
A* is used to plan both paths and sequences of actions
ONLY THREE STATES?
AI decision making is really just moving to places and
playing animations. The animation tells the audio system
what sounds to play, but this isn't really part of decision
making.
So the only difference between Goto and Animate is that
Goto is playing an animation while moving, and Animate
only plays the animation.
FSMS VS. PLANNING
FSM: tells the AI how to behave in every situation, and is
procedural
Planning: tells the AI what their goals and available
actions are, and lets the AI decide how to sequence them.
Is declarative.
A QUICK REVIEW OF STRIPS
STanford Research Institute Problem Solver
Goals: describe the desired state of the world.
Actions: represented in terms of preconditions and
effects.
States update and run code to animate and make
decisions
Delete old knowledge of a variable and add new
knowledge of a variable
F.E.A.R. PLANNING
The planner takes a goal set and uses the AI's actions to
fulfill the highest priority possible goal
Different characters can fulfill the same goal in different
ways
THREE BENEFITS OF PLANNING
Decoupling goals and actions (satisfying the same goal in
different ways)
Layering simple behaviors to make more complex
behaviors
Give characters dynamic problem solving abilities
DIFFERENCES BETWEEN F.E.A.R.
AND STRIPS
1. Cost per action
2. Eliminated add and delete lists for effects
3. Added procedural preconditions
4. Added procedural effects
COST PER ACTION
Adding cost per action forces the AI to prefer one plan over
another.
A* plans out a sequence of actions using the cost per action.
Example: getting food - make pie or order pizza?
ADD AND DELETE LISTS
F.E.A.R. represents preconditions and effects in a fixed-
length array
Actions just change the variable in the list instead of
removing the old knowledge and adding the new
knowledge. Makes finding an action with a desired effect
trivial.
Attention-selection sub-system deals with multiple weapons
outside the planner so the planner only has to worry about
one weapon at a time.
PROCEDURAL PRECONDITIONS
The fixed-size array representing the world state isn't
practical.
Add the ability to run additional precondition checks.
Example: figure out if there's a safe path only when needed.
PROCEDURAL EFFECTS
We don't want effects to be instantaneous; to fix this,
sequentially activate the actions and have them set the
current state
PSEUDOCODE FOR ACTION CLASS
class Action
{
    // Symbolic preconditions and effects,
    // represented as arrays of variables.
    WORLD_STATE m_Preconditions;
    WORLD_STATE m_Effects;
    // Procedural preconditions and effects.
    bool CheckProceduralPreconditions();
    void ActivateAction();
};
SQUAD BEHAVIOR
Global coordinator reclusters AI into squads based on
proximity.
Two categories of squad behavior: simple and complex.
Simple: suppression fire, sending AI to different positions,
following.
Complex: flanking, coordinated strikes, retreats, calling
for/integrating reinforcements.
SIMPLE SQUAD BEHAVIORS
Get-to-Cover: get all squad members not in valid cover to
valid cover while one AI lays suppression fire.
Advance-Cover: move members of the squad to valid
cover closer to the threat while one AI lays suppression
fire.
Orderly-Advance: moves squad to some position in single
file line. Each AI protects the one in front, last AI faces
backward to cover from behind.
Search: splits squad into pairs that cover each other while
searching rooms.
FOUR STEPS OF SQUAD BEHAVIORS
1. Find AI participants
2. Send orders to AI
3. Monitor individual progress
4. AI succeeds or fails to complete goal
COMPLEX SQUAD BEHAVIORS
There really aren't any.
The simple behaviors give the impression of being complex
on their own.
Looks like the AI are coming from all sides on purpose, but
might just be getting to closest cover to player.
TL;DR:
F.E.A.R. AI is pretty cool
Questions?

More Related Content

Similar to F.E.A.R

REINFORCEMENT LEARNING
REINFORCEMENT LEARNINGREINFORCEMENT LEARNING
REINFORCEMENT LEARNINGpradiprahul
 
An AsmL model for an Intelligent Vehicle Control System
An AsmL model for an Intelligent Vehicle Control SystemAn AsmL model for an Intelligent Vehicle Control System
An AsmL model for an Intelligent Vehicle Control Systeminfopapers
 
Perl + pathfinder == <3
Perl + pathfinder == <3Perl + pathfinder == <3
Perl + pathfinder == <3apeiron
 
PSO APPLIED TO DESIGN OPTIMAL PD CONTROL FOR A UNICYCLE MOBILE ROBOT
PSO APPLIED TO DESIGN OPTIMAL PD CONTROL FOR A UNICYCLE MOBILE ROBOTPSO APPLIED TO DESIGN OPTIMAL PD CONTROL FOR A UNICYCLE MOBILE ROBOT
PSO APPLIED TO DESIGN OPTIMAL PD CONTROL FOR A UNICYCLE MOBILE ROBOTJaresJournal
 
Markov decision process
Markov decision processMarkov decision process
Markov decision processchauhankapil
 
Reinforcement learning-ebook-part1
Reinforcement learning-ebook-part1Reinforcement learning-ebook-part1
Reinforcement learning-ebook-part1Rajmeet Singh
 
Reinforcement Learning / E-Book / Part 1
Reinforcement Learning / E-Book / Part 1Reinforcement Learning / E-Book / Part 1
Reinforcement Learning / E-Book / Part 1Hitesh Mohapatra
 

Similar to F.E.A.R (8)

REINFORCEMENT LEARNING
REINFORCEMENT LEARNINGREINFORCEMENT LEARNING
REINFORCEMENT LEARNING
 
An AsmL model for an Intelligent Vehicle Control System
An AsmL model for an Intelligent Vehicle Control SystemAn AsmL model for an Intelligent Vehicle Control System
An AsmL model for an Intelligent Vehicle Control System
 
Perl + pathfinder == <3
Perl + pathfinder == <3Perl + pathfinder == <3
Perl + pathfinder == <3
 
Operators in java
Operators in javaOperators in java
Operators in java
 
PSO APPLIED TO DESIGN OPTIMAL PD CONTROL FOR A UNICYCLE MOBILE ROBOT
PSO APPLIED TO DESIGN OPTIMAL PD CONTROL FOR A UNICYCLE MOBILE ROBOTPSO APPLIED TO DESIGN OPTIMAL PD CONTROL FOR A UNICYCLE MOBILE ROBOT
PSO APPLIED TO DESIGN OPTIMAL PD CONTROL FOR A UNICYCLE MOBILE ROBOT
 
Markov decision process
Markov decision processMarkov decision process
Markov decision process
 
Reinforcement learning-ebook-part1
Reinforcement learning-ebook-part1Reinforcement learning-ebook-part1
Reinforcement learning-ebook-part1
 
Reinforcement Learning / E-Book / Part 1
Reinforcement Learning / E-Book / Part 1Reinforcement Learning / E-Book / Part 1
Reinforcement Learning / E-Book / Part 1
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

F.E.A.R

  • 1. F.E.A.R. AI GOAP VS. STRIPS CREATED BY LEAH PARENT
  • 2. FSMS AND A* F.E.A.R. uses both FSMs and A*. There are only three states in the FSM Goto Animate UseSmartObject A* is used to plan both paths and sequences of actions
  • 3. ONLY THREE STATES? AI decision making is really just moving to places and playing animations. The animation tells the audio system what sounds to play, but this isn't really part of decision making. So the only difference between Goto and Animate is that Goto is playing an animation while moving, and Animate only plays the animation.
  • 4. FSMS VS. PLANNING FSM: tells the AI how to behave in every situation, and is procedural Planning: tells the AI what their goals and available actions are, and lets the AI decide how to sequence them. Is declarative.
  • 5. A QUICK REVIEW OF STRIPS STanford Research Institute Problem Solver Goals: describe the desired state of the world. Actions: represented in terms of preconditions and effects. States update and run code to animate and make decisions Delete old knowledge of a variable and add new knowledge of a variable
  • 6. F.E.A.R. PLANNING The planner takes a goal set and uses the AI's actions to fulfill the highest priority possible goal Different characters can fulfill the same goal in different ways
  • 7. THREE BENEFITS OF PLANNING Decoupling goals and actions (satisfying the same goal in different ways) Layering simple behaviors to make more complex behaviors Give characters dynamic problem solving abilities
  • 8. DIFFERENCES BETWEEN F.E.A.R. AND STRIPS 1. Cost per action 2. Eliminated add and delete lists for effects 3. Added procedural preconditions 4. Added procedural effects
  • 9. COST PER ACTION Adding cost per action forces the AI to prefer one plan over another. A* plans out a sequence of actions using the cost per action. Example: getting food - make pie or order pizza?
  • 10. ADD AND DELETE LISTS F.E.A.R. represents preconditions and effects in a fixed- length array Actions just change the variable in the list instead of removing the old knowledge and adding the new knowledge. Makes finding an action with a desired effect trivial. Attention-selection sub-system deals with multiple weapons outside the planner so the planner only has to worry about one weapon at a time.
  • 11. PROCEDURAL PRECONDITIONS The fixed-size array representing the world state isn't practical. Add the ability to run additional precondition checks. Example: figure out if there's a safe path only when needed.
  • 12. PROCEDURAL EFFECTS We don't want effects to be instantaneous; to fix this, sequentially activate the actions and have them set the current state
  • 13. PSEUDOCODE FOR ACTION CLASS class Action {     // Symbolic preconditions and effects,     // represented as arrays of variables.     WORLD_STATE m_Preconditions;     WORLD_STATE m_Effects;     // Procedural preconditions and effects.     bool CheckProceduralPreconditions();     void ActivateAction(); };
  • 14. SQUAD BEHAVIOR Global coordinator reclusters AI into squads based on proximity. Two categories of squad behavior: simple and complex. Simple: suppression fire, sending AI to different positions, following. Complex: flanking, coordinated strikes, retreats, calling for/integrating reinforcements.
  • 15. SIMPLE SQUAD BEHAVIORS Get-to-Cover: get all squad members not in valid cover to valid cover while one AI lays suppression fire. Advance-Cover: move members of the squad to valid cover closer to the threat while one AI lays suppression fire. Orderly-Advance: moves squad to some position in single file line. Each AI protects the one in front, last AI faces backward to cover from behind. Search: splits squad into pairs that cover each other while searching rooms.
  • 16. FOUR STEPS OF SQUAD BEHAVIORS 1. Find AI participants 2. Send orders to AI 3. Monitor individual progress 4. AI succeeds or fails to complete goal
  • 17. COMPLEX SQUAD BEHAVIORS There really aren't any. The simple behaviors give the impression of being complex on their own. Looks like the AI are coming from all sides on purpose, but might just be getting to closest cover to player.
  • 18. TL;DR: F.E.A.R. AI is pretty cool Questions?