Hunter

Hunter is a short game where the player hunts AI controlled animals over three rounds. The game was produced as an artefact for research project. The title of the research project is “Evaluation of Artificial Intelligence Techniques for Performance and Immersion.”.

Project Type: Research Thesis Artefact.

Game Engine: Unity

Programming Language: C#

Group/Solo: Solo

This project was the artefact to my final year research thesis where I set out to evaluate different artificial intelligence techniques for performance and immersion. The different techniques I looked into where: State Machine, Behaviour Tree and Machine Learning.

Each round of the game implemented a different technique for programming the animal’s behaviours. Other than the AI technique changing everything else stayed the same to ensure the environment or any other changes did not effect the results.

In Hunter the player has a bow and arrows and explores a wooded area hunting for prey. The player is able to charge the bow to increase the power of the shot, this is presented to the player is the form of a charge bar on the HUD as well as a short animation for the arrow.

To evaluate immersion I used the Game Engagement Questionnaire developed by IJsselsteijn, W.A., de Kort, Y.A.W. and Poels, K. (2016).

This project makes use of various Unity tools such as the NavMesh system for controlling the player and the animals’ movement. The survey use Unity’s Analytics to gather the data from the players, this was useful for conducting research during the Covid lockdown. Unity’s built in profiler was also used to measure the performance of each technique. 

For this project I modeled and animated the rabbit and fox and sourced the rest of the assets. To develop the environment I wrote a  script to take an array of the different trees and rocks assets and place them randomly on the terrain.

Features:

  • Behavior Tree
  • State Machine
  • Machine Learning
  • Unity NavMesh System
  • Unity Editor Script
  • Unity Analytics

Self Reflect: This project taught me a lot as it was my first time working with Machine Learning and although I was successful on producing effective agents there is definite room for improvement when it comes to the performance of the  implementation. Was good fun and defiantly wanting to do something with Machine Learning agents again.

Feel free to give it a go

Download available through Itch.io

Want to See behind the Scenes?

Source code available through GitHub.