BehaveRT: A GPU-Based Library for Autonomous Characters

  • Ugo Erra
  • Bernardino Frola
  • Vittorio Scarano
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6459)


In this work, we present a GPU-based library, called BehaveRT, for the definition, real-time simulation, and visualization of large communities of individuals. We implemented a modular flexible and extensible architecture based on a plug-in infrastructure that enables the creation of a behavior engine system core. We used Compute Unified Device Architecture to perform parallel programming and specific memory optimization techniques to exploit the computational power of commodity graphics hardware, enabling developers to focus on the design and implementation of behavioral models. This paper illustrates the architecture of BehaveRT, the core plug-ins, and some case studies. In particular, we show two high-level behavioral models, picture and shape flocking, that generate images and shapes in 3D space by coordinating the positions and color-coding of individuals. We, then, present an environment discretization case study of the interaction of a community with generic virtual scenes such as irregular terrains and buildings.


Target Position Target Color Steering Behavior Crowd Simulation Massive Simulation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Azahar, M.A., Sunar, M.S., Daman, D., Bade, A.: Survey on real-time crowds simulation. In: Pan, Z., Zhang, X., El Rhalibi, A., Woo, W., Li, Y. (eds.) EDUTAINMENT 2008. LNCS, vol. 5093, pp. 573–580. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  2. 2.
    Bleiweiss, A.: Scalable multi agent simulation on the gpu. In: GPU Technology Conference (2009)Google Scholar
  3. 3.
    Courty, N., Musse, S.R.: Simulation of large crowds in emergency situations including gaseous phenomena. In: Proceedings of the Computer Graphics International 2005, CGI 2005, Washington, DC, USA, pp. 206–212. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  4. 4.
    Erra, U., Frola, B., Scarano, V.: A GPU-based method for massive simulation of distributed behavioral models with CUDA. In: Proceedings of the 22nd Annual Conference on Computer Animation and Social Agents (CASA 2009), Amsterdam, the Netherlands (2009)Google Scholar
  5. 5.
    Erra, U., Frola, B., Scarano, V., Couzin, I.: An efficient GPU implementation for large scale individual-based simulation of collective behavior. In: International Workshop on High Performance Computational Systems Biology, pp. 51–58 (2009)Google Scholar
  6. 6.
    Havok. Havok physics,
  7. 7.
    Junker, G.: Pro OGRE 3D Programming (Pro). Apress, Berkely (2006)Google Scholar
  8. 8.
    Loscos, C., Marchal, D., Meyer, A.: Intuitive crowd behaviour in dense urban environments using local laws. In: Proceedings of the Theory and Practice of Computer Graphics 2003, TPCG 2003, Washington, DC, USA, p. 122. IEEE Computer Society, Los Alamitos (2003)CrossRefGoogle Scholar
  9. 9.
    Maim, J., Yersin, B., Pettre, J., Thalmann, D.: Yaq: An architecture for real-time navigation and rendering of varied crowds. IEEE Computer Graphics and Applications 29(4), 44–53 (2009)CrossRefGoogle Scholar
  10. 10.
    Pettre, J., Laumond, J.-P., Thalmann, D.: A navigation graph for real-time crowd animation on multilayered and uneven. In: First Int’l Workshop Crowd Simulation (2005)Google Scholar
  11. 11.
  12. 12.
    Reynolds, C.: Steering behaviors for autonomous characters (1999)Google Scholar
  13. 13.
    Reynolds, C.: Opensteer - steering behaviors for autonomous characters (2004),
  14. 14.
    Richmond, P., Coakley, S., Romano, D.M.: A high performance agent based modelling framework on graphics card hardware with cuda. In: Proceedings of the 8th International Conference on Autonomous Agents and Multiagent Systems, Richland, SC, International Foundation for Autonomous Agents and Multiagent Systems, AAMAS 2009, pp. 1125–1126 (2009)Google Scholar
  15. 15.
    Ryoo, S., Rodrigues, C.I., Baghsorkhi, S.S., Stone, S.S., Kirk, D.B., Hwu, W.-m.W.: Optimization principles and application performance evaluation of a multithreaded GPU using CUDA. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2008, pp. 73–82. ACM, New York (2008)Google Scholar
  16. 16.
    Shopf, J., Oat, C., Barczak, J.: GPU Crowd Simulation. In: ACM SIGGRAPH Conf. Exhib. Asia (2008)Google Scholar
  17. 17.
    Singh, S., Kapadia, M., Faloutsos, P., Reinman, G.: An open framework for developing, evaluating, and sharing steering algorithms. In: Egges, A. (ed.) MIG 2009. LNCS, vol. 5884, pp. 158–169. Springer, Heidelberg (2009)Google Scholar
  18. 18.
    Smaragdakis, Y., Batory, D.S.: Mixin-based programming in c++. In: Butler, G., Jarzabek, S. (eds.) GCSE 2000. LNCS, vol. 2177, pp. 163–177. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  19. 19.
    Sung, M., Gleicher, M., Chenney, S.: Scalable behaviors for crowd simulation. Comput. Graph. Forum 23(3), 519–528 (2004)CrossRefGoogle Scholar
  20. 20.
    Taaffe, K., Johnson, M., Steinmann, D.: Improving hospital evacuation planning using simulation. In: Proceedings of the 38th Conference on Winter Simulation, WSC 2006, pp. 509–515 (2006)Google Scholar
  21. 21.
    Thalmann, D., Musse, S.R.: Crowd Simulation. Springer-Verlag New York, Inc., Secaucus (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Ugo Erra
    • 1
  • Bernardino Frola
    • 2
  • Vittorio Scarano
    • 2
  1. 1.Università della BasilicataPotenzaItaly
  2. 2.Università di SalernoSalernoItaly

Personalised recommendations