
Year 3 AI Project
Project Introduction
Background
This project was a third-year university assignment in which we were tasked to produce a game level with an emphasis on creating sophisticated AI systems, learning about the underlying calculations and processes behind AI pathfinding, decision making, and interaction management. We could take two options for a core game idea; either a boss battle or a living environment, of which I chose the boss battle.
Inspiration
At the time I had a strong interest in games with a dystopian, post-apocalyptic, and supernatural/alien aesthetic. Games like S.T.A.L.K.E.R, Half-Life: Alyx, and Metro Exodus heavily influenced the visual and mechanical stylistic choices for the game and resulted in a game that had a very dark tone.

Development Process
Development started by implementing the pathfinding algorithms, behaviour trees for the boss, and the finite state machines for the sentry agents. I wanted there to be some form of a symbiotic relationship between the main boss agent and the sentry agents, so made it so that the boss could not see the player and the sentries could not hear the player, but the boss could hear things in the scene with high sensitivity and the sentries would see of the player and when doing so they would emit loud screaming noises to alert the boss.
​
This relationship between the boss and sentries made the game itself quite challenging as it would be extremely difficult to destroy the boss without attracting attention; however, it was also necessary to try and avoid the sentries' lines of sight, which could push a balance between run-and-gun and stealth.


For this project, I wanted to take the approach of developing as many different components of the game to be modular and more tool oriented, so that they could potentially be dropped into different projects quickly and be used without needing to have a deeper understanding of the code behind the features. Overall this went down really well with aspects like the behaviour tree, as I could quickly modify the boss' behaviour without having to go into the code and could instead rearrange customized nodes and specify parameters to change the specifics of the operation. This is just one example of this process of developing tools for Unity to make my development more designer-friendly. I also took this process to the pathfinding systems.
​
If I could develop this project further I would love to continue learning about making more tools for unity, I think that it would have been great if I could have made a more visual-based tool for designing and constructing the behaviour trees, where you might have been able to use a visual node system. Definitely food for thought and an interesting area of research for my future development skills growth.
Project Summary
Pros:
-
Developing the game was a great learning experience
-
Building tools for game engines is awesome
-
Made components for the game as modular as possible
-
The game ended up with a strong visual style and stood out from the rest of my projects
Things learned for next time:
-
Try to make the user interaction a bit more intuitive so usable items like the Health/Psych stims
-
Add more visual flair and polish to the player controller
-
Keep earning about tool making in different game engines and make more intuitive development tools




Links to game
Link to Itch.io game page: https://james7421.itch.io/project-luna