3 States and a Plan: The AI of F.E.A.R.

# 3 States and a Plan: The AI of F.E.A.R.

## 3 States and a Plan: The AI of F.E.A.R.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. 3 States and a Plan:The AI of F.E.A.R. Jeff Orkin Monolith Productions/ MIT Media Lab

2. Survey Says!

3. Survey Says!

4. FSM: 3 States

5. FSM: 3 States

6. FSM: 3 States

7. FSM: 2 States!

8. FSM: Transition Logic void StateAttack::Update() { //... if( Ammo == 0 ) { pState = Reload(bCrouch); return; } //... }

9. Shogo, 1998

10. No One Lives Forever, 2000

11. F.E.A.R., 2005

12. FSM vs Planning FSM Planning - How - What

13. FSM vs Planning FSM Planning - How - What - Procedural - Declarative

14. Motivation

15. Here’s the Plan: • STRIPS Planning Overview • Planning in F.E.A.R. • Differences from STRIPS • Squad Behaviors & Communication • Beyond F.E.A.R.

16. What is Planning? • Planning is a formalized process of searching for sequence of actions to satisfy a goal. • Process is called “Plan Formulation.”

17. STRIPS Planning …in a nutshell

18. STRIPS Planning STRIPS = STanford Research Institute Problem Solver

19. STRIPS Planning • STRIPS Goal: Desired state of the world to reach. • STRIPS Actions: • Preconditions • Effects

20. States

21. States: FSM Attack Search

22. States: Planning Represented as a logical sentence: AtLocation(Home) ^ Wearing(Tie) Represented as a vector: (AtLocation, Wearing) = (Home, Tie)

23. States: Planning Example: Lemonade Stand (weather, #lemons, \$\$ )= ( , , ) or ( , , )

24. STRIPS Planning Example

25. STRIPS Planning Example

26. STRIPS Planning Example

27. STRIPS Planning Example

28. STRIPS Planning Example

29. STRIPS Planning Example State: (phone#, recipe, hungry?) Goal: ( -- , -- , NO ) ( , -- ,YES) ( , -- ,NO ) ( -- , ,YES) ( -- , ,NO )

30. STRIPS Planning Example State: (phone#, recipe, hungry?) Goal: ( -- , -- , NO ) ( , ,NO ) ( , ,YES) ( , ,NO )

31. STRIPS Planning Example

32. STRIPS Planning Example State: (phone#, recipe, hungry?) Action Preconditions: ( , -- , -- ) Effects: Delete List: Hungry( YES ) Add List: Hungry( NO )

33. STRIPS Planning Example State: (phone#, recipe, hungry?) Action Preconditions: ( , -- , -- ) Effects: Hungry( NO ) Hungry( YES ) ^ Hungry( NO )

34. STRIPS Planning Example Action: Buy( object ) Preconditions: ( -- ) Effects: Delete List: -- Add List: Own( object ) Own( ) ^ Own( ) ^ Own( )

35. STRIPS Planning Example

36. STRIPS Planning Example

37. STRIPS Planning Example

38. STRIPS Planning Example

39. STRIPS Planning Example

40. FPS Statistics Average lifespan of FPS enemy AI:

41. FPS Statistics Average lifespan of FPS enemy AI: 12.23 seconds

42. FPS Statistics Average lifespan of FPS enemy AI: 12.23 seconds Number of enemy AI who die in FPS’s per day:

43. FPS Statistics Average lifespan of FPS enemy AI: 12.23 seconds Number of enemy AI who die in FPS’s per day: 19,789,203

44. FPS Statistics Sally Struthers says “Save the AI!”

45. Here’s the Plan: • STRIPS Planning Overview • Planning in F.E.A.R. • Differences from STRIPS • Squad Behaviors & Communication • Beyond F.E.A.R.

46. Design Philosophy Designer’s job is: Create environments that allow AI to showcase their behaviors. Designer’s job is NOT: Script behavior of individual AI.