Functional Crowds


Jan M. Allbeck

In Workshop on Crowd Simulation co-located with the 23rd Annual Conference on Computer Animation and Social Agents. Saint Malo, France, 2010.


Most crowd simulation research either focuses on navigating characters through an environment while avoiding collisions or on simulating very large crowds. Our work focuses on creating populations that inhabit a space as opposed to passing through it. Characters exhibit behaviors that are typical for their setting. We term these populations functional crowds. A key element of this work is ensuring that the simulations are easy to create and modify. We use roles and groups to help specify behaviors, we use a parameterized representation to add the semantics of actions and objects, and we implemented four types of actions (i.e. scheduled, reactive, opportunistic, and aleatoric) to ensure rich, emergent behaviors.

Paper (pdf)



Our first sample scenario simulates a university environment. Here we see the characters going about their day...

Scheduled Actions

Scheduled actions are the type of actions one would put on their calendar (e.g. meetings, appointments, classes). These actions add structure to simulations and also help define character roles.

Here we show how actions for individuals and groups can be scheduled through Microsoft Outlook(c) calendars. Pushing a toolbar button saves the calendar data to a MySQL database where it is accessed and simulated by CAROSA....

Failure Recovery

Possible failures are detected and dealt with.

Here an action fails due to a lack of resources (i.e. no seat in a class), and the agent responds by performing another action...

Reactive Actions

Reactive actions add life to simulations. They promote emergent behaviors that take away the robotic feel that a simulation would have with scheduled actions alone.

Here we demonstrate that agents can react to a variety of stimuli...

Opportunistic Actions

Opportunistic actions add a structured unpredictability. These actions are based on need fulfillment.

Here we see a character working in his office until he needs to get a drink, use the bathroom, and eat...

Aleatoric Actions

Aleatoric actions are essentially stochastic actions. They are composed of sub-actions with probabilities. When an aleatoric action is executed, sub-actions are chosen according to their probabilities to fill the duration specified.

Here we see a professor giving a lecture which is composed of talking, using the computer, and writing on the whiteboard...


Creating a Scenario Working in an office