Modelling Artificial Intelligence in Games Using MindSet Behavior Trees
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Behavior trees are a popular way of structuring artificial intelligence in games and other virtual reality applications. A behavior tree is a model of plan execution and is graphically represented as a tree. Nodes in a behavior tree either encapsulate actions to be performed or act as control flow components that direct traversal over the tree. The popularity of behavior trees stems from their maintainability, scalability, reusability, and extensibility. However, constructing behavior trees only using a programming language is difficult because the behavior tree cannot be easily visualized. We introduce MindSet, a new architecture for constructing behavior trees. Accompanying the MindSet architecture is the MindSet Editor software and its corresponding MindSet application programming interface (API). MindSet Editor is designed for creating and modifying behavior trees using a graphical interface. The MindSet API is for marking code that can be imported into MindSet Editor. Using the API, users can define AI methods and their own custom behavior tree extensions. We demonstrate MindSet’s usage for modelling the behavior of game entities controlled by AI in three simple game applications. With MindSet, programmers can develop AI code quickly and efficiently for any system requiring behavior control. We also show how utility-based prioritization behaviors can be incorporated into the base behavior tree architecture to build more dynamic behaviors.