1 / 45

The Two Faces of Video Game AI

The Two Faces of Video Game AI. Damian Isla AI Lead, Bungie Studios. Halo 3. First person shooter Epic Story Epic Combat Vehicles Physics Cooperative and Competitive Multiplayer Saved Films User-edited Levels Player-equivalent AI in terms of abilities, not in terms of tactics!.

fedora
Télécharger la présentation

The Two Faces of Video Game AI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Two Faces of Video Game AI Damian Isla AI Lead, Bungie Studios

  2. Halo 3 • First person shooter • Epic Story • Epic Combat • Vehicles • Physics • Cooperative and Competitive Multiplayer • Saved Films • User-edited Levels • Player-equivalent AI • in terms of abilities, not in terms of tactics!

  3. The Two Faces of AI • One outwards, towards the player • One inwards, toward the content creators • Two interfaces with completely different, at times contradictory functions This talk • General properties of these two interfaces • Two examples • Behavior selection • Combat dialogue • Conclusions

  4. Terminology Game AI must be: • Coherent • Transparent • for the player • for the designer • Workable

  5. Player Interface

  6. The Illusion of Intelligence AI seems smart, focused, lifelike • timing seems right • decisions seem reasonable • attends to the things that demand attending to • In Halo: the AI is a worthy opponent How do we sell the illusion of life and intelligence?

  7. The Fun: Transparent Decision-making • Player can explain AI behavior • “He dove out of the way because I threw the grenade.” • Player can predict AI behavior • “If I throw the grenade, I bet the AI will dive out of the way.” • Player forms an ongoing narrative in his/her head • “I threw the grenade, so he dove out of the way, and then cursed at me, and threw a grenade back, but I shot it in the air and hurt him, so he went nuts and charged me …” • The AI needs to facilitate / encourage that narrative

  8. Designer Interface

  9. Transparent Decision-making • Designer can explain AI behavior • “He dove out of the way because his danger_dive behavior is active.” • Designer can predict certain AI behavior • “When I throw this grenade, there’s a 75% chance he’ll dive out of the way” • Designer knows how to get different behavior • “Hmm … he reacted to that grenade too quickly … I think I’ll increase his projectile-acknowledgement delay from 0.5 to 0.7 seconds.” • Designer knows how to diagnose and fix MISbehavior • “WOAH … why the hell did he do THAT?!”

  10. Scale The Enemy of all Transparency “I want X to do Y when Z” x 1,000

  11. Scale The Enemy of all Transparency The greater the variety of unique situations we need to handle well, the more complex the internal structure needed to disambiguate them, and the less expressible that internal structure is. (We might also call that “competence”.)

  12. Transparency vs. Competence

  13. Case Study 1: Behavior Selection

  14. Hide? • Panic? • Get in that vehicle? • Throw a grenade? • Hold my ground?

  15. Behavior A program that takes temporary control of an actor to achieve a specific goal. • Fight • Hide • Enter vehicle • Throw grenade • etc. How do I decide what to do when? ~120 of these in total (i.e. ~ 7140 possible transitions)

  16. Behavior FSM

  17. Behavior FSM ???

  18. Behavior Tree hide cover grenade fight fight melee shoot shoot root root uncover search pursue idle sleep

  19. Behavior Tree Three Simplifications: • No sibling connections • Prioritized-list decision-scheme • Binary relevance functions Benefits: • No more n2 complexity • Scalability

  20. Behavior Tree: Designer Tools bool hide_relevance() { if (damage > MAX_DAMAGE) { return true; } else { return false; } } • Behavior Parameters • Masks

  21. Players and Trees Players understands TRIGGERS, not TRANSITIONS • i.e. when the brute’s armor depletes, he charges, no matter WHAT he was doing at the time Players understand priorities Players understand discrete events Players understand task-decomposition  The Tree is representative of the mapping we HOPE exists in the player’s head

  22. Lessons from Halo 2 and Halo 3 • Figuring out why something happened is easy • Figuring out why something DIDN’T happen is still fiendishly hard

  23. Case Study 2: Combat Dialogue

  24. You idiot! You killed our own guy! Aaargh!!! Ha! They killed their own guy! Oh no, I killed my own guy! I’m sorry!!! Oh no, they killed my friend! Well done, friend! Well done, Master Chief! Damn you, Master Chief!

  25. Combat Dialogue <A> kills <B>  “Event” “Oh no, they killed our friend!”  “Vocalization” Match ~100 events  ~320 vocalizations (and find a speaker)

  26. Combat Dialogue Implementation: a rule-matching system Event: “Player killed a grunt” killed(a,b) prs_plr_kill enemies(a, b), player(a) friend(a) 0.8 event vocalization relevance conditions speaker conditions

  27. Combat Dialogue Implementation: a rule-matching system Event: “Player killed a grunt” killed(a,b) prs_plr_kill enemies(a, b), player(a) friend(a) 0.8 killed(a,b) prs_ally_kill enemies(a, b) friend(a) 0.5 killed(a,b) crs_plr_kill enemies(a, b), player(a) enemy(a) 0.5 killed(a,b) crs_plr_btry friends(a, b), player(a) friend(a) 0.0 Probabilistically choose among top contenders

  28. Combat Dialogue Implementation: a rule-matching system Event: “Player killed a grunt” killed(a,b) prs_plr_kill enemies(a, b), player(a) friend(a) 0.8 killed(a,b) prs_ally_kill enemies(a, b) friend(a) 0.5 killed(a,b) crs_plr_kill enemies(a, b), player(a) enemy(a) 0.5 killed(a,b) crs_plr_btry friends(a, b), player(a) friend(a) 0.0 Probabilistically choose among top contenders

  29. Lessons from Halo 1, 2 and 3 • Player is an egomaniac • Brute: “He’s gone into cover!” • Player: “uh … no I haven’t.” • AIs need to speak consistently with each other • Marine1: “I see him!” • Marine 2: “I don’t see him!” • Combat dialogue serves fundamentally different functions for enemies and allies • Allies are about aural backdrop • Enemies are about information

  30. Combat Dialogue • Use the appropriate tools • Excel has its place • Expected results were extremely “soft” • target was a “narrative” • target was negotiated between design and audio • Data-mining was absolutely critical

  31. But ... where’s all the real AI?!

  32. Real AI What about • Planning • Inference • Genetic approaches • Learning • etc. … • F.E.A.R (Monolith) • STRIPS Planning • Black & White (Lionhead) • Decision-tree learning • Gesture recognition • Euphoria (NaturalMotion) • NN + GA

  33. Conclusions

  34. Technique Summary • Behavior Tree • Rule-matching Transparency in decision-making is important Two parts to transparency: • Transparent algorithm • A tools infrastructure for editing and debugging

  35. Conclusions • There are two important video game AI interfaces: one out towards the player, the other in, towards the content creators. • Making them agree is hard. • The Holy Grail: A WYSIWIG AI Editor???

  36. Thank You! Questions? Damián Isla damiani@bungie.com ?!

More Related