The current challenge for crowd simulations is the design and development of a scalable system that is capable of simulating the individual behavior of millions of complex agents populating large scale virtual worlds with a good frame rate. In order to overcome this challenge, this thesis proposes different improvements for crowd simulations. Concretely, we propose a distributed software architecture that can take advantage of the existing distributed and multicore architectures. In turn, the use of these distributed architectures requires partitioning strategies and workload balancing techniques for distributed crowd simulations. Also, these architectures allow the use of GPUs not only for rendering images but also for computing purposes. Finally, the design and implementation of distributed visual clients is another research topic that can help to overcome this challenge.
Description of the ProblemCrowd simulation has become an essential tool for many virtual environment applications, and the extensive use of high quality virtual crowds is crucial for many virtual environment applications in education, training, and entertainment [1]. Crowd simulation can be considered as a special case of Virtual Environments where the avatars are intelligent agents instead of user-driven entities. Each of these agentbased entities can have its own goals, knowledge and behavior [2].On the one hand, crowd simulations must focus on rendering visually plausible images of the environment, requiring a high computational cost. On the other hand, complex agents must have autonomous behaviors, greatly increasing the computational cost as well. The sum of these requirements results in a computational cost that exponentially increases with the numbers of agents in the system, requiring a scalable design that can support huge amounts of agents (of different orders of magnitude) by simply adding more hardware. Thus, some proposals tackle crowd simulations as a particle system with different levels of details (eg:impostors) in order to reduce the computational cost [3] due to the graphical quality. Also, several proposals have been made to provide efficient and autonomous behaviors to crowd simulations [4]. The current challenge for these applications is the design and development of a scalable system that is capable of simulating the individual behavior of millions of complex agents populating large scale virtual worlds with a good frame rate.