Multimed Tools Appl DOI 10.1007/s11042-010-0542-y
Real-time control of individual agents for crowd simulation Yunbo Rao & Leiting Chen & Qihe Liu & Weiyao Lin & Yanmei Li & Jun Zhou
# Springer Science+Business Media, LLC 2010
Abstract This paper presents a novel approach for individual agent’s motion simulation in real-time virtual environments. In our model, we focus on addressing two problems: 1) the control model for local motions. We propose to represent a combination of psychological and geometrical rules with a social and physical forces model so that it can avoid individual agent’s local collision. 2) Global path planning algorithm with moving obstacle. We propose a more efficient algorithm by extending the indicative route method. Experimental results show that the proposed approach can be tuned to simulate different types of crowd behaviors under a variety of conditions, and can naturally exhibit emergent phenomena that have been observed in real crowds. Keywords Crowd simulation . Path planning . Virtual environments . Individual agents controlling
1 Introduction and related work The crowd phenomenon is of great interest for a large number of applications: crowd management, public space design, virtual environments, visual surveillance, movie, video games, education and intelligent environments, etc. Simulating crowds in real time is a Y. Rao (*) : L. Chen : Q. Liu : Y. Li : J. Zhou School of computer science and engineering, University of Electronic Science and Technology of China, Chengdu, Sichuan, People’s Republic of China e-mail:
[email protected] W. Lin University of Washington, Seattle, WA, USA J. Zhou School of computer science and engineering, Southwest University, Chongqing, China
Multimed Tools Appl
challenging problem that touches many different aspects of computer graphics. In this paper, we focus on addressing the following two problems: 1.1 The control model for local motions Realistic crowd simulation [16] can be defined as the simulation of crowd behaviors consistent with real observed crowds, and appropriate individual collision avoidance and collision response. However, real-time crowd simulation is difficult because large groups of people exhibit behaviors of enormous complexity and subtlety. How to control individuals for more realistic response to different individual agent behavior is a crucial problem in complex and dynamic virtual environments. The difficulty to find a satisfying trade-off between efficiency and naturalness is particularly challenging, and previous techniques tend to focus on a single approach. We classify crowd agent motions in real-time virtual environments by four main approaches: 1) Social forces models [3, 5, 6, 11] (the drawback is that agents may appear to shake or vibrate continuously, and thus, is not suitable for real-time simulation). 2) Rule based models [13, 18, 19] (the drawback is that the local nature of the method gives no guarantee on the path). 3) Cellular automata models [1, 2, 10, 22] (since the space and time are discrete, it is simple to implement and can move fast to a free adjacent cell, however these models do not allow for contacts among agents). 4) Hybrid approach, which combines first three models that have been widely used for crowd simulation. It applies a combination of psychological and geometrical rules with a social and physical forces model in attempting to improve the quality of the individual agent movement. Therefore, we will focus on discussing the hybrid approach in this paper. HiDAC model [4, 16, 17] is one of the state-of-the-art hybrid approach in modeling local motions. Basically, HiDAC model focuses on the problem of simulating the local motion and global wayfinding behaviors of crowds moving in a natural manner within the dynamically changing virtual environments. The HiDAC Model is a parameterized social forces model that depends on psychological and geometrical rules. The moving agent i(FiTo ) depends on the Wa Ob ), obstacles k(Fiki ) and other agents j(FjiOt ), desired attractor (FiAt ), while avoiding walls w(Fiw To and trying to keep its previous direction (Fi ½n 1). All these forces are summed together with different weights wi that are the result of psychological and/or geometrical rules, determining the importance of each force on the final desired direction of movement: FiTo ½n ¼ FiTo ½n 1 þ FiAt ½nwAt i þ
X w
Wa Fwi ½nwWa i þ
X k
FkiOb ½nwOb i þ
X
FjiOt ½nwOt ð1Þ i
jð6¼iÞ
There are some limitations in the HiDAC Model. 1) It only takes into account the walls, obstacles and agents. 2) Except agents, all objects (walls and obstacles) are static. It does not take dynamic objects into consideration. And 3) it only takes into account flat surfaces in the equation. It does not touch uneven surfaces. In this paper, we propose a new approach for more realistic simulation individual agent’s behaviors. We also use force fields and incorporate motor, perception, and cognition in realtime for trade-off between naturalness and efficiency. 1.2 Global path planning algorithm Path planning is one of the most crucial behaviors for crowds that can be simulated on computer. Over the past years, path planning has been studied extensively in virtual environments applications. The general idea of path planning is that the individual agent is attracted toward its target position by a strong force and prevents collision with the
Multimed Tools Appl
obstacles and other entities by repulsive forces. The previous research is focused on trying to find collision-free and shortest paths as quickly as possible. Shao et al. [21] proposed an efficient path search algorithm, which is based on the well-known A* graph search algorithm. However, the computing is very expensive for real-time complex virtual environments. X.G. Jin et al. [7] proposed an interactive navigation method using vector fields. Each individual is modeled as a particle with its own personality, whose actual behavior is determined by a globally governed movement component and an autonomous movement component. The movement of the crowd of virtual pedestrians is directed by the underlying continuous vector field without the need of explicit grid-based representation. R. Narain et al. [14] proposed a novel inter-agent avoidance model which decouples the computational cost of local planning from the number of agents, allowing very large-scale crowds consisting of hundreds of thousands of agents to be simulated scalable at interactive rates. The approach can be used as a local planning module in conjunction with a global planner, such as a roadmap-based algorithm or the continuum-based optimization on a coarse grid, for the simulation of large dense crowds. Sachin Patil et al. [15] proposed an intuitive approach to direct simulation of virtual crowds using goal-directed navigation functions, which is easily combined with most current local collision-avoidance methods. I. Karamouzas and R.Geraerts et al. [8, 20] propose a novel approach under the name corridor map method (CMM) for path planning in interactive virtual environments. Later, I. Karamouzas et al. [9] improved the CMM algorithm and proposed an indicative routes method (IRM) to indicate the global routes of the individual agents. The improved algorithm provides more flexibility to handle broad range of path planning issues, such as avoiding other individual agents and computing believable paths. However, these algorithms still have some limitations. 1) Its only investigated analytic properties of distance propagating. 2) The algorithm doesn’t apply to groups-based simulation. In this paper, we propose a more efficient algorithm by extending the indicative route method. The proposed algorithm takes into account the navigation to trade-off between local and global planning. Furthermore, we also take into account random variations in the individual agent behavior to increase the naturalness of the simulation. The remainder of the paper is organized as follows. Section 2 describes our proposed control model for local motions. Section 3 describes our proposed global path planning algorithm. Section 4 shows the experimental results. We conclude the paper in Section 5.
2 The control model for local motions 2.1 The basic local motion control model Our approach uses psychological attributes (panic, impatience, memory, and orientation) and geometrical rules (distance, areas of influence, relative angles) to eliminate artifacts. A virtual environment in our approach is given, in which individual agents have to move from a start to a specified target position without colliding with the environment and other individual agents or dynamic obstacles. We assume that the individual agents i(FiMove ) move on a plane or a terrain and is modeled as a disc with radius r. The individual agent moves with velocity vi. In addition, the actual motion of the agent is limited by a maximum speed vi max . The individual agent i(FiMove ) depends on a steering force FiSteer to advance toward the target, a repulsive force (include static walls, water surface, and static objects, etc.) to prevent collision with FQStatic i s (include dynamic objects, static obstacles Qs, a dynamic obstacles repulsive force FODynamic di
Multimed Tools Appl
and other individual agents, etc.), a terrain uncomfortable force FiTerrain , and tries to keep its previous moving direction to avoid abrupt changes in its trajectory FiMove ½n 1. Our approach is closest to some previous work [16] on using the final force for local motion control. The final force FiMove exerting on the individual agent at position x is given as follows: X X Dynamic FiMove ½n ¼ FiMove ½n 1 þ FiSteer ½n þ FOStatic ½ n þ F Od i ½n þ FiTerrain ½n ð2Þ i s Os
Od
where n is the simulation step. The definitions of different forces in Eq. 2 are described in detail in the following. for static obstacles 2.1.1 Repulsive force FQStatic i s
Static obstacles include static walls, water surfaces, and static objects, etc. They produce a repulsive force to individual agent i. Let db denote the distance between the individual agent i at position x and its corresponding closest point Px of the static obstacle. Let ds denote the preferred safe distance. Figure 1 shows an example. for static obstacles is defined as follows: Then, repulsive force FQStatic i s xpx Cb jjxp ; if db r < ds x jj ð3Þ ¼ FOStatic si 0 otherwise b The scalar Cb ¼ ðdds þrd ðkÞ is chosen such that the force will become infinite when the b r Þ individual agent and obstacle point touch, where the constant k indicates the steepness of the repulsive potential.
2.1.2 Steering force FiSteer Steering force FiSteer guarantees individual agents to move toward its target position in any step of the simulation. Figure 2 shows an example of individual agent i at position x move toward the target point Gx.
Obstacle A
i
Moving origination
db
radium r safe distance ds
Px
Obstacle B
Fig. 1 The individual agent i at position x and its corresponding closest point Px on the static obstacle B will produce a repulsive force to individual agent i
Multimed Tools Appl
Obstacle A
Gx Moving origination r
Individual agent i ds
Obstacle B
Fig. 2 Individual agent i at position x move toward the goal point Gx
Then, steering force FiSteer is defined as follows: FiSteer ¼ Csteer
Gx x jjGx xjj
ð4Þ
where Csteer is a constant specifying the relative strength of the force. for dynamic obstacles 2.1.3 Repulsive force FQDynamic il d
Dynamic obstacles repulsive force FQDynamic includes moving objects and other individual il d agents, etc. Let dynamic obstacles at position Doxl produce a repulsive force toward moving individual agent i. Figure 3 shows an example. for dynamic obstacles is defined as follows: Then, repulsive force FQDynamic il d
FODynamic ¼ d il
oxl x Coxl kD Doxl xk ; 0
if individulagent kDoxl xk < 2ds otherwise
ð5Þ
Individual agent k Movement orientation
r
ds Repulsive force toward
Individual agent i
r
Movement orientation
i
Movement orientation Individual agent j r
ds
Repulsive force toward i ds
Fig. 3 Individual agents j,k will produce a repulsive force toward individual agent iat position x. The moving direction of individual agents k is the opposite with individual agent i
Multimed Tools Appl
Where l denotes the closest number of moving individual agents around with individual agent i at position x. Coxl denote different weights that are the result of psychological and/or geometrical rules. According to Eqs. 2–5, the force vector is as follows: fiMove ¼
FiMove jFiMove j
ð6Þ
At a fixed time t, the individual agents is at position x(t).The FiMove results in an acceleration term as described by Newton’s second Law of motion, i.e. FiMove ¼ ma, where m is the mass of the individual agent and a its acceleration. Let m = 1, the position of the individual agent at time t is computed by integrating the equation of motion, as follows: d 2 ðxðtÞÞ ¼ FiMove ðxðtÞÞ dt 2 The new desired position xi(t + 1) for individual agent i is calculated as follows: xi ðt þ 1Þ ¼ xi ðtÞ þ wi ½tvi ½t ð1 g i ½tÞfiMove ½t þ g i ½tFiFall ½t Δt þ Fpipush ½t
ð7Þ
ð8Þ
Note that,w represents whether the individual agent will move in its desired direction of movement or instead be pushed by repulsive force. ( 0 if Fpipush >0 _ stoppingRule _ waitingRule ð9Þ wi ¼ 1 otherwise The stopping rule and waiting rule are used to avoid shaking behavior and to allow for line formation, respectively. γi is used to give priority to avoiding fallen agents on the terrain; Δt is the increment small time step size; Fpipush is the result of the repulsive forces that affect the agent when it overlaps with a wall, obstacle or another individual agent; FiFall is the avoidance force to avoid fallen individual agents. 2.2 Handling special scenarios In this section, we will discuss using our proposed local motion model for handling the special scenarios which are affected by psychological and physiological attributes [4, 16, 17, 21]. They are described as follows. 2.2.1 Avoidance of collision in uneven surface To solve the problems of collision avoidance in uneven surface, we extended final force FiMove by terrain uncomfortable force FiTerrain . The terrain uncomfortable force FiTerrain is defined as follows: 8 hpx hx
Multimed Tools Appl
Individual agents need to perceive the environment to avoid static and dynamic obstacles while walking toward target. Our model set perception through a cell and portal graph. Each cell contains information about the static objects (controlled by (3)). As the individual agents traverse the environment, the lists of dynamic objects are rapidly updated (controlled by equation (5)); Terrain map information also will be contained in each cell. Any moving individual agent can obtain obstacle data (i.e. static obstacle and dynamic obstacle) and terrain information by querying the cell. An experimental result of using the proposed model for handling the terrain uncomfortable force is shown in Fig. 4. 2.2.2 Bi-directional flow behaviors When individual agent travels in the same direction inside a narrow passageway/ corridor, they will tend to spread out in order to see further ahead. However, when oncoming traffic or fire retreat is encountered, individual agents will tend to form opposing lanes to maximize the two-way throughput. The realistic counter flows have been studied in some previous works. For example, Shao et al. [21] proposed big flows on the side with small unblocking streams intermingling in the middle for safe direction interval/the safety fan. In this paper, we extend the realistic counter flow method by considering the factors, which affect the tangential forces for obstacle avoidance. When the individual agent from other moving individual satisfies kDoxl xk < 2ds , it will get repulsive force FODynamic di agents. We consider obstacles as the other moving object. Let Ol 2 R2 denote a set of n obstacles that the individual agent need to avoid, while planning its motion inside the corridor. Every obstacle Ol : l 2 ½1 : n exerts a repulsive force. We define the influence region of the obstacle as do, the radium of the obstacle as ro. Then, the total obstacle can be described as follows: avoidance force FODynamic d il FODynamic ¼ d il
n X l¼1
Coxl
Ol x if jjOl xjj
db ro ri do
where Coxl ¼ kr =ðdb ro ri Þ,
Fig. 4 Walking behaviors of individual agents in uneven surface with the proposed control equation
ð11Þ
Multimed Tools Appl
Note that, kr is a parameter, which is used to scale the effect of the repulsive force on the moving objects. An example description of Eq. 11 is shown in Fig. 5. Figure 6 shows simulation result which is based bi-directional flow without collision-free. 2.2.3 Individual agents falling down and becoming obstacles Each individual agent maintains a set of internal mental state variables (e.g. tiredness, thirst, curiosity etc.), which encodes the individual agent’s current physiological, psychological or social needs. In this paper, these scenarios are modeled as follow: When the pushing force, the terrain uncomfortable force, and the avoidance force to one individual are approximately in the same direction and the total magnitude of these forces is large enough, the individual agent will lose equilibrium and fall down. And the fallen individual agent will become an obstacle for the rest of the crowd. The avoidance force FiFall is highly related to the terrain uncomfortable force FiTerrain as well as the Euclidean distance between the moving individual agent and its target. And it can be defined as follows: FiFall ¼ Cm FiTerrian
Pg x jjPg xjj
Cm 2 ½0; 1
ð12Þ
where Cm is mental state parameter and FiTerrain is defined in Eq. 10. When the position of the individual agent overlaps with any static or dynamic obstacle, the pushing force will appear. The pushing force FpiPush is computed as follows: X Dynamic X FpiPush ¼ l1 FOd il ðtÞ þ l2 FOStatic ðtÞ ð13Þ si s
d
Movement object k1 Influence region of
Movement orientation
the obstacle
do
Repulsive force toward i
Individual agent i
r
Movement orientation Movement orientation
ds
Repulsive force toward i
Movement object j1
db Influence region of the obstacle
do
Fig. 5 Moving objects j1, k1will a repulsive force toward individual agent i at position x. Moving direction of objects k is opposite with individual agent i
Multimed Tools Appl
Fig. 6 Bi-directional flow behavior of individual agent, the arrow denote moved direction. The rectangle represents moving objects
l1 2 ½0; 1; l2 2 ½0; 1 where λ1 and λ2 used to set priorities between individual agents (that can be pushed) and static ðtÞ and FOStatic ðtÞ are defined by Eq. 3 and Eq. 5, or dynamic obstacle, and FODynamic si d il respectively. When the value of the associated internal state variable exceeds a specific threshold and the pushing force also exceeds a specific threshold, the individual agent will fall down and become a static object. Fallen individual agent may represent a different type of obstacle. Such as: wall, water surface, columns etc. In our work, fallen individual agents are modeled as static rectangular obstacles. Figure 7 shows an experimental result of this situation.
Fig. 7 Individual agents of walking are to avoid a fallen agent. Two bounding boxes are covering the torso and head, respectively
Multimed Tools Appl
2.2.4 Solving “shaking” behaviors In many algorithms, when the individual agents encounter a bottleneck (or corridor portal), an unnatural behavior will happen, where the individual agents appear to vibrate or shake continuously in the original place. An example is shown in Fig. 8. Some algorithms such as the CA model [1, 2, 10, 22] or rule-based models [13, 18, 19] can avoid this problem by correcting this behavior through predefined rules. However, these algorithms need to check all the neighboring agents to determine the best information. This will lead to a great amount of computation which as sometimes is unacceptable. In this paper, we define a “stopping rule”, which is based on the personality of the individual agent. In this rule, the strength of the pushing force from other individual agents will decide the moving directions of the shaking agents. For example, suppose i and j are two shaking individual agents, if i get the stronger pushing force than j, i will move first and j will stay in the original place. This rule succeeds in reducing shaking behavior in simulating experiment. 2.2.5 Intersection detection The detection of object intersection is an extremely challenging issue in crowd simulation. The reasons are as follows: 1) the individual agent perception is not precise; 2) path planning is dynamic and easily changeable under complex environment; and 3) computational errors will also cause intersection. In this paper, we propose a new intersection detection algorithm which can efficiently avoid different intersections. Assume the position of the individual agent i before position update is x. After an update period, the position of i position is px. The time of max update are n, the number of individual agents is m, the number of individual agents in the px . The algorithm can be described as search range is c. The vector from position px to x is ~ follows: Step 1: Initialization: the individual agents and other dynamic objects in the environment are not intersecting in their initial positions. Step 2: If an intersection between the individual agent i and the environment is detected, i will rectify its position as follows: px ; Px Pnew ¼ Px þ 1=ðN mÞ !
ð14Þ
Pnew
Obstacle A Individual agent i r
Movement origination
Gx r
Movement origination
Individual agent j Obstacle B
Fig. 8 Individual agent i,j are walking toward the target G. Two individual agents encounter a bottleneck and “shaking” in the original place
Multimed Tools Appl
Step 3: If an intersection is detected between individual agents im and ik. The priority hierarchy will be computed comparing between ik and im which is calculated based on the strength of the pushing force and the terrain uncomfortable force. Then im and ik will rectify positions by Eq. 14. Figure 9 is an experimental result which shows the effectiveness of our algorithm. In this experiment, we abandoned all the environmental render to get the most reliable real-time test results. 2.2.6 Other interesting behaviors The previously described scenarios include the essential part of the individual agent behaviors. To make individual agents more interesting, the following behaviors can also be included in our proposed approach: (1) (2) (3)
Interactive changes in the environment. When environment change occurs (e.g. the door is blocked by fire), agents perceive and react to it [16, 21]. Action selection. Each individual agent has an associated action selection mechanism with appropriately set behavior triggering thresholds [12]. Panic propagation behavior. When some agents start in the panic mode for alarm, they may propagate panic to other individual agents whose behavior will be modified in turn. [16].
3 Global path planning Global path planning directs individual agent to proceed through intermediate regions and finally reach the ultimate destination. We must deal with real-time simulations, numerous individual agents and the large complex environments is global path planning. We are confronted with many navigational issues, such as the speed and scale of path planning as well as the agent flow control through or around the bottlenecks. In this paper, we propose a more efficient method by extending the IRM algorithm. The proposed method uses a new potential function to direct the individual agent inside the
Fig. 9 Demonstration of intersection elimination a Result without an intersection detection and elimination, and b Intersect elimination by our algorithm
Multimed Tools Appl
corridor and it provides better control over the local motions. Furthermore, the algorithm also includes the random variations in the agent’s behavior to increase the naturalness of the simulation. The proposed algorithm can be described as follows: Step 1: Perform a rough estimation of the individual agent’s preferred route which is the start to the target position G x . The indicative route is a continuous map9x!Gx 2 ½0; 1 ! R2 , such that 9x!Gx ½0 ¼ x, 9x!Gx ½1 ¼ Gx . The shortest path can be found by dijkstra’s algorithm or the A* algorithm, the latter is often faster in practice because A* cuts down on the subgraph that must be explored by using a heuristic function guiding the search toward the target. Our algorithm divides the environment into a coarse grid and searches for an appropriate path using A*algorithm. Step 2: In general, the paths that are created in the first step are not natural. The individual agents should not traverse exactly the indicative route. We create a corridor around that route, which the individual agent can move without colliding. Step 3: The path 9x!Gx of the individual agents is extracted from the corridor using map information approach. In local motion, we apply the force field to guide the individual agent’s motion through the corridor. Our proposed algorithm ensures no detour. A shorter and more believable path is returned as can be examined. The Fig. 10 shows the experimental result using grayscale model to get the most reliable real-time result.
4 Experimental results We run various sets of individual agent behaviors simulations with our approach, which can produce smooth behavior for thousands of individual agents at interactive rates. The main behaviors simulation including: 1) Avoidance collision in uneven surface; 2) Bi-directional flow behaviors simulation; 3) Individual agents falling down and becoming obstacle; 4)Solving “shaking” behaviors; and 5) intersection elimination.
Fig. 10 Experimental results show that the extending indicative route method has the shorter and more believable paths. a Smooth path returned by the indicative route method, b Shorter path generated by our extending indicative route method
Multimed Tools Appl
Fig. 11 The large individual agents’ motion through surface in real-time using proposed location motion model
In all simulations, the system clock is used to create real-time environment. We implemented 3D game engine in mixture of VC++ and Director 9. All the experiments were performed on PC running Windows XP, with a 2.4 GHz Intel Core 2 Duo CPU and 2 GB memory. Due to the geometric complexity of the surface, obstacle, and numerous individual agents, rendering time will dominate individual agent’s simulation time. Therefore, we abandoned all the environmental rendering in experiment. In the experiments, we simulated 10,000 individuals and 200 obstacles retreating on 60X60 grids. The individual agents can predicatively react to moving obstacles using our algorithm. We also projected discomfort and increased speed in front of the obstacles so that individual would move quickly out of the way. Our experiments show the effectiveness of our proposed algorithm under large crowd behaviors simulations with improved location motion model. 100
Cpu Load %
80 60 40 20 0 0
1000 2000
3000 4000 5000 6000
7000
8000
9000 10000
Numbers of individual agents
Fig. 12 Related between the number of individual agents and the CPU-load per second traversed time
Multimed Tools Appl
80 Frames per second
Test Point Exponential Curve
60
40
20
0 0
1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 The number of individual agents
Fig. 13 The 20 test points with different sizes of individual agents
Figure 11 shows simulated result which without any collision-free and intersection. With our proposed local motion model, the individual agents can change paths in real-time as the congestion conditions evolve. We also take into account CPU load situation in this experiment. Figure 12 shows result that measures the CPU load as the amount of CPU time that is required to generate one second of individual agents’ movements. We consider the performance as real-time when the CPU load is at most 35%. From Fig. 12, we can see that even for 10, 000 individual agents, our approach can still efficiently behavior simulation at interactive rates requiring less than 50% of the processor power. Therefore, the proposed algorithm can be used for crowd simulation in real-time virtual environments. Figure 13 shows the most reliable real-time test data points, which tests the performances of different sizes of the individual agents 20 times. It is clear that the frames per second decreased quickly along the exponential curve by increasing the number of individual agents. If considering the 24 fps standard, our algorithm is suitable for the construction of real-time crowd simulation model which the number of agents less than 10,000.
5 Conclusion In this paper, we proposed a new local motion model and a new global path planning algorithm for simulating the crowd in virtual environments. We have improved a local motion model with major contribution being a comprehensive model of social forces, rules model, and unique extensions enabling a variety of behaviors. Our model can be tuned to simulate different types of crowd behaviors such as: avoidance collision in uneven surface, bi-directional flow behaviors, individual agents falling-down and becoming obstacle, individual agents “shaking” behaviors and intersection elimination etc. Our algorithm can be simulated with large number of individual agents, which is up to 10,000 individual agents in real-time.
Multimed Tools Appl Acknowledgment The authors would like to thank the anonymous reviewers for their helpful comments. We would like to thank Prof Ming-ting Sun for improving the writing of the paper. This work is partly supported by National High-Tech Program 863 of China (Grant No. 2007AA01Z322) and National Arm Research Program of China (Grant No.9140A06060208DZ0207).
References 1. Adrien T, Seth C, Zoran P (2006) Continuum crowds. ACM Trans Graph 25(3):1160–1168 2. Chenney S (2004) Flow tiles. ACM SIGGRAPH/Eurographics Proceedings of Symposium on Computer Animation, pp 233–242 3. Chin CL, Huang Z, Liew PS (2009) Development of a computational cognitive architecture for intelligent virtual character. Conference on Computer Animation and Social Agents (CASA) (Amsterdam, Netherlands). Computer Animation and Virtual Worlds 20:257–266 4. Durupinar F, Allbeck J, Pelechano N, Badler NI (2008) Creating crowd variation with the OCEAN personality model. Proc of 7th Int Conf on Autonomous Agents and Multiagent Systems (AAMAS 2008), pp 1217–1220 5. Helbing D, Buzna L, Johansson A, Werner T (2005) Self-organized pedestrian crowd dynamics: experiments, simulations, and design solutions. Transp Sci 39(1):1–24 6. Helbing D, Farkas I, Vicsek T (2000) Simulating dynamical features of escape panic. Nature 407:487– 490 7. Jin X, Xu J, Wang CCL, Huang S, Zhang J (2008) Interactive control of large-crowd navigation in virtual environments using vector fields. IEEE Comput Graph Appl 28(6):37–46 8. Karamouzas I, Overmars MH (2008) Adding variation to path planning. Computer animation and virtual worlds, pp 283–293 9. Karamouzas I, Roland G, Overmars MH (2009) Indicative routes for path planning and crowd simulation. The Fourth International Conference on the Foundations of Digital Games (FDG), pp 113– 120. 10. Kirchner A, Nishinari K, Schadschneider A (2003) Friction effects and clogging in a cellular automaton model for pedestrian dynamics. Phys Rev E 67:51–60 11. Lokoba T, Kaup D, Finkelstein N (2005) Modification of the helbing molnar farkas vicsek social force model for pedestrian evolution. Simulation 81(5):339–352 12. Loscos C, Marchal D, Meyer A (2003) Intuitive crowd behavior in dense urban environments using local laws. In: Theory and Practice of Computer Graphics, IEEE, pp 122–129 13. Massive Software (2006) http://www.massivesoftware.com 14. Narain R, Golas A, Curtis S, Lin MC (2009) Aggregate dynamics for dense crowd simulation. ACM Transactions on Graphics. Proc. of ACM/SIGGRAPH Asia 15. Patil S, J van den Berg, Curtis S, Lin MC, Manocha D (2010) Directing crowd simulations using navigation fields. IEEE Transactions on Visualization and Computer Graphics, 09 Feb. 2010 16. Pelechano N, Allbeck JM, Badler NI (2007) Controlling individual agents in high-density crowd simulation. Eurographics/ACM SIGGRAPH Symposium on Computer Animation, August 02–04, 2007, San Diego, California 17. Pelechano N, Stocker C, Allbeck J, Badler NI (2008) Being a part of the crowd: towards validating VR crowds using presence. Proc of 7th Int Conf on Autonomous Agents and Multiagent Systems (AAMAS 2008), pp 136–142 18. Reynolds CW (1987) Flocks, herds, and schools: a distributed behavioral model. Computer Graphics (ACM SIGGRAPH ’87 Conference Proceedings), Anaheim, CA, USA, 21: 25–34 19. Reynolds CW (1999) Steering behaviors for autonomous characters. Proceedings of Game Developers Conference, pp. 763–782 20. Roland G, Overmars MH (2008) Enhancing corridor maps for real-time path planning in virtual environments. Computer Animation and Social Agents. In Computer Animation and Social Agents (CASA), pp 64–71 21. Shao W, Terzopoulos D (2007) Autonomous pedestrians. ScienceDirect 69:246–274 22. Tecchia F, Losocos C, Conroy R, Chrysanthou Y (2001) Agent behavior simulator(ABS):a platform for urban behavior development. Proceedings of ACM/EG Games Technology Conference. 2001