Portfolio

Below is a selection of some of my projects over the years, some of which I am still contributing to. Source code for all these and other projects can be found on my GitHub. Enjoy!

Raven Game Engine
I led a 5-person team to build a C++ game engine from scratch.
Unity Protein Visualiser
Exploring the application of game technologies in research, I built a protein visualiser in Unity.
Can't Wait
Navigate an unsteady waiter through levels and avoid knocking items over in this physics-based game!
Flushed!
Play as a rubber ducky that has been flushed down the toilet, collect jewellery and avoid obstacles for a high score.

By writing tech demos, I hone my C++ programming skills whilst learning about new features and techniques.

Deferred Rendering
A C++ deferred renderer for viewing gltf models with physically based shading and shadow mapping, written with the Vulkan API.
Terrain Rendering
An application for rendering terrain from height maps with optimizations such as view based culling, written in C++ with the Vulkan API.
RayTracer
A C++ application for loading a scene, viewing it in OpenGL and saving a ray traced render to an image.

Whilst writing my undergraduate thesis, I gained some web development experience on the following two websites:

I designed and implemented their user interfaces and wrote the JavaScript used in the virtual tours of the archeological website which was a lot of fun.

In my spare time, I enjoy learning about web technologies like the React JavaScript framework or new css tricks.

For my master's course, I wrote many C++ applications implementing techniques and concepts found in the games industry! Click for more info.

Mesh Free Form Deformation
2D Smooth Particle Hydrodynamics Fluid Simulation
FakeGL