GLS_DDA_2005 - Northwestern University

Download Report

Transcript GLS_DDA_2005 - Northwestern University

The Case
for Dynamic Adjustment
Robin Hunicke
Northwestern University
June 24, 2005
Background

University of Chicago




Interdisciplinary Studies
Autobiographical Narrative
Memory, Cognition, AI
Northwestern University



Reactive Robotics
Simulation and Games
Art & Technology
Also…

IGDA



Education Committee
WomenDev
Games



Indie Game Jam
Experimental Gameplay Workshop
GDC, etc
So…




Confront technical problems
Consider the design perspective
Facilitate interdisciplinary dialog
Diversity, diversity, diversity
Why Games?
Dream Scenario





Engaged Students
Solving problems
Analogizing
Extrapolating
Moving forward
… in the (digital) context of their choice
Reality




Engagement is hard
Curriculum design is hard
Computers are stupid
Software is expensive




Time
Money
Creativity
Planning
Scope




Fully interactive Agents/Narrative
Knowledge-rich training applications
Granular simulations/systems
Video games




Significant physical simulation
Little knowledge and training
Fixed narrative
Remedial agents
Games: A View

Some rules


Some simulation


Dynamics or “gameplay”
Some agents



Affordances, mechanics
Create obstacles
Deliver information
All: React to the player
Game AI

Typically

Improve the agents




Reactions to simulation
Each other
Player
Alternately

Build new systems


Natural Language
Drama Manager
Or…

Systems for dynamic adjustment




Track state
Observe patterns
Adjust accordingly
In particular

Difficulty

The player’s experience of challenge and triumph at
the controls.
Engagement
Challenge




Obstacles
Conflict
Rules
System
…Flow
Flow
High
Skill
increasing challenge
Too Difficult
Flow
Channel
Low
Skill
Too Easy
increasing skill
M. Csikszentmihalyi
Tennis
Volley for
3 hours in
hot sun?
increasing challenge
Backhand?
Flow
Channel
Hit the
ball?
Beat Your
Boss?
increasing skill
Training
increasing challenge
New tasks
Improved
Skill
Flow
Channel
New
skills
New Goals
increasing skill
Engagement = Cyclical


Each challenge = new trip
Designer and Player


Understand these patterns
Control them
Success
10
sec.
time
10
min.
1
hr.
10
hrs.
Failure
W. Wright
Flux vs. Flow



Regulating this feedback
Engineering chaos, then calm
Keeps the player “engaged”
Difficulty
Game Difficulty



Typically static at run-time
Tuned by playtest
Flow happens
– but only for a niche
Experiencing Flow


Expand the flow channel?
Can AI help?
FPS as a Base Case
Die
Win
(or retreat)
Enemy
Fight
Search
Spawn
Find
Die
Obstacle
Get
(or not)
Find
Solve
(or not)
Object
Gameplay Mechanics






Health
Ammunition
Enemy Type/HP/Accuracy
Weapon Type/Strength/Accuracy
# of Targets
Distance
Enemy Dynamics




Number
Strength
Accuracy
Variability in behavior



intelligence
tactical behavior
surprise
Overall Aesthetics



Ramping challenge
Responsive reward
Sense of gradual, earned mastery
Games are Didactic



Pleasure comes from mastery
Design reinforces learning curve
Genre-based cues


crates and sewers
health and bosses
Games are Didactic



Pleasure comes from mastery
Design reinforces learning curve
Genre-based cues



crates and sewers
health and bosses
Resistance to DDA is understandable
Simulation at the helm

Forumla-1 Racing



The “better” it is, the harder it is
New players excluded
Adjustment can change this
Adjusting Difficulty
One Perspective
Flow In
Inventory
Level
Flow Out
Health
Health
Health
In A Nutshell

Look at





Player Inventory
Current obstacles
Performance over time
Generate projected probability of failure
Adjust accordingly
AI View of this Process
observations
User Model
Game Play
Session
conditions
actions
Action Planner
Dynamic Systems View
observations
State Estimator
Game Play
Session
states
actions
Control Policy
Estimation



Estimate probability of getting hit
Average measurements over time
Monitor and intervene when necessary


Continuous observation
Choice of control


Single-instance tweaking
Systematic tweaking
Something for Everyone

“Comfort Zone” Regulator



Babysitter
Trial and error
Steady supply, consistent demand
Something for Everyone

“Discomfort Zone” Tracking System



Boxing coach or Drill Sergeant
Ramping challenge
Sporadic supply, intense but erratic demand
Or…

You can just turn it off!
Hamlet
Hamlet

Half-Life mod





Monitor game statistics
Predict failure/death
Define adjustment actions and policies
Execute those actions and policies
Base Case for evaluation


Many options for adjustment
Chose simplest one
Game Chart

Some C# and C++ widgets


Display data
Play session traces
Health Basics

Observe



Damage done to player
Damage done to monsters
Store stats for each class
Expected Shortfall

In a nutshell:





For all “on deck” monsters
Sum damage and squared damage
Compute  and  of damage per class
Calculate probability of death
If needed – adjust!
ERF

1  1 1  erf
2

 h  t 


  2t  

h = current player health
 ,  = all on deck monsters

t = look ahead (300 ~ 10 seconds)

Right now

Comfort zone


30% or greater chance of death
15 points of health per intervention
Reported directly
 Not supported by the “in game fiction”


Interventions per look ahead
Threshold (avoid meddling)
 Currently pace-dependent

Comfort Zone
Comfort Zone
ERF and Health
ERF
Health
1.20E-01
100
90
1.00E-01
80
70
8.00E-02
60
6.00E-02
ERF
50
Health
40
4.00E-02
30
20
2.00E-02
10
0.00E+00
0
0
50
100
150
200
250
0
50
100
150
200
250
Users
Testing



40 users
Play the game
Fill out a form




1-5 scales with 1 and 5 labled
Some self-reporting
Half adjusted
Single-blind
Enviornment




Case Closed (mod of Half-Life 1)
Dell Dimension 8200
1.8 megahertz Intel Pentium processor
1 gig RAM, NVidia GeForce3 graphics card



125,000 CPU cycles
average of 69 microseconds per tick
0.6 microseconds for the ERF calculation
Questions




Performance
Challenge
Frustration
Enjoyment
Summary


People live longer, get farther
Low correlation between



how often it adjusts
how often people perceive adjustment
no correlation between perceived adjustment and
actual adjustment methods
Experts



Dying less - not mad about it
No change in perception of difficulty
Assumption

I’m kicking ass!
Novices




Living longer – not necessarily happier
Taste in games/activities
Typically negative from the beginning
Perception

I suck!
Context




What
When
How
How often
Slightly Off Topic


Health meter
Simons/Resnick



Ballart et al



Gorilla
Scene evaluation/replacement
Blocks
Intille
Ubi-comp
Slightly Off Topic


Change Blindness
Simons/Resnick



Ballart et al



Gorilla
Scene evaluation/replacement
Blocks
Intille
Ubi-comp
Design mitigates disruption, use it!
Design for adjustment

Levels



Dynamics (Enemies)




Layout
Maps
Off screen enemies
Dynamically constructed obstacles
So on
Mechanics (Weapons/Attacks/Powerups)
Programming

Engine




Hooks for constant monitoring
Data gathering and evaluation
Spontaneous/Remote control
Dynamic Content
Conclusion
Baby Steps



Fully realized, “aware” or “context sensitive”
games/applications a ways off
Starting at the bottom…
…but we can make progress!
Can we do better?



Best policies?
More robust policies?
Other factors?
“Even a little better is better”

10% less work

10% more fun
... or both!
Connect
[email protected]
www.cs.northwestern.edu/~hunicke/



www.igda.org
www.indiegamejam.com
www.experimental-gameplay.org