top of page

Planet Mush boasts a cute aesthetic and calming gameplay focused around collecting mushrooms from different environments on a planet in outer space and planting them on the homestead’s farm to create ‘Shroom Brew,’ which the player can sell to Earth to gain in-game currency. By defending their farm from monsters and selling their brew, the player can upgrade their tools and farming equipment to create higher quality brew.

Lead Programmer

My Contributions

  • Inventory systems

  • Crafting system

  • Farm gameplay

  • Day and night cycles

  • Enemy state machine AI

  • Combat

  • Save/load system

  • Mission/quest system

  • tutorial design

  • Shaders


Team Lead / Lead Programmer

MIRROR CHROME is a short platform - puzzle game where the player controls a small robot that can flip between the platforms and their reflection. The player must use this ability solve puzzles and progress to each stages exit.

My Contributions

  • 2D Character controller

  • Mechanic programming

  • save/load system

  • Organising team with regular meetings


Contract Gameplay Programmer

Based on the traditional fairytale of ‘Hansel and Gretel’, you as the player will step in the shoes as one of the children. Escaping the clutches of the witch is not as easy as once thought. You must complete a series of puzzles presented within the Witches house, in completing each one, an element towards breaking the spell on the house is unlocked. But beware, whilst trying to escape, the Witch is hunting you down.



Monkey Madness is 2-4 player competitive party game where each player must collect as many bananas as possible while balancing on an unstable platform suspended above a volcano.

I was the only programmer on the team for Monkey madness and ended up producing the majority of the content in the game.

OpenGL Scene rendering with shaders

Low level programming and graphics programming modules

Using OpenGL and GLFW library I built a basic obj. model loader. Alongside that I also built a scene that supports multiple lights and various different shaders.

  • Fragment and Vertex shaders

  • Tessellation Shaders

  • Render Targets and offscreen buffers

    • Shadows​

    • reflections

  • Lighting

  • Geometry Shaders

  • Model Loading

AI Tank Behaviours

Artificial intelligence in games module

For this university assignment I took the tanks unity example project; removed player control and made it so that teams of tanks fought each other using various types of AI behaviour systems. This involved writing systems for behaviour trees, state machines and goal/utility approaches to AI in games.

Entity Component System with boids simulation

High level programming module

For this Assignment I built an entity component framework from scratch in C++. This framework was then used to create a boids simulation.

Network Programming

Network programming module

Using the Raknet library in C++ I programmed a very simple bomber man clone that uses client/server networking for multiplayer.

  • Client/Server Networking

  • User logins

  • Packet authentication

ASCII Lunar Lander

Games Programming and Mathematics module

An ASCII console terminal version of Lunar Lander I wrote in my first year of university. This version features procedurally generated terrain and landing positions alongside High scores.

Vertical Scrolling Shooter

Games Programming and Mathematics module

A vertically scrolling arcade space shooter written in C++ with the OLC: pixel game engine 1.0. making use of a custom maths library for sprite transformations and collisions.

bottom of page