44
Transparent Decision- Making and AI Design Damian Isla AI Lead, Bungie Studios

Transparent Decision-Making and AI Design

  • Upload
    zora

  • View
    28

  • Download
    1

Embed Size (px)

DESCRIPTION

Transparent Decision-Making and AI Design. Damian Isla AI Lead, Bungie Studios. Agenda. Halo Decision-making in Three Contexts Behavior Encounters Dialogue Conclusions. Halo. Complex Worlds. Physics Physics-based animation Projectiles Effects Damage propogation Destruction AI. - PowerPoint PPT Presentation

Citation preview

Page 1: Transparent Decision-Making and  AI Design

Transparent Decision-Making and

AI DesignDamian Isla

AI Lead, Bungie Studios

Page 2: Transparent Decision-Making and  AI Design

Agenda

• Halo• Decision-making in Three Contexts– Behavior– Encounters– Dialogue

• Conclusions

Page 3: Transparent Decision-Making and  AI Design

Halo

Page 4: Transparent Decision-Making and  AI Design
Page 5: Transparent Decision-Making and  AI Design

Complex Worlds

• Physics• Physics-based animation• Projectiles• Effects• Damage propogation• Destruction• AI

Page 6: Transparent Decision-Making and  AI Design

Complex Worlds

Halo is …1.a simulation

2.a game

Page 7: Transparent Decision-Making and  AI Design

Complex Worlds

What that actually means:• AI is full of rules to deal with

complexity• (Practically) all of those rules are

gameplay relevant• Therefore designers need access to

them

Page 8: Transparent Decision-Making and  AI Design

AI Goals

Game AI must be:

• Coherent– for the player

• Transparent – for the player– for the designer

• Workable– for the engineer

Page 9: Transparent Decision-Making and  AI Design

Player Transparency

• Player can explain AI behavior– “He dove out of the way because I threw the grenade.”

• Player can predict certain 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

Page 10: Transparent Decision-Making and  AI Design

Designer Transparency• 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 achieve 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.”

• Design knows how to diagnose and fix MISbehavior– “WOAH … why the hell did he do THAT?!”

Page 11: Transparent Decision-Making and  AI Design

AI and Complexity

• How do we go about making transparent AI?

• In this talk, I will present three different approaches to decision-making that occur in the Halo AI.

Page 12: Transparent Decision-Making and  AI Design

Case 1: Behavior

Page 13: Transparent Decision-Making and  AI Design

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

Page 14: Transparent Decision-Making and  AI Design

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)

Page 15: Transparent Decision-Making and  AI Design

Behavior FSM

Page 16: Transparent Decision-Making and  AI Design

Behavior FSM

???

Page 17: Transparent Decision-Making and  AI Design

Behavior Tree

melee

shoot

grenade

uncover

pursue

sleep

fight

search

hide

idle

root

cover

root

fight

shoot

Page 18: Transparent Decision-Making and  AI Design

Behavior Tree

Three Simplifications:1.No sibling connections2.Binary activation functions3.Prioritized list decision-

making

Benefits:• No more n2 complexity• Scalability

Page 19: Transparent Decision-Making and  AI Design

Behavior Tree: Designer Tools

1. Behavior Parameters

2. Styles3. Inhibition Groups– “Turn off all

grenades”– “Turn off all

vehicles”– “Turn off all

retreats”

bool hide_relevance() {

if (damage > MAX_DAMAGE) {

return true;}else {

return false;}

}

Page 20: Transparent Decision-Making and  AI Design
Page 21: Transparent Decision-Making and  AI Design

Behavior Trees

• Scalable, modular• Engineer still controls the structure• Figuring out why something

happened is easy• Figuring out why something didn’t

happen is still fiendishly hard

Page 22: Transparent Decision-Making and  AI Design

Case 2: Encounters

Page 23: Transparent Decision-Making and  AI Design

Player Approach

Generator 1 Generator 2

Page 24: Transparent Decision-Making and  AI Design

“Task”

?!

Page 25: Transparent Decision-Making and  AI Design

Objective Trees

search

[1] generator_1 (if g1)

[1] generator_2 (if g2)

Root

[2] retreat

priority

task namecondition

script

[1] front (if > 2)[2] back

[1] front (if > 2)[2] back

Page 26: Transparent Decision-Making and  AI Design

Objective Trees

search

[1] generator_1 (if g1)

[1] generator_2 (if g2)

Root

[2] retreat

[1] front (if > 2)[2] back

[1] front (if > 2)[2] back6

3

3

3

3

Page 27: Transparent Decision-Making and  AI Design

Objective Trees

search

[1] generator_1 (if g1)

[1] generator_2 (if g2)

Root

[2] retreat

[1] front (if > 2)[2] back

[1] front (if > 2)[2] back6

2

3

2

3

[1] front (if > 2)

2[1] generator_1 (if g1)

5

5

Page 28: Transparent Decision-Making and  AI Design

is condition satisfied?

task namepriorit

yconditio

nother stuff

Page 29: Transparent Decision-Making and  AI Design
Page 30: Transparent Decision-Making and  AI Design

Objective Results

• Takes training• Great prototyping tool• Much cleaner implementation– no messy script– sharing encounters between designers

• Very extendable

Page 31: Transparent Decision-Making and  AI Design

Case 3: Combat Dialogue

Page 32: Transparent Decision-Making and  AI Design

Oh no, they killed

my friend!

Well done, friend!

Well done, Master Chief!

Ha! They killed

their own guy!

You idiot! You killed our own

guy!

Oh no, I killed my own guy!

I’m sorry!!!

Damn you,

Master Chief!

Aaargh!!!

Page 33: Transparent Decision-Making and  AI Design

Combat Dialogue

<A> kills <B> “Event”“Oh no, they killed our friend!”

“Vocalization”

Match ~100 events ~320 vocalizations(and find a speaker)

Page 34: Transparent Decision-Making and  AI Design

Combat Dialogue

Implementation: a rule-matching systemEvent: “Player kills a grunt”

killed(a,b)prs_plr_

killenemies(a, b),

player(a)friend(a)

event vocalization

relevance conditions

speaker condition

s

0.8

Page 35: Transparent Decision-Making and  AI Design

Combat Dialogue

killed(a,b)prs_plr_

killenemies(a, b),

player(a)friend(a) 0.8

Probabilistically choose among top contenders

killed(a,b)prs_ally

_killenemies(a, b) friend(a) 0.5

killed(a,b)crs_plr_

killenemies(a, b),

player(a)enemy(a

)0.5

killed(a,b)crs_plr_

btryfriends(a, b),

player(a)friend(a) 0.0

Implementation: a rule-matching systemEvent: “Player kills a grunt”

Page 36: Transparent Decision-Making and  AI Design

Combat Dialogue

killed(a,b)prs_plr_

killenemies(a, b),

player(a)friend(a) 0.8

Probabilistically choose among top contenders

killed(a,b)prs_ally

_killenemies(a, b) friend(a) 0.5

killed(a,b)crs_plr_

killenemies(a, b),

player(a)enemy(a

)0.5

killed(a,b)crs_plr_

btryfriends(a, b),

player(a)friend(a) 0.0

Implementation: a rule-matching systemEvent: “Player kills a grunt”

Page 37: Transparent Decision-Making and  AI Design
Page 38: Transparent Decision-Making and  AI Design
Page 39: Transparent Decision-Making and  AI Design
Page 40: Transparent Decision-Making and  AI Design

Combat Dialogue

• Use the appropriate tools– Excel has its place

• Expected results were extremely “soft”– target was an “experience”– target was negotiated between design

and audio

• Data-mining was absolutely critical

Page 41: Transparent Decision-Making and  AI Design

Conclusions

Page 42: Transparent Decision-Making and  AI Design

Technique Summary

• Behavior Tree• Objective Tree• Rule-system

Two parts to transparency:1.Transparent algorithm2.A tools infrastructure for editing and

debugging

Page 43: Transparent Decision-Making and  AI Design

Conclusions

• Lots of decision-making going on in a typical AI

• Not looking for “smart” architecture, looking for “expressive” architecture

• Transparency is an essential component of expressivity

• Transarency almost always achieved through simplicity

Page 44: Transparent Decision-Making and  AI Design

Thank You!

Questions?

Damián [email protected]

om

?!