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

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

Transcript of Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

Page 1: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

Transparent Decision-Making and

AI DesignDamian Isla

AI Lead, Bungie Studios

Page 2: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

Agenda

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

• Conclusions

Page 3: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

Halo

Page 4: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.
Page 5: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

Complex Worlds

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

Page 6: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

Complex Worlds

Halo is …1.a simulation

2.a game

Page 7: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

Case 1: Behavior

Page 13: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

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

Page 14: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

Behavior FSM

Page 16: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

Behavior FSM

???

Page 17: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.
Page 21: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

Case 2: Encounters

Page 23: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

Player Approach

Generator 1 Generator 2

Page 24: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

“Task”

?!

Page 25: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

is condition satisfied?

task namepriorit

yconditio

nother stuff

Page 29: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.
Page 30: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

Case 3: Combat Dialogue

Page 32: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.
Page 38: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.
Page 39: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.
Page 40: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

Conclusions

Page 42: Transparent Decision-Making and AI Design Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

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 Damian Isla AI Lead, Bungie Studios.

Thank You!

Questions?

Damián [email protected]

om

?!