University Honours Project – Immersive human interaction between NPCs in games (WIP)
Most modern games use AI for NPC behavior, but existing solutions struggle with creating natural and immersive movement and actions. Large language models (LLMs) like ChatGPT help with dialogue but do not address this issue. Many approaches rely on domain expertise, making development time-consuming and complex (Qi Zhang et al., 2018). Reinforcement learning-based methods also face challenges, such as inconsistent similarity metrics across genres (Abdelhadi Fennan, 2024) and the ‘black box’ problem, where results are difficult to interpret.

My project aims to assist game developers and AI researchers, with potential applications in other fields requiring human-like interactions within Games.
Objectives Include:
● Develop a unity project by structuring and building around behaviour trees. This would include modular structures that can be recycled and used on any NPC and with any action that the NPC may take.
● Develop and research into genetic programming by making behaviour trees be able to perform crossovers and mutations so that my NPCs can evolve.
● Build a personality trait and relation system using some core fundamental human examples in the real world and relate them to my artefact.
● Optimise and think critically about the computational usage throughout my project to reduce the requirements needed to run many NPCs in a single game world.
● Study what makes or breaks immersion with NPCs within game worlds by applying real-life concepts for human interaction through media such as narrative story writing.

Metallurgist

Programmer for “Blacksmith Simulator” – A Crafting and Management Game
As the sole programmer on a team of six, I developed a blacksmith simulation game where players take on the role of a blacksmith. The gameplay revolves around gathering materials, crafting swords using a forge and anvil, and accurately fulfilling customer orders. We used Unity and C#, to implement core mechanics such as resource management, crafting systems, and customer request handling.
I also utilized GitHub for version control and team collaboration, ensuring seamless integration of assets and code. Collaborating with artists and designers, I contributed to creating an engaging and polished experience, demonstrating my ability to solve technical challenges and work effectively in a team environment.

Orbital Horizon

Orbital Horizon – Lead Programmer, Designer, and Artist (Indie Project)
Orbital Horizon is a personal project I am co-developing with a friend. The game centers around a character sent into space to farm, survive, and navigate complex space politics, forcing players to make impactful decisions about which factions to align with. Since its inception in early summer 2024, the project has been in active development, with plans for a full release on Steam in the future.
As the lead programmer, I implement core gameplay systems, mechanics, and functionality while also contributing to game design, creative direction, pixel art, and music composition to ensure a cohesive experience. Using Unity, C#, GitHub, Jira, Confluence, FL Studio, and Aseprite, this project highlights my versatility, ability to manage multiple roles, and passion for creating engaging and innovative games.

Cave Generation

Procedural Cave Generation Using 3D Perlin Noise – School Project
This Unity project, developed with a classmate, focused on creating Minecraft-like procedural cave generation within a 3D space. Using 3D Perlin noise for world generation and spatial quantization for efficient chunking, we implemented a system where the world is divided into chunks containing individual cells, enabling dynamic storage and rendering of terrain data.
Inspired by Minecraft, this project taught us advanced techniques like spatial quantization, which we applied to optimize performance and scalability. The project is platform-agnostic, with techniques adaptable to other methods like marching cubes. Tools used include Unity, C#, and GitHub for collaboration.


