My dissertation was focused around the researching and evaluation of the decision-making algorithms of AI agents.
An artefact was created along side the paper to aid the research which was created in Unreal Engine 5 and tested behaviour trees as the algorithm of choice due to its popularity and ease of use.
Behaviour Trees work by having a structure that manages transitions between actions that must be completed by the AI agent.
The behaviour aspect represents the actions executed by the AI agent, and the tree is how the structure is typically explained by.
Consenting volunteers would be allowed to interact with the AI agent and after, they would give feedback via a questionnaire.
Topics Covered:
- AI Believability in Games
- Finite State Machines
- Fuzzy Logic
- Scripted AI
- Behaviour Trees
- Movement, Avoidance, Routing, Planning & Orders (MARPO)
- Influence Maps
- Director AI
- Utility Theory
- Goal Oriented Action Planning (GOAP)
Post Submission Improvements
After the conclusion of the investigation, I mentioned some improvements I wished to implement,
which was to change the method of AI control demonstrated in the artefact and to reduce the artefacts reliance on Unreal's blueprint system.
To implement the changes I had to rewrite a lot of the code and even removed its reliance on the built-in behaviour tree system. In the new version I was able to demonstrate MARPO, a form of AI control that allows for long term tasks to be completed
while still being able to react to changes on demand. It works by utilising 3 queues with differing levels of priority, and tasks that must be completed are popped into the queue.
Should the AI agent be completing a task from the queue with the lowest priority, and suddenly a task is popped into the queue with the highest,
the AI agent will temporarily stop completing the current task to pursue the new task within the higher priority queue.