3D Projects
Ray Tracer
The Ray Tracing series guides readers from creating a basic ray tracer to developing a high-quality ray tracer. Ray Tracing in One Weekend introduces fundamental concepts, like ray-object interactions and shading. Ray Tracing: The Next Week builds on this, adding textures, volumetric effects, shapes, instances, lighting, and optimisation through bounding volume hierarchies (BVH) for handling many objects. Finally, Ray Tracing: The Rest Of Your Life delves into advanced mathematical techniques for realistic rendering, covering complex materials, global illumination, and further optimisations. I aim to finish the series of books and then implement it via DirectX12 to allow it to be done via real time rendering purposes instead of printing it to that of an image file.


Learning DirectX12
Coming Soon.
Refamiliarization with Unreal Engine
Coming Soon

2D Projects

SFML Game Engine
An SFML game engine utilising a tile based systems comprising engine and editor components for 2D game development. It provides essential capabilities like a 2D physics engine, sprite and character handling, camera control, and various other features required for creating and managing 2D game environments. These components work together to streamline game development by providing the necessary tools to build, animate, and control 2D elements effectively.
University Projects
Real Time Collision Handling
Real-time collision handling is a programming technique that uses algorithms to detect when objects come into contact or overlap, allowing systems to respond instantly. It is used to enhance the realism in video games, virtual reality, and physical simulators. In video games, collision detection enables interactions like characters bumping into walls, objects reacting to forces, and accurate hitboxes, which collectively enhance player immersion.


Hierarchical Animation
Hierarchical animation is a technique used in programming to create animations by organizing objects in a parent-child structure. This setup enables coordinated, complex movements, as moving the parent object automatically moves all linked child objects. It’s particularly useful in character rigging, ensuring natural, interconnected motions across parts for realistic animations.
AI Game Controller (Dissertation Project)
This project utilises the SFML Game Engine to develop a playable Super Mario World inspired clone of Yoshi’s Island 1, initially designed as a manual tool for debugging purposes. This game environment then serves as a testbed for implementing an AI-driven game controller, employing Neuro Evolution of Augmenting Topologies (NEAT) a genetic algorithm that enables artificial intelligence to control the player’s actions. Building upon the foundation laid in my master’s dissertation, I refactored the original codebase, optimising both performance and functionality by incorporating advanced C++ techniques and enhancing coding standards to improve software reliability and efficiency.
