310 likes | 503 Views
Scalable Behaviors for Crowd Simulation. Mankyu Sung Michael Gleicher Stephen Chenney University of Wisconsin- Madison www.cs.wisc.edu/graphics. The Goal: Scalable Crowd Simulation. Large Crowds Scalable performance Large Complex Environments Scalable Authoring Rich, Complex Behaviors
E N D
Scalable Behaviors forCrowd Simulation Mankyu Sung Michael Gleicher Stephen Chenney University of Wisconsin- Madison www.cs.wisc.edu/graphics
The Goal:Scalable Crowd Simulation • Large Crowds • Scalable performance • Large Complex Environments • Scalable Authoring • Rich, Complex Behaviors • Scalable Behaviors We are not considering rendering!
The Issues:Conflicting Goals • Large, Complex World • Rich Behaviors • But… • Fast performance (simple agents) • Reasonable authoring Must decouple AGENT complexity from WORLD complexity!
An Environment Example: Model of Street Simulation: Real time, Reactive Rendering: Unreal Game Engine for playback
In a hurry Scalability:Complex Environments Store Window Doorway In front of Store Window In front of Doorway Sidewalk Friends Together Bench Use crosswalk In Crosswalk Street
In a hurry: Check for traffic Run across street Observation:Behavior Depends on Situation Store Window Doorway In front of Store Window Possibly: stop to window shop In front of Doorway Possibly: open door, enter Unlikely: stand blocking door Sidewalk: Walk here Friends Together: Possibly: Stop to talk Probably: Have same goal Use crosswalk: Wait for green light Start crossing In Crosswalk: Walk across street once you’ve started Street: Generally, Don’t walk here
Managing Environmental Complexity:Situation-Based Approach • Many different situations • Each has a different set of local behaviors • An agent only needs a few at a time • Blend situations/behaviors together Store Window Doorway In front of Store Window Possibly: stop to window shop In front of Doorway Possibly: open door, enter Unlikely: stand blocking door Sidewalk: Walk here Friends Together: Possibly: Stop to talk Probably: Have same goal Use crosswalk: Wait for green light Start crossing
Observation:Crowds are Crowds • Individuals are anonymous • Doesn’t matter what any one does • At any given time, do something reasonable • Aggregate behavior Stochastic Control Short term view of agent An Individual
Key Ideas • Situation-Based Approach • Breaks behavior into small pieces • Extensible agents kept simple • Situation Composition • Probabalistic scheme to compose behaviors • Painting Interface • Place behaviors in world, not agents • Use Motion-Graph-based runtime • Based on Gleicher et al 2003
Related Work:Inspirations from Research • Crowd Modeling(e.g. Reynolds 1987, Musse 2001, Blue 1998, Henderson, 1974, Bouvier et al. 1997, Helbing et al 2000, …) • Simple agents, simple rules • Fast, scalable, emergent patternsbut…difficult to generalize to complex behaviors • Smart Environments(e.g. Kallman et al 1998, Farenc et al. 1999, Thomas et all 2000, Michael et al 2003, …) • Objects tell agents what to do • Scalable authoring, complex actionsbut… difficult to compose or get variability
Related WorkInspirations from Systems • The SIMS (Maxis/EA Games) • Smart Environments/Objects • Massive (Regeleous) • Author Scenes, not Environments • Similar Means, Different Ends • Agent-centric, composable behaviors • Other competitors seem similar Softimage Behavior, Character Studio, AI-Implant, …
Situation-Based Approach:Agent Architecture • Agents: • Discrete set of actions (from mograph) • Randomly choose from distribution • Behavior functions provide distributions • All aspects of agents can be updated dynamically
Situation-Based Approach:Simple Default Agents • Default agents very simple • Wander, don’t bump into things, … • Extend agents as necessary to achieve complex behaviors
Situation-Based Approach:Extensible Agent • Situations extend agents • Add Actions • Add Behavior Functions • AddSensors and Rulesthat inform Behavior Functions
Example • Default agent can’t cross the street. • How an agent crosses the street… • Enters a Crosswalk Situation • Crosswalk situation extends agent • Sensor to see traffic light • Behavior Functions to cross street • Behavior Functions to stop • Rules to wait for light to change • Remove extensions when done
Composing Behaviors:Action Selection Left ? Agent Right Straight
Composing Behaviors:Probability Scheme Behavior Function A Left .5 Agent Right .3 Straight .2
Composing Behaviors:Probability Scheme Behavior Function A Behavior Function B .4 Left .5 .1 Agent .25 Right .3 .1 .33 Straight .2 .2
Composing Behaviors:Extending Agents Behav Func A Behav Func B Behav Func J Left .5 .1 .5 .41 Agent Right .3 .1 .5 .24 Straight .2 .2 .5 .33 Jump .2 .03
Composing Behaviors:Probability Scheme • Simple example • Three rooms with different set of composing behaviors.
Situations Compose • Agent can be in multiple situations • Agent has union of all the things that different situations put in • Details in paper
Authoring: Painting interface • Author environments (not characters) • Set of situation types • Paint into environments • Mix situations to make complex/compound ones • Ulicny et al (SCA 2004) • Painting on people, not environment
Advantages • Scalability / Efficiency • Agent complexity is independent of overall world complexity • Agent only carries information for current situations • Authorability • Re-use situations • Compose / combine / paint • Stochastic control • variability
Limitations/Future work • Behavior depends on available actions • All behaviors are concatenation of actions • Time scale issues / long term behaviors • Hierarchical / Ordered Situation • Discrete Choices • Parameterized actions? • Aggregate Control (e.g. Density) • Probability Tuning?
Summary:Scalable Crowd Simulation • Situation-Based Approach • Simple Extensible Agents • Localized behaviors • Behavior decomposed in situations • Situation Composition • Probability distributions
Acknowledgements • Game Engine Integration: Aaron San Filippo • Financial support : NSF CCR-9984506 and CCR-0204372, MIC of Korea • Motion donations : House of Moves, Demian Gordon, Ohio State University • UW Graphics Group, especially Hyun Joon Shin and Lucas Kovar