(Click the photos for more information)

Riscord - Rad Sheep Studios

Riscord is an episodic multipath linear serious text-adventure game set inside of the Riscord Messaging Client between the summer of 2016 - 2018. You will explore relationships with multiple college / sixth form students attending Bristham College such as Lizzy Henderson and many more.


Graphics Programming

I Implemented a real time 3D virtual environment. With three customizable Light Sources (Directional, Point & Spot), Shadow Mapping, Animation using a Geometry Shader and Tessellation to create Level of Detail.



Mirrorchrome was a second year group project I took part in to develop an experimental game. Mirrorchrome is a puzzle platformer where the player must go into a reflection dimension where everything is flipped to complete the level. I also developed a completely new "Refraction" mechanic where the player splits in two and has to control two players at the same time to complete the levels.


Boids AI Development

For this project, I created a 3D Boid Simulation using steering and flocking behaviour AI in C++ using OpenGL. The boids are driven by three dimensional steering behaviours which are then used to show flocking and avoidance behaviours.


Audio Programming

I had to choose one from a few premade game projects in unreal engine 4 and implement my own audio using the Digital Audio Workstation Reaper and the FMOD API to implement the audio in engine.


Procedural Generated Terrain 

This assignment was to create a video tutorial covering a topic within Unity, I chose to procedurally generate endless terrain and build a character controller which the map moves around.


Raycaster Framework

I built this framework for an assignment during my first year. Using just C++ it takes advantage of the older style raycasting 3D style games such as Doom64 or Wolfenstein3D. Covered within the framework is the math used to create a 3D world from a 2D array, the maths to then texture the world and implementing a moving character which takes input from mouse and keyboard.

Raycaster Framework.JPG

Tile Editor (.NET Development)

Using .NET, XAML and C# I created a windows application which allowed the user to develop 2D levels using a tile sheet and save these levels within a json save file. The application would then also read in save files and display those into the grid for editing or displaying.

tile editor.JPG

Shake, Strain & Serve

For assignment we had to develop an indie game, so I decided to create a mobile cocktail bartending game which uses the gyroscope and accelerometer of a phone to pour and shake cocktails. This game as well as being fun, could also be a serious training simulator which uses realistic timings for free-pouring and shaking drinks.

Mo8w2l (1).jpg

Tank AI

This project was to create two different tank AIs using multiple types of AI. I created a Behaviour Tree and an advanced Finite State Machine which battle each other. Both agents utilise sensors such as vision cones and raytracing and exhibit player-like behaviour such as dodging, chasing, fleeing, and attacking.


Contractor Work

For this assignment, I had to work for a level six team working on their Advanced Group Project. The team I worked for was developing a First Person Shooter taking influence from Doom Eternal. I spent my time working for this group creating the whole Weapon System and also a fire elemental AI using a Behaviour Tree.


Hyper-Casual Mobile Games

With this assignment, I had to create 5 different hyper-casual games which target the mobile development platforms.


OpenGL multiplatform Rendering Framwork

This framework has been built using C++ and making use of OpenGL's API to render OBJ and MD2 Models. This has been developed and built for Nintendo Switch and Windows.

OpenGL framework.JPG


Battle-Side is a 2D multiplayer game which I took part in developing during my first year of my degree. The game idea is based around creating a casual party game and to assume it has a PEGI rating of 7 or 12. We decided on a 2D platform shooter where screen peaking (an often hated mechanic of local multiplayer) is needed.


9 Hole Golf (Mobile Game)

This game was built within Unity using C# and developed for the Android mobile platform. This was my second semester assignment for Games Engine Scripting, which included a drag and shoot golf mechanic to complete courses with as little shots as possible. Included within this project were multiple game levels with different difficulty, an account manager (with saving system), a store with microtransactions, a player levelling system and control of different game settings.

Mountain Course.JPG