Modelling Artificial Intelligence in Games Using MindSet Behavior Trees

Date
2017-05
Authors
Marcotte, Ryan Keith
Journal Title
Journal ISSN
Volume Title
Publisher
Faculty of Graduate Studies and Research, University of Regina
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.

Description
A Thesis Submitted to the Faculty of Graduate Studies and Research In Partial Fulfillment of the Requirements for the Degree of Master of Science in Computer Science, University of Regina. xi, 140 p.
Keywords
Citation
Collections