I am a enthusiastic, proactive and positive team player with a keen interest in games development. I am currently in my second year of studying Computer Games Development. I have a particular interest in gameplay mechanics, and often find myself detailing the algorithms for character abilities in multiplayer games.
Fantasy Farming
Sim
Unity-based Project
A retired wizard takes a step back from the stressful life of adventure, to settle down on their 'ordinary' farm. However, the knowledge and power they gained over the years makes the experience anything but ordinary.
A project made with the intent of learning the Unity game engine and sharpening my C# programming skills.


Procedural Gun Generator
FPS-Style Gun Behaviour
Three Statistic Generation Methods
Random Stats
Distributed Stats
Point-Based Distribution
Modular-Based Model Generation
Procedural Camouflage Patterns
Rarity system based on the calculated effectiveness of the gun.
Floor spawning capabilities similar to battle royale and looter shooter games.
This project has been my most challenging one yet, as it focused on the difficult subject of procedural content generation and its application and viability in competitive shooter games.
Abysmal Aquatics
Management Tycoon Game
Abysmal Aquatics is a management tycoon game in which the player runs an aquarium shop selling livestock and hardware to customers that visit the shop. I made this game as a vertical slice, with a deeper dive into game mechanics and AI, using Unreal Engine 4 and C++ API.
The player purchases objects to sell in the shop, some are sold to customers directly and others hold stock of an item that needs to be restocked as customers purchase from it. These objects can be placed in a grid, allowing the player to define a unique layout for the shop.
Customers will visit the shop and use an A* Pathfinding algorithm to find a route to their desired product.
I created the models for the placeable objects
using Blender. The models were designed with a simplistic, low-poly design in mind.
The game also contains ambient music, a resource management system and objectives.


Hunted
A 2D Top-Down Shooter
I worked in a group of 4 to create this game, we did so in Visual Studio using C++ and SFML.
The aim of the game is to defeat the boss in each level, to proceed to the next. The player earns points based on enemies killed, coins collected and completion time.
The areas I was responsible for include:
UI (including HUD, Menus and game-over screens)
Scoring System
Lives and Health
Collectibles and Currency
Game Win-Lose States
VR Mindfulness Experience
Mindfulness exercises based in virtual reality to help with mental illnesses
As part of a group of 3, I developed a VR experience that explores mindfulness in an attempt to aid mental illnesses such as depression and anxiety. This was developed for smartphones using Unreal Engine 4.
I was responsible for the gameplay mechanics of this project. I faced the usual virtual reality challenges such as the interaction patterns used, but also an increased challenge in developing for smartphones. The most prominent challenge being a solution to movement without the use of controller inputs.


Quave
A Platforming Game with RPG Elements
Quave was developed using C++ and a custom game engine. My role, in a group of 5, was to develop the hub world.
This included:
Designing the Hub World and Building Interiors
Creating Tile Sheets
Camera Functionality
NPC Interaction
Story & Level Progression
Game State Handling
Easter Eggs and Interactables
Arena Dodgeball
A 1-on-1, Arena-Shooter-style Dodgeball game
An AI and Physics focused project, in which the player is pit against an opposing AI in a game of dodgeball. The game consists of fast-paced rounds, both teams spawning at opposite ends of a gymnasium-themed arena and racing for the two dogeballs at the centre of the room.
The velocity at which the balls are thrown is determined by the velocity of the ball when it was caught, making the rounds more intense as they go on and the match more competitive as a whole.

Procedural Terrain Generation
Procedurally Generated Terrain using Heightmaps
Terrain Mesh generated using a heightmap
Materials assigned based on altitude and angle of terrain, to create grass, soil, rock and snow terrain.
Tiled materials overlaid with noise to avoid repeating patterns.
Trees spawned in varying altitudes and densities using Procedural Foliage Volume.
Additional Features:
Snow Particle Effects
Moving Water Materials
Procedurally Generated Deformed Sphere Mesh

