PROJECTS
LIBERATION OF MT.IRONHOLD
My MSc Final Project. A multiplayer, cross-reality (XR) game made in the Unreal Engine coded in C++, with asynchronous gameplay styles that combines both Virtual Reality (VR) and Augmented Reality (AR). One player (AR) plays as a Dark Wizard with a top down view of his domain, Mt. Ironhold, having the ability to manipulate the enviroment, spawn in obstacles, blocking certain exits, creating a play experience with an emphasis on strategy to thwart the efforts of the other player from freeing the mountain from the Wizard's control. The Dwarf Player (VR). is fully immersed in VR traversing through a mysterious environment using different powerups to give them advantages over the many hurdles they will face on their journey.

Key Game Development Concepts used:
Entity Pools, for Object Spawning and Lifetime management
Commands, to handle network synchronicity
Custom UDP Networking Solution, for mutliplayer capabilities
Subject/Observer Pattern, for UI interaction
• Use of Oculus VR and Google ARCore Plugins

Platforms:
Meta Quest 2
Android Mobile Devices

Please see Game Design Document linked below for more details.
ADVANCED GAME DEVELOPMENT PROJECT
An MSc Group Project, working in a team of 3. A small demo game written in C++. This game was created to showcase many of the advanced games development concepts we had learnt with our module, in the game you play as a dwarf that must collect potions to restore health and chop wood to be added into their inventory. Once enough wood was acquired they would be able to shoot fireballs.

Key Game Development Concepts used:

Entity Component System, to handle logic with each entity type holding a bitmask of each component they held. Combinations of these components were required to make use of different systems.

Command Pattern, commands were queued up for the different input types, abstracting logic from the player class.

Big Array, this was used to iterate through all of the systems currently in the game and check all of the active entities component bitmask, if they have the corresponding components to the system it will then run the update function within that system on that entity..

Subject/Observer Pattern, handles achievements, subjects pointers are held within relevant classes and hold a pointer themselves to an observer, these are notified when a specific requirement has been achieved, this will then unlock the corresponding achievement.

Object Pool, created all the necessary entities of each type at the beginning of the game, retrieving entities from the pool when needed and returning them once they were not. used instead of spawning and destroying entities to save on memory.

Platforms:
PC
Unfortunately due to the reuse of the assignment by the University, the GitHub Repository for this project is unavailable, for code explanations see video above.
TREASURE SEA-KER
An MSc Group Project, working in a team of 4. A First Person Platformer A linear platforming game made in the Unity Game Engine coded in C#, set in an underwater world, players will explore the environment feeling a sense of discovery as they traverse the created landscape, finding hidden collectibles as they search to locate lost treasures that have sunk to the sea floor, hopefully seeking to feel a sense of reward. However that reward will not come without challenge, difficult platforming sections will be laid out for them, including several different types of platform and enemy.

Features worked on:
Character Movement, Harpoon Gun, Combat
Inventory System
Level Platforming Layout
UI and Menus
Entire Tutorial Level

Platforms:
PC, available in itch.io link below.
CARPG PROJECT
A BSc Group Project, working in a team of 2. A small scale RPG within the Unity Game Engine via the use of Object Oriented Programming, written in C#, containing player movement; inventory management, player profiles and updating saves to a database via SQL, racing mini game.

Features worked on:
Car Movement
Inventory System
NPCs including enemy cars
Saving and Loading saves within SQL Database
UI and Menus
Racing Mechanics

Platforms:
PC

Quick Links