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

545 views
428 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
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
545
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Intro to AI STRIPS Planning & Applications in Video-games Lecture6-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. Project ideas2  Smart pre-processing  PDDL–Golog synergy  FSM–BTs synergy  Replanning in Unity3D  STRIPS extensions in Unity3D  STRIPS in Valve’s GE
  3. 3. Project ideas: Smart pre-processing3
  4. 4. Project ideas: Smart pre-processing4  Academic planners rely on serious pre-processing  FastDownward compiles the problem into a SAS format (*)
  5. 5. Project ideas: Smart pre-processing5  Academic planners rely on serious pre-processing  FastDownward compiles the problem into a SAS format (*)
  6. 6. Project ideas: Smart pre-processing6  Academic planners rely on serious pre-processing  FastDownward compiles the problem into a SAS format (*)  Maintain such a structure for many NPCs and update the information instead of re-compute every time
  7. 7. Project ideas: PDDL–Golog synergy7
  8. 8. Project ideas: PDDL–Golog synergy8  Simple Golog implementation in Prolog  http://www.cs.toronto.edu/cogrobo/main/systems/inde x.html  Simple PDDL parsing and planning in Prolog  Provided in the files of Lecture 3  Adapt the Golog implementation to take as input a PDDL domain/problem instance and solve wrt a Golog program instead of the goal
  9. 9. Project ideas: PDDL–Golog synergy9  Develop a visual language (and GUI) for specifying Golog programs based on BTs! ?   Until Until Look Find a way fail fail around to attack (using planning) Enemy Invert in sight Enemy in sight
  10. 10. Project ideas: FSM–BTs synergy10
  11. 11. Project ideas: FSM–BTs synergy11 Behavior Trees Goal Oriented Action Planning  A combination of these techniques?  BTs for reactive decision making  GOAP for tactical decision making
  12. 12. Project ideas: FSM–BTs synergy12  “Behave” tool for Unity3D by Angry Ant  http://eej.dk/angryant/behave/  Visual interface for building BTs  Generates code to be used in Unity3D  “iThink” tool for Unity3D by [Anastassiou, Diamantopoulos, Vassos, Koubarakis 2012]  https://code.google.com/p/ithink-unity3d/
  13. 13. Project ideas: FSM–BTs synergy13  “Behave” tool for Unity3D by Angry Ant
  14. 14. Project ideas: FSM–BTs synergy14  “Behave” tool for Unity3D by Angry Ant
  15. 15. Project ideas: Replanning in Unity3D15
  16. 16. Project ideas: Replanning in Unity3D16  Use iThink-Unity3d as the basis  Extend it with a sensory system that updates the current state according to changes in the game-world
  17. 17. Project ideas: Replanning in Unity3D17  Use iThink-Unity3d as the basis  Extend it with a sensory system that updates the current state according to changes in the game-world  Implement some simple policies for execution monitoring and replanning  Check the next n actions in the plan and verify that they can be executed  Extend the planning system to include conditions at each step that need to be true for continuing the execution
  18. 18. Project ideas: STRIPS ext. in Unity3D18
  19. 19. Project ideas: STRIPS ext. in Unity3D19  Adopt an open world assumption  Adopt functionality similar to PKS  Introduce features that are important for a particular game genre, e.g., durative actions  …
  20. 20. Project ideas: STRIPS in Valve’s GE20
  21. 21. Project ideas: STRIPS in Valve’s GE21  Similar to iThink-Unity3d but now in a real game!  C++  Adventurous as there is only some basic documentation (but also an active forum)  It’s the best only way to convince people in the game industry that your technique works
  22. 22. Project ideas: STRIPS in Valve’s GE22  Valve’s game engine already uses the terminology used in academic planning  Condition literal  Task  action  Schedule  plan  The thinking function of NPCs uses a nice execution monitoring mechanism that decides which plan to follow and when to stop executing a plan  But instead for searching for plans, a small set of pre-defined schedules are used
  23. 23. Project ideas: STRIPS in Valve’s GE23  https://developer.valvesoftware.com/wiki/AI_Progra mming  https://developer.valvesoftware.com/wiki/Conditions  https://developer.valvesoftware.com/wiki/Task  https://developer.valvesoftware.com/wiki/Schedule  https://developer.valvesoftware.com/wiki/State  https://developer.valvesoftware.com/wiki/NPCThink()  https://developer.valvesoftware.com/wiki/Shared_tasks  https://developer.valvesoftware.com/wiki/Shared_conditi ons
  24. 24. Project ideas: AI competition24

×