680 likes | 810 Views
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….
E N D
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
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 • Affordances, mechanics • Some simulation • Dynamics or “gameplay” • Some agents • 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.
Challenge • Obstacles • Conflict • Rules • System …Flow
Flow High Skill Too Difficult Flow Channel increasing challenge Low Skill Too Easy increasing skill M. Csikszentmihalyi
Tennis Volley for 3 hours in hot sun? Backhand? Flow Channel increasing challenge Hit the ball? Beat Your Boss? increasing skill
Training Improved Skill New tasks Flow Channel increasing challenge New skills New Goals increasing skill
Engagement = Cyclical • Each challenge = new trip • Designer and Player • Understand these patterns • Control them
Success 10 sec. 10 min. 1 hr. 10 hrs. time Failure W. Wright
Flux vs. Flow • Regulating this feedback • Engineering chaos, then calm • Keeps the player “engaged”
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 Get (or not) Spawn Find Find Object Solve (or not) Die Obstacle
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
One Perspective Flow Out Flow In Inventory Level
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 • 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 • 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