C++ Lab Book
An exploration of C++ as a language and its relationship with memory and the underlying assembly code.
View on GitHubA custom game engine written in C++ using OpenGL. Still currently in active development. Started initialliy as a port of a simple engine built in C# during university, but has since become so much more than that, far surpassing the original version. The engine supports PBR and non PBR materials with both a forward render pipeline and deferred pipeline. I have also built a custom physics system, AI systems, very very very basic UI systems, and skeletal animation systems. Screenshots can be seen on Github.
View on GitHubAn easy to use C# based networking library, designed initially for the MonoGame framework but with the flexibility to be used across various C# based engines, built to provide beginner game developers the tools required to build networked multiplayer games in peer-to-peer sessions. The library handles synchronisation of game objects, connection handling / management and diagnostic information. All without requiring any experience of networking from the developer.
View on GitHubTwo implementations of an aerosol particle simulation. One in CUDA hosted in a C++ application, another in Rust. Both implementations made use of each languages threading capabilities and performance was compared.
View on GitHubDevelopment of a game in a team of 4 active members. My role in the team was "Lead Programmer" and was responsible for assigning tasks to other programmers, including myself. I also designed and created the larger scale cave level and its puzzles as well as the menu, UI systems and sound design. We created "Toadm'n", a game in which you guide a toad through a 2D level and solve puzzles by controlling flies to make the toad interact with the environment.
View on GitHubAn exploration of C++ as a language and its relationship with memory and the underlying assembly code.
View on GitHubOpenGL scene demonstrating different lighting techniques and knowledge of vertex buffers / vertex arrays and basic shaders.
View on GitHubA more advanced demonstration of shader code using the RenderMonkey application. A scene was created to showcase various rendering techniques such as height mapping and parallax mapping, as well as particle effects.
View on GitHubA showcase of A* and LRTA* pathfinding algorithms, allowing an agent to navigate through multiple maps of varying complexity.
View on GitHubA physics experimentation demonstrating various collision detections and responses, all including things like mass and velocity between moving objects with the graphics being created using HTML canvas.
Followed by a recreation of the classic Pong game