Implementation of Generic Steering Algorithms for AI Agents in Computer Games

  • Mateusz Modrzejewski
  • Przemysław Rokita
Part of the Studies in Big Data book series (SBD, volume 40)


This paper proposes a set of generic steering algorithms for autonomous AI agents along with the structure of the implementation of a movement layer designed to work with said algorithms. The algorithms are meant for further use in computer animation in computer games - they provide a smooth and realistic base for the animation of the agent’s movement and are designed to work with any graphic environment and physics engine, thus providing a solid, versatile layer of logic for computer game AI engines. Basic algorithms (called steering behaviors) based on dynamics have been thoroughly described, as well as some methods of combining the behaviors into more complex ones. Applications of the algorithms are demonstrated along with possible problems in their usage and the solutions to said problems. The paper also presents results of studies upon the behaviors within a closed, single-layered AI module consisting only out of a movement layer, thus removing the bias inflicted by pathfinding and decision making.


Computer games Artificial intelligence Agent systems Steering Movement algorithms AI agents Generic AI 


  1. 1.
    Millington, I., Funge, J.: Artificial Intelligence For Games, 2nd edn. Morgan Kaufmann Publishers, Massachusetts (2009)Google Scholar
  2. 2.
    Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 2nd edn. Prentice Hall, Upper Saddle River, NJ (2003)Google Scholar
  3. 3.
    Rabin, S.: AI Game Programing Wisdom. Charles River Media, Inc (2002)Google Scholar
  4. 4.
    Bourg, D.: AI for Game Developers. O’Reilly & Associates, Sebastopol (2004)Google Scholar
  5. 5.
    Patel, U.K., Patel, P., Hexmoor, H., Carver, N.: Improving behavior of computer game bots using fictitious play. Int. J. Autom. Comput. 9(2) (2012)Google Scholar
  6. 6.
    Wagner, F.: Modeling Software with Finite State Machines: A Practical Approach. Auerbach Publications (2006)Google Scholar
  7. 7.
    Michele, C., Petter, g.: How behavior trees modularize hybrid control systems and generalize sequential behavior compositions, the subsumption architecture, and decision trees. In: IEEE Transactions on Robotics, vol. 33, pp. 99 (2016)Google Scholar
  8. 8.
    Schultz, C.P., Bryant, R., Langdell, T.: Game Testing All In One, Course Technology (2005)Google Scholar
  9. 9.
    Reynolds, C.W.: Flocks, herds, and schools: a distributed behavioral model. In: SIGGRAPH ’87 Conference Proceedings (1987)Google Scholar
  10. 10.
    Reynolds, C.W. (1999) Steering Behaviors For Autonomous Characters (1999)Google Scholar
  11. 11.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995). ISBN 0-201-63361-2Google Scholar
  12. 12.
    Cohen, J.D., Lin, M.C., Manocha, D., Ponamgi, M.K.: COLLIDE: an interactive and exact collision detection system for large scale environments. In: Proceedings of the 1995 Symposium on Interactive 3D Graphics (Monterey, CA) (1995)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Division of Computer Graphics, Institute of Computer Science, The Faculty of Electronics and Information TechnologyWarsaw University of TechnologyWarsawPoland

Personalised recommendations