Element Interpreter

November 2021

While at Ultraleap I was responsible for developing an interpreter over a period of 6 months for the Functional Programming language that we open sourced, Element - designed to execute highly performant and optimised code on hardware embedded devices within deterministic bounded space and time constraints

Read more

WASM C++ & CMake Template

September 2021

Demo. I released this Github Template to set up a new repo that had full support for running C++ on the web via WASM, using Emscripten, alongside all the required libraries, integrations, best practices, and build systems with CI/CD

Read more

NES CPU Emulator

October 2020

Image of 'NES CPU Emulator' Project

I built a NES CPU Emulator called SCONES using C++17 (well, it was meant to be a full emulator, but I only got as far as the CPU 😂)

It uses an instruction table that leverages a templated function pointer as a non-type template parameter to create multiple different functions for each type of instruction, and has tests to ensure the CPU is working correctly

Engine27

September 2019

Image of 'Engine27' Project

Engine27 was a 2D game engine written in C++17 that I worked on with a friend, using DirectX 11 and Win32. The DirectX Renderer is fully working, capable of sorting and drawing 100k transparent sprites at 60fps with minimal draw calls due to instancing and texture atlas support

Threadpool

August 2021

I built a C++17 header-only Threadpool library with 4 different compile time configuration options (policies). Uses various standard multithreading functions (mutex, promise, condition variable, atomic). Features unit tests, Github Actions CI/CD, and benchmarks.

Cowboys

February 2018

Image of 'Cowboys' Project

Cowboys is a networked, turn-based startegy game where you control a team of 5 different cowboys and battle it out against another player. Written in C++17 for a university module. I was primarily responsible for creating the networking system and other engine architecture, such as multiple audio backends, state manager, message queue, and signal & slots.

Birdman

October 2017

Image of 'Birdman' Project

Birdman is a simple interactive story game based on the birdman movie. Written in C++17 for a university module. I was primarily responsible for the UI, the interactive dialogue system using lambdas, and other engine architecture.

Hexagonal A* Pathfinding

November 2014

Image of 'Hexagonal A* Pathfinding' Project

Galactic Empires was meant to be a 4x space game made in C++ with SFML, CEGUI, Thor, Lua, and LuaBridge. Development stopped shortly after due to the realisation of the huge scope of such a project and the lack of experience to finish it. It mainly features A* Pathfinding on a Hexagonal Grid, as well as Lua Integration, CEGUI Integration, and State Management.