ABSTRACT

Collision avoidance for NPCs is a critical component of any character locomotion system. This chapter presents the collision avoidance approach used in Hitman: Absolution (HMA) and discuss how this system can be adapted for use with any preplanned locomotion system. The key difference, at least with regards to collision avoidance, is due to the path-following behavior in the locomotion system. Avoidance system consists of three distinct stages: collision detection, trivial collision resolution, and nontrivial collision resolution. Avoidance system is run once per agent per frame, and each agent is checked for a collision with every other agent in the scene sequentially. The result of this collision check is either a speed modification/stop order or a request for path replanning. During the frame update of each agent’s animation/locomotion programs, the agent will query the avoidance system to see whether its current path is collision-free.