Modeling realistic human behavior, including decision-making and creativity, is the hardest and most complex challenge in combat simulation. Behavior trees (BTs) are a relatively new and increasingly popular approach for developing behavior models for artificial intelligence (AI) and intelligent agents. The approach has become especially popular for creating behaviors for non-player characters (NPCs) in computer games, robots, and autonomous vehicles. The first high-profile computer game that used BTs was Halo 2 from Bungie Software, which was released in 2004.
BTs are represented as directed trees with a hierarchy of control flow nodes and task nodes that control the behavior of an agent. The control flow nodes are interior nodes and contain decision logic for flow control. The task nodes are leaf nodes and contain conditional tasks that test some property in the simulated environment (or the real world in case of robots and autonomous vehicles) or action tasks that alter the state of the simulation (or the real world) in some way.
What makes BTs so powerful is their composability and modularity. Task nodes and control flow nodes are composed into sub-trees that represent more complex actions, and these actions can be composed into higher level behaviors. Task nodes and action sub-trees can be reused, and different sub-trees can be developed independently of each other.
In this paper we will give an introduction to BTs based on available literature and discuss the possibilities and limitations of employing this modeling technique for creating behavior models for computer-generated forces (CGF) in combat simulations. Furthermore, we will give a concrete example of how to create a BT from a textual description of a battle drill (from a field manual), and provide tips and tricks on how to create BTs in general. Finally, we will summarize our experiences from working with BTs.
Modeling Battle Drills for Computer-Generated Forces using Behavior Trees
2 Views