top of page

Ultimate PC Challenge [Unity, C#]

Ultimate PC Challenge is a puzzle and problem solving game based on a simulation of a Windows desktop. Think outside the box and use different hints and tricks to progress through multiple levels, all while the narrator makes remarks and you are pressured with a Windows update!

  • 12 Levels to complete

  • 7 Secret flags to find

  • About 10 - 20 minute playthrough

  • Easy & hard mode versions

  • Progress is saved locally

Play online at Source available on GitHub.

Langton's Ant Simulation & Procedural Art Generator

Langton's Ant simulation & procedural art generator Using the base principle and rules of Langton's Ant, this program can generate amazing patterns that seem extremely chaotic. Many parameters are exposed to allow tweaking and generation of different images. Check out the gallery below to see what is possible!


  • Langton's Ant simulation on full screen adjustable size grid

  • WASD / Arrow key camera panning

  • Mouse wheel camera zooming 

  • ImGui UI for easy adjustment of simulation parameters 

  • Square mode, hexagon mode & pixel mode (each pixel is a single grid element) 

  • Many, many options for adjusting visualisation (blending, interpolation, colour control, grid lock etc.) 

  • Full random generation button

Source available on GitHub.

Rock Climbing Training Board [C#, .NET]

GUI and interface for storing records for my rock climbing hang / finger board.

C# GUI using .NET

  • Visual interface

  • Stores records with UI to modify, browse, filter etc.

  • Visual board with highlighting, selection and searching

  • Training system with routines

  • Sound system for assiting with training (count in, reads on the next exercise etc).

Source available on GitHub.

Efficient Modern ECS 2D Engine - Pentago demo

Efficient, cache friendly entity component system based game engine. Built using SFML in C++.

Engine demonstrated with the implementation of the 2D board game "Pentago".

There is also a spacial hash map demo which shows off the efficient computation of several thousand objects on screen at once.

Key features:

  • Extremely cache efficient entity component system

  • Excellent 2D game development support

  • Clean, handle based memory access for components and objects

  • Scene manager system

  • Custom math library for advanced algorithms (collisions, utility, random numbers etc.)

  • Efficient spacial hash map and quad tree implementations

See my blog post for further information regarding the Entity Component System. 

Source available on GitHub.

Swarm [UE4 & C++]

This is my final year University project. This project lasted 16 weeks and was worked on with a team of three programmers and three artists. My involvement included project manager and lead programmer. I worked on the core game design and as well as many systesm includling: monster wave system, AI, shops, combat system, gibs, particle effects, the radar, networking and more. We presented Swarm at our final exhibition day at Media Design School and received excellent feedback. 


"Swarm is a third person, wave-based survival shooting game. Supporting local co-op from 2-6 players, you will fight against endless onslaughts of vicious creatures! Protect your life support, provide power to defenses and vendors in order to survive in this amazing sci-fi experience!"

Cloth Physics Simulation [C++]

This is a cloth physics simulation I made in 2014 for Media Design School. The simulation was created with C++, DX10 rendering and verlet integration. The (physics) paper taught us techniques for real time physics calculations, Box2D, 2D / 3D collisions, spring systems and more. This particular project was to create a fully modifiable 3D cloth with realistic physics, collisions with several different objects (sphere, capsule, pyramid, floor), fan & wind system, cloth burning and cloth ripping. The project is rendered with simple wireframe / lines for easier visualisation.

Source available on Github.

Multiplayer Snake [C++, RakNet]

This game was developed for a networking paper during my Software Engineering degree. The game features core gameplay of the classic game "Snake". Players move around with arrow keys trying to avoid each other and gather food to gain score. Eating food makes the players snake longer making it more difficult. The last person alive wins! 


The game features up to 16 person networked gameplay (local) with a hosting, lobby system and a server browser. The networking was programmed using RakNet and was my first experience with programming a game with networking. Prior to this, the only networking I had faced was creating a simple chat program for the same paper. 

Source available on Github.

Typing Language Game (prototype) [C++, DirectX 10]

This game was a short prototype I created with a small team over 2 weeks. The brief asked us to create a prototype of a game that could be used to teach or assist someone in learning a new language. The brief emphasised it feel like a game and the learning of the language be quite subtle. We created a tug of war / tower defense style game where the currency is the player's own knowledge. The idea being the game will ask the user various questions with different difficulty levels in the chosen language. The better they know the language, the more successful they will be at the game! All the questions and answers are fed by text file allowing for easy modification and handling of any language. Rendered using DirectX 10 quads. 

Source available on Github.

Scrabble Layout Generator [C++]

This program generates scrabble board layouts from a random word list. The idea came to me when I was at a friends place and saw their shower curtain was a giant sprawl of connect scrabble words. I added multi-threading, a scoring system (generates multiple boards, rates them using a fitness function and then picks the best) and a camera movement system. It's pretty simple and could definitely be improved to make more dense layouts. Rendered using DX10 sprites (old 2D engine).

Source available on Github.

Soduku Game & Solver [C++, Lua]

This project was created for my Advanced Tools Development paper in 2014 for Media Design School. This aim of this project was to learn lua scripting. This was demonstrated by creating a C++ to lua interface for Sudoku which used lua to solve the Soduku puzzle. The solver uses a brute-force recursive algorithm and passes the final result back to C++ through an array.

Source available on Github.

Solitaire [C++]

This project was for a programming paper which focused on data structures. Solitaire is a great game to demonstrate the use of different data structures such as stacks. This project was created in 2013 in one day with one other classmate. 

Source available on Github.

bottom of page