Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2

1,139 views

Published on

This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.

For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,139
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
43
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2

  1. 1. Stavros Vassos, University of Athens, Greece stavrosv@di.uoa.gr May 2012INTRODUCTION TO AISTRIPS PLANNING.. and Applications to Video-games!
  2. 2. Course overview2  Lecture 1: Game-inspired competitions for AI research, AI decision making for non-player characters in games  Lecture 2: STRIPS planning, state-space search  Lecture 3: Planning Domain Definition Language (PDDL), using an award winning planner to solve Sokoban  Lecture 4: Planning graphs, domain independent heuristics for STRIPS planning  Lecture 5: Employing STRIPS planning in games: SimpleFPS, iThinkUnity3D, SmartWorkersRTS  Lecture 6: Planning beyond STRIPS
  3. 3. Artificial Intelligence and Video Games3  Video Games:  Finite State Machines  Decision Diagrams  Behavior Trees  Goal Oriented Action Planning  Academic AI on agents:  Knowledge representation, First-order logic, Classical planning, Planning with preferences, …  Belief-Desire-Intention architecture, Agent-based programming, …  Probabilistic reasoning, Bayesian networks, Utility theory, Markov Decision Processes, …
  4. 4. Artificial Intelligence and Video Games4  Game engine:  C++  Creates game-world objects with (x,y,z) coordinates and calculates what happens to them on every frame  E.g., a crate is up in the air on frame1. On frame 2 the game engine will calculate the new position, etc
  5. 5. Artificial Intelligence and Video Games5  Game engine:  C++  Creates game-world objects with (x,y,z) coordinates and calculates what happens to them on every frame  E.g., a crate is up in the air on frame1. On frame 2 the game engine will calculate the new position, etc  Same for non-player characters (NPCs)!
  6. 6. Finite State Machines (FSMs)6  Video Games:  Finite State Machines  Decision Diagrams  Behavior Trees  Goal Oriented Action Planning  Academic AI on agents:  Knowledge representation, First-order logic, Classical planning, Planning with preferences, …  Belief-Desire-Intention architecture, Agent-based programming, …  Probabilistic reasoning, Bayesian networks, Utility theory, Markov Decision Processes, …
  7. 7. Finite State Machines (FSMs)7  Recognize a formal language
  8. 8. Finite State Machines (FSMs)8  NPC behavior based on high-level states Energy OK See small enemy On Guard Fight Losing fight Run away
  9. 9. Finite State Machines (FSMs)9  Traditionally one of the first techniques for NPC behavior  Very simple to understand  Very simple to implement  E.g., directly using if-then-else statements
  10. 10. Finite State Machines (FSMs)10 int NPC::think(){ if (state==ONGUARD && seeSmallEnemy()){ state=FIGHT; makeScarySound(); } else if (state==FIGHT && energy>30){ ... } else if ... }
  11. 11. Finite State Machines (FSMs)11  Let’s see some code from a commercial game  HL2-SDK, npc_BaseZombie.cpp  lines 1828-1870 switch ( m_NPCState ) { case NPC_STATE_COMBAT: … case NPC_STATE_ALERT: … }
  12. 12. Finite State Machines (FSMs)12  Traditionally one of the first techniques for NPC behavior  Very simple to understand  Very simple to implement  E.g., directly using if-then-else statements  Separation between the work of the programmer and the game designers  But also simplistic in the behaviors that can be expressed…
  13. 13. Behavior Trees (BTs)13  Video Games:  Finite State Machines  Decision Diagrams  Behavior Trees  Goal Oriented Action Planning  Academic AI on agents:  Knowledge representation, First-order logic, Classical planning, Planning with preferences, …  Belief-Desire-Intention architecture, Agent-based programming, …  Probabilistic reasoning, Bayesian networks, Utility theory, Markov Decision Processes, …
  14. 14. Behavior Trees (BTs)14  NPC behavior based on more refined conditions and strategies  Tasks have a common basic structure: they are given CPU time to do something and return success or failure  Leaf tasks: check a condition or execute some code  Composite tasks: return value depend on child tasks
  15. 15. Behavior Trees (BTs)15  NPC behavior based on more refined conditions and strategies  Tasks have a common basic structure: they are given CPU time to do something and return success or failure  Leaf tasks: check a condition or execute some code  Composite tasks: return value depend on child tasks E.g., succeed if the door in front of the NPC is open E.g., kick the door in front of the NPC
  16. 16. Behavior Trees (BTs)16  NPC behavior based on more refined conditions and strategies  Tasks have a common basic structure: they are given CPU time to do something and return success or failure  Leaf tasks: check a condition or execute some code  Composite tasks: return value depend on child tasks ? E.g., succeed if any of the child tasks succeed
  17. 17. Behavior Trees (BTs)17  NPC behavior based on more refined conditions and strategies  Tasks have a common basic structure: they are given CPU time to do something and return success or failure  Leaf tasks: check a condition or execute some code  Composite tasks: return value depend on child tasks E.g., succeed if all  of the child tasks succeed
  18. 18. Behavior Trees (BTs)18  NPC behavior based on more refined conditions and strategies  Sequence task and Selector task → ? ? 
  19. 19. Behavior Trees (BTs)19  NPC behavior based on more refined conditions and strategies → Door Move open? into room
  20. 20. Behavior Trees (BTs)20  NPC behavior based on more refined conditions and strategies ? → → Door Move Move Move open? into room to door ? into room
  21. 21. Behavior Trees (BTs)21  NPC behavior based on more refined conditions and strategies ? → → Door Move Move Move open? into room to door ? into room → → Door Unlock Kick Door locked? door door open?
  22. 22. Behavior Trees (BTs)22 NPC behavior based on more refined conditions Notethat no search is involved in this paradigm: the behavior andtree is traversed as a kind of pre-defined program strategies ? → → Door Move Move Move open? into room to door ? into room → → Door Unlock Kick Door locked? door door open?
  23. 23. Behavior Trees (BTs)23 NPC behaviorisbased ondepends on the implementation,  Theway the tree traversed more refined conditions and strategies over, keep track of the current node, etc e.g., always start ? → → Door Move Move Move open? into room to door ? into room → → Door Unlock Kick Door locked? door door open?
  24. 24. Behavior Trees (BTs)24  NPC behavior based on more refined conditions and strategies  Non-deterministic sequence task and selector task ~→ ~? ~? ~
  25. 25. Behavior Trees (BTs)25  NPC behavior based on more refined conditions and strategies ? → → Door Move Move Move open? into room to door ~? into room → → Door Unlock Kick Door locked? door door open?
  26. 26. Behavior Trees (BTs)26  NPC behavior based on more refined conditions and strategies  Parallel sequence task (similar to sequence)  E.g., perform move actions while also shooting at target Also used to simulate “state-like” behavior by ensuring that a condition holds
  27. 27. Behavior Trees (BTs)27  NPC behavior based on more refined conditions and strategies  Decorator tasks (wrap objects with same interface) Until Invert fail
  28. 28. Behavior Trees (BTs)28  NPC behavior based on more refined conditions and strategies ?   Until Attack Until Look fail enemy fail around Enemy Invert in sight Enemy in sight
  29. 29. Behavior Trees (BTs)29  One of the first commercial video games that used BTs is Halo2 (2004)  Simple to understand  Simple to implement …  Separation between the work of the programmer and the game designers  Offers the specification of fine-grained behaviors
  30. 30. Reactive Behavior30  Both FSMs and BTs are reactive techniques  The NPC follows a pre-programmed strategy that specifies how the NPC should react in the game depending on the current state/node and conditions that currently hold in the game-world A sequence of actions that may be executed in the game, e.g., [move to door, kick door, move into room], need to be represented explicitly in the structure of the FSMs or BTs
  31. 31. Reactive Behavior31  Historically, the vast amount of video games with NPCs use FSMs and BTs for NPC decision making  Simpleto understand/implement  Separation between programmers and game designers  Any extensions needed can be handled effectively using programming tricks  The behavior is strengthened by extra information in the game world that is carefully prepared for NPCs
  32. 32. Reactive Behavior32  A game level from the eyes of an NPC
  33. 33. Reactive Behavior33  A game level from the eyes of an NPC
  34. 34. Reactive Behavior34  The situation today  Open worlds with increasing available interactions  NPCs need to be autonomous, with their own agenda, goals, personality
  35. 35. Reactive Behavior35  The situation today
  36. 36. Reactive Behavior36  The situation today  Under these circumstances, maintaining the possible and applicable interactions using reactive techniques becomes complex and difficult  The need for more flexible techniques arises
  37. 37. Reactive Behavior37  The situation today youtube link
  38. 38. Goal Oriented Action Planning (GOAP)38  Video Games:  Finite State Machines  Decision Diagrams  Behavior Trees  Goal Oriented Action Planning  Academic AI on agents:  Knowledge representation, First-order logic, Classical planning, Planning with preferences, …  Belief-Desire-Intention architecture, Agent-based programming, …  Probabilistic reasoning, Bayesian networks, Utility theory, Markov Decision Processes, …
  39. 39. Goal Oriented Action Planning (GOAP)39  Replace the pre-defined strategies with a description of goals and available actions ? → → Door Move Move Move open? into room to door ? into room → → Door Unlock Kick Door locked? door door open?
  40. 40. Goal Oriented Action Planning (GOAP)40  Replace the pre-defined strategies with a description of goals and available actions Move Move Move into room to door into room Unlock Kick door door
  41. 41. Goal Oriented Action Planning (GOAP)41  Replace the pre-defined strategies with a description of goals and available actions Move Preconditions: Door open into room Effects: In room Move Preconditions: - to door Effects: At door Unlock Preconditions: Hold key door Effects: Door open Kick Preconditions: - door Effects: Door open
  42. 42. Goal Oriented Action Planning (GOAP)42  Replace the pre-defined strategies with a description of goals and available actions Move Preconditions: Door open In room into room Effects: In room Move Preconditions: - to door Effects: At door Unlock Preconditions: Hold key door Effects: Door open Kick Preconditions: - door Effects: Door open
  43. 43. Goal Oriented Action Planning (GOAP)43  Search in real-time for a strategy that achieves the goal in the current state Move Preconditions: Door open In room into room Effects: In room Move Preconditions: - to door Effects: At door Unlock Preconditions: Hold key door Effects: Door open Kick Preconditions: - door Effects: Door open
  44. 44. Goal Oriented Action Planning (GOAP)44  Advantages  Easy to manage a large number of generated behaviors  Able to achieve different behaviors that satisfy the given requirements under different conditions without explicitly listing the resulting strategies  But it needs to solve planning problems in a few frames!
  45. 45. Behavior Trees (BTs)45  One of the first commercial video games that used BTs is Halo2 (2004)  Simple to understand  Simple to implement …  Separation between the work of the programmer and the game designers  Offers the specification of fine-grained behaviors
  46. 46. Goal Oriented Action Planning (GOAP)46  One of the first commercial video games that used GOAP is FEAR (2005)  Not so simple to understand  Not so simple to implement …  Not so clear separation between the work of the programmer and the game designers  The specification of fine-grained behaviors is actually tricky
  47. 47. Goal Oriented Action Planning (GOAP)47  Some details about GOAP in FEAR:  One AI programmer responsible for NPC behavior  Idea: Different behaviors can be achieved among characters by using GOAP and providing each character with same goals but a different set of available actions
  48. 48. Goal Oriented Action Planning (GOAP)48
  49. 49. Goal Oriented Action Planning (GOAP)49  Simplifying STRIPS planning:  Literalsare stored as variables (essentially having one argument)  The state is stored as an array of a fixed size  Search goes up to depth …3  A* for path finding…  A* also for planning!
  50. 50. Reactive Planning Vs. Classical Planning50  HALO2 (2004)  FEAR (2005)  Since then BTs have  Since then GOAP has become a standard not picked up much for NPC behavior speed
  51. 51. Reactive Planning Vs. Classical Planning51 Behavior Trees Goal Oriented Action Planning
  52. 52. Reactive Planning Vs. Classical Planning52 Behavior Trees Goal Oriented Action Planning  A combination of these techniques?  BTs for reactive decision making  GOAP for tactical decision making
  53. 53. Artificial Intelligence and Video Games53  Amazing tools available for (indie) game developers!
  54. 54. Artificial Intelligence and Video Games54  Source available!
  55. 55. Bibliography55  Material  Artificial Intelligence for Games, Second Edition. Ian Millington, John Funge. Morgan Kaufmann Publishers Inc., 2009.  Sections 5.3, 5.4

×