aarf! arf arf arf: talking to the player with barks patrick redding ubisoft montreal

Post on 17-Jan-2016

73 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Aarf! Arf arf arf: Talking to the player with barks Patrick Redding Ubisoft Montreal. INT. DAY. Room 269, Moscone Center. PATRICK (staring out into crowded room) Hello, and welcome! (after a beat) Who am I?. - PowerPoint PPT Presentation

TRANSCRIPT

Aarf! Arf arf arf: Talking to the player with barks

Patrick ReddingUbisoft Montreal

PATRICK

(staring out into crowded room)

Hello, and welcome!

(after a beat)

Who am I?

INT. DAY. Room 269, Moscone Center

On the stage is PATRICK REDDING, 39, a game designer at Ubisoft Montreal. The grey in his hair is proof that he worked on FAR CRY 2, designing narrative systems.

“barks”

(AI dialogue)

Not conversational mechanics

Not scripted events dialogue

Not cinematics dialogue

Not MP taunts

Bring the world to life

Function

Make the AI seem smart(er)

Function

Update the player on status

Function

Support the game’s themes

Function

Idle/Ambience

Context

Reaction

Context

Combat

Context

Social/Interaction

Context

Narrative

Context

Halo (series)

Fallout 3

GTA IV

Far Cry 2

F.E.A.R.

Fable 2

Assassin’s Creed

Systemic vs Scripted

Primary function of AI in support of gameplay?

Does the AI have a life when the player’s not around?

How dynamic is combat and other action?

How open is the level design?

Considerations

Systemic vs Scripted

Considerations

EventReceiver Speaker

Trigger/ Player

Script

Dialogue Manager

Db

Playback

Systemic vs Scripted

Considerations

EventReceiver Speaker

Source

Dialogue Manager

Db

Receiver InterlocutorSource

States

Recv’r States

Stimulus

Playback

Systemic:Sensory vs Dispatcher

Deep generalized behavior

Or

Broad case-based behaviorConsiderations

Systemic:Sensory vs Dispatcher

Considerations

Damage Noise

InterestFear…

Event

Receiver

Source (player, gunshot, grenade,

corpse, etc.)

States (e.g.):

Status (alert, idle)Task (sleeping, paperwork)Threat (under fire, safe)…Any (generic)

States (e.g.):

Day/night/weatherLocation (terrain, building)Metric (faction strength, kills)…Any (generic)

Systemic:Sensory vs Dispatcher

Considerations

Update threat mapLast man standingEnemy on mounted weaponCall reinforcementsLast known positionSearch patternMove to action stations…

Event

Receiver(s)

Source(dispatcher)

States (e.g.):

Status (alert, idle)Task (sleeping, desk)Threat (under fire, safe)…Any (generic) Game space

Systemic:Contextual/Affordant

Considerations

Task parameters (e.g.):

DurationInterruptReset intervalTopology (point/area/path)Exit conditions…Associated event (DrinkWater)

Attractor parameters (e.g.):

Associated need (Rest)Broadcast radiusWeighting coefficient…

Needs (e.g.):

Social +Rest ++Duty +Tactical -…

Systemic:Contextual/Affordant

Considerations

Needs:

Social ++Rest +Duty +Tactical -…

Task parameters:

Duration (00:20)Interrupt (True)Reset interval (02:00)Topology (point)Exit conditions (end dialogue)…Associated event (Convo)

Attractor parameters (e.g.):

Need (Social)Broadcast radiusWeighting coefficient…Condition (Occupied)

Systemic:Contextual/Affordant

Considerations

Smart-Object Event (e.g.)‘DrinkWater’

Chapter (e.g.)‘Convo_Act2Gossip’

Agent A(gurgling noises)

+ 10 seconds

Agent AAhh… I didn’t realize how thirsty I was…

+ 10 seconds

Agent AHey… Come on…! Who hogged all the cold water?! Bastards.

Agent AHey brother. Been awhile.

Agent BYeah, I think it was before Alexi, you know…

Agent AShhh. Keep it down.

Agent BOh, what? Like everybody doesn’t know why he ate a bullet? Please.

Scripted:Chapter or Location –specific

Considerations

Receiver

Chapter States (e.g.):

Mission sequence (8/12)Active mission (A1SM01)Last outcome (faction++)…

Location States (e.g.):

Location/zoneEnvironment/terrain typeNearest game objectiveNearest game ingredient…

Mission Script

Event

Dialogue Manager

Db

Playback

Scripted:Chapter or Location –specific

Considerations

event Chapter (e.g.)‘AssassinateVIP’

Location (e.g.)‘NaturalGasRefinery’

Sensory (e.g.):Bullet impacts

Agent A(yelling into radio)I’ve got contact on my station… security breach with small arms fire…

Agent A (yelling into radio) Watch your fire! Check your shots or we’re all going to burn…

Dispatcher (e.g.):Fall back to rally point

Agent A (yelling into radio) All stations! Form up on the client and hold!

Agent A (yelling into radio) Can’t risk a firefight… Regroup at the safe zone!

Generic Vocalizations

“ARRGHH!”“@*%$^#!”“Look out--!”

terrible to writeterrible to direct

terrible to perform…

Bark Strategies

Generic Vocalizations

… and they add a lot of redundant audio data to the game:

Bark Strategies

Generic Vocalizations

Bark Strategies

DialogueDb

GenericVocalizatio

nDb

ProfanityOnomatopoeiaExclamationsSinging…(anything repetitious)

Severe 1 $ONO_INJR_SVR1$

Fatal 1 $ONO_INJR_FTL1$

Physical Collapse $ONO_EXER_CLP1$

Prolonged Exertion $ONO_EXER_PRL1$

Fast Exertion $ONO_EXER_FST1$

CLP1 : PHYSICAL COLLAPSE1VO_ST_GVF_ONO_EXER_CLP1_01_001_GAA_DRYAGENT A21: $NullSound$2VO_ST_GVF_ONO_EXER_CLP1_02_001_GAA_DRYAGENT A22: $NullSound$3VO_ST_GVF_ONO_EXER_CLP1_03_001_GAA_DRYAGENT A23: $NullSound$

State: Threat Level

Bark Strategies

Source(player, enemy, etc.)

0

0

0

0

+

+

+

++

++

Receiver

States (e.g.):

Threat Level (+1)Squad Cohesion (-2)…Any (generic)

State: Threat Level

Bark Strategies

event Threat Level (e.g.)+1 (exposed to fire)

Threat Level (e.g.)+2 (under direct fire)

Dispatcher (e.g.):Reload, CheckCover

Agent AI’m dry… Cover me!

Agent AOh NO…! No no no no no…

State: Persistent metrics

Bark Strategies

Event

Receiver Source

(player, principal cast NPC)

States (e.g.):

Status (alert, idle)Task (sleeping, paperwork)Threat (under fire, safe)…Any (generic)

States (e.g.):

Reputation/InfluenceXPStats/Skills/Perks*Faction affinity (+/-)…

STR

AGL

INT

State: Persistent metrics

Bark Strategies

event Influence (e.g.)-1 (bad)

Influence (e.g.)+1 (good)

Social (e.g.):Greet

Agent AOh look, my favorite parasite. What do you want?

Agent AAh, my friend! How may I be of service today?

Solo vs Chained

Bark Strategies

Source(player, enemy, etc.)

Receiver (Team)

Receiver (Solo)

Solo vs Chained

Bark Strategies

event Chained (e.g.) Solo (e.g.)

Dispatcher (e.g.):Reload, CheckCover

Agent AI’m out…!

Agent BI got your corner… Make it quick…

Agent AStandby…

Agent U(in Russian)Damnation…! This cheap Tajik ammunition was a rip-off…

Using layers

Layering some or all of the above response types

Queuing within an aggressive censor system allows designer to tweak signal-to-noise

Bark Strategies

Content management pipeline

Spreadsheets are an ugly compromise

Need dedicated tool for entire pipeline

‘Content manager’ might be a full-time job

Tools

Playback rules

Meta-data attached to individual lines of dialogue

Mark-up used by animation, audio systems at run-time

Some hard-coding of rules into other AITools

Managing variations

Variation banks used to exploit streaming and avoid bottlenecks

Banks differentiated by global AI conditions (alert, combat, etc.)

Individual banks can be swapped out

Gaps during streaming can be filled with generic vocalizations

Tools

Censor systems

Controls flow of bark outputs

Regulates the mix of generic vs special-case barks (to conserve content)

Assigning different classes of dialogues to ‘censor groups’

Tools

Frequency stats

Gather data on playback frequency from playtesters

Bot/plug-in running in background aggregates stats over the local network

Good for identifying “dead” lines, or over-exposed reaction eventsTools

Questions? patrick.redding@ubisoft.com

www.wemakeholesinteeth.com

Aarf! Arf arf arf: Talking to the player with barks

Patrick ReddingUbisoft Montreal

top related