{"id":{"repo_id":"regina","oai_identifier":"oai:uregina.scholaris.ca:10294/7884"},"canonical_url":"https://search.dev.ndltd.org/etd/regina/oai:uregina.scholaris.ca:10294/7884","repository":{"repo_id":"regina","name":"University of Regina","base_url":"https://uregina.scholaris.ca/server/oai/request"},"display":{"title":"Modelling Artificial Intelligence in Games Using MindSet Behavior Trees","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.","abstract_html":"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.","abstract_has_math":false,"creators":["Marcotte, Ryan Keith"],"institution":"Faculty of Graduate Studies and Research, University of Regina","degree_name":"Master of Science (MSc)","degree_level":"Master&apos;s","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":[],"advisors":["Hamilton, Howard J."],"committee_chairs":[],"committee_members":["Mouhoub, Malek","Yang, Xue Dong","Dale, Janis"],"year":2017,"date_issued":"2017-05","date_published":"2017-05","updated_at":"2026-07-24T04:03:49Z","subjects":[],"languages":["en"],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier.doi","label":"DOI","values":["https://doi.org/10.82465/4973"],"render_values":[{"text":"https://doi.org/10.82465/4973","href":"https://doi.org/10.82465/4973","code":true}]}]},"links":{"outbound_url":"https://hdl.handle.net/10294/7884","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Hamilton, Howard J."]},{"key":"dc:contributor.committeemember","label":"Committee Member","values":["Mouhoub, Malek","Yang, Xue Dong","Dale, Janis"]},{"key":"dc:creator","label":"Author","values":["Marcotte, Ryan Keith"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2017-12-06T20:42:02Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2017-12-06T20:42:02Z"]},{"key":"dc:date.issued","label":"Date","values":["2017-05"]},{"key":"dc:publisher","label":"Institution","values":["Faculty of Graduate Studies and Research, University of Regina"]},{"key":"dc:type","label":"Dc Type","values":["master thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Master&apos;s"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Master of Science (MSc)"]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["Faculty of Graduate Studies and Research, University of Regina"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["en"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.doi","label":"DOI","values":["https://doi.org/10.82465/4973"]},{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/10294/7884"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["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."]},{"key":"dc:description.abstract","label":"Abstract","values":["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."]},{"key":"dc:title","label":"Title","values":["Modelling Artificial Intelligence in Games Using MindSet Behavior Trees"]}]}],"canonical_facts":{"dc:contributor.advisor":["Hamilton, Howard J."],"dc:contributor.committeemember":["Mouhoub, Malek","Yang, Xue Dong","Dale, Janis"],"dc:creator":["Marcotte, Ryan Keith"],"dc:date.accessioned":["2017-12-06T20:42:02Z"],"dc:date.available":["2017-12-06T20:42:02Z"],"dc:date.issued":["2017-05"],"dc: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."],"dc:description.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."],"dc:identifier.doi":["https://doi.org/10.82465/4973"],"dc:identifier.uri":["https://hdl.handle.net/10294/7884"],"dc:language.iso":["en"],"dc:publisher":["Faculty of Graduate Studies and Research, University of Regina"],"dc:title":["Modelling Artificial Intelligence in Games Using MindSet Behavior Trees"],"dc:type":["master thesis"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Master&apos;s"],"thesis:degree_name":["Master of Science (MSc)"],"thesis:institution_name":["Faculty of Graduate Studies and Research, University of Regina"]},"updated_at":"2026-07-24T04:03:49Z"}