Projects

Games

Rogueframe

C#, Unity, Netcode for Gameobjects


WIP co-op class-based shooter, with procedurally generated levels and objectives.

Skyfire Uprising

C++, Unreal Engine 5


Save Earth from an alien invasion!

Frantic Pinball

C#, Unity


A 1v1 mash-up of Pinball and Air Hockey, with various arcade-y features like power-ups and multiple balls.

Vampire Survivors-like

C++


Survive a ramping onslaught for 2 minutes by collecting power-ups that heal you and empower your attacks. Get more points by killing enemies!

Artifaction


WIP social deduction game that avoids player elimination.

SpellCast

C#, Unity, Mirror


Prototype for a competitive arena game. Both teams race to destroy a central objective, unlocked by completing individual objectives unique to each class.

3D Noughts and Crosses

Python, pygame


2+ player Noughts and Crosses in 3D.

MEGANAUGHTSANDCROSSES

Python, pygame, TCP


A fully networked game of Noughts and Crosses, played with sub-grids of Noughts and Crosses.

Game Related

CPU Pathtracer

C++


A path-tracer implementing various BSDFs, rendering and sampling techniques, multithreading and denoising.

Slay the Spire 2 Mods

C#, Godot, Harmony, BepinEx


Two Slay the Spire 2 mods: one fixed a race condition with steam cloud syncing, and the other enables users to have multiple simultaneous run save files.

DX12 Renderer

C++, DirectX12, WinAPI


A rasteriser implementing various rendering techniques, as well as animations with an animation controller and Object-Oriented Bounding Box collisions.

CPU Rasterizer

C++


A Z-buffer rasteriser with back-face culling, linear attribute interpolation and Lambertian lighting.

Arkshot Mods

C#, .NET CIL, Unity, Harmony, BepinEx


Three mods for Arkshot: a framework for networking mod configurations across lobbies, a mod to change all stamina costs and boons, as well as one which uncaps the max player count.

Other

Chatroom

C++, Dear ImGui, Winsock, FMOD


Networked chatroom with a server-client architecture. Supports custom usernames, user colours and private channels.

JSON Parser

C++, JSON


A toy JSON parser, fully implementing the base JSON standard and has limited support for comments.

Incremental Backup

Java


A fully modular incremental backup engine, aimed at use for Minecraft servers.

Riffr

TypeScript, HTML, React


A tool to assist musicians with “jamming” together online, by recording phrases and then playing all the recordings at once, effectively offset by one phase.

Model Maker

C++, Qt


A basic A-Level mechanics simulator, demonstrating the forces applied by friction and gravity in customisable 2D projects.

Inventory System


A food inventory system tailored to the specific needs of a local food surplus distribution charity.