This Is My Portfolio (It's Where I Keep My Old Projects)


DirectX11 Advanced Rendering Engine


For my final year graphics module I created a DirectX11 rendering engine that has support for a wide range of advanced rendering techniques, including Parallax Mapping and Post-Processing.

View It

DirectX11 Rigidbody Physics Engine


For my physics assignment in the second year of my degree I needed to create a reusable directX physics engine aimed around creating realistic physics interactions between gameobjects within the level. In implementing this I created particle and rigidbody physics, along with an object pool based particle system, and an observer pattern messaging system for cross class communication. For collisions I created simple Bounding Sphere and Bounding Box, however I also implemented SAT based colliders for the cubes.

View It

Artificial Intelligence Tank

For my Artificial Intelligence module I was tasked with creating an AI tank that could complete a maze whilst avoiding enemy agents and collecting 3 objectives along the way; which also involved the tank needing to display intelligent behaviour and react to the enemy agents when encountering them.

To achieve this goal I created a range of different Steering Behaviours to allow my tank to be able to safely navigate and control itself around the level. I also implemented the DRS pathfinding algorithm to generate the tanks paths, allowing it to find the fastest route to any given object; and the whole system was controlled by a Fuzzy State machine that I setup to intelligently blend states whenever the code needed to.

I also tested multiple of my own tank against eachother in a battle royale, which can be seen here.

View It

GGJ 2019 - Fridge Raiders

For Global Game Jam 2019 I worked with a hoarde defense game where you defend your kitchen from clay men that are after your food! For this project I created the enemy AI and animation trees.

I worked with:

View It

Game Rendering Engine DirectX 11


I was recently tasked with creating a graphics engine in DirectX11 that had strict requirements of level etc; to meet this I have created this simple scene that includes a range of graphics techniques: Phong shading, specular mapping, alpha clipping, obj loading, billboarding, render distance management, and an accurate skybox that is mapped to an inverted cube.

View It

Spider-man swinging in UE4

For my first assignment of the second year of my university course we were given 6 weeks to create anything in Unreal 4 C++. After playing Spider-Man Ps4 I wanted to try my hand at recreating the swinging system from it, and this is what I made.

The Art was sourced from a variety of places, and all programming was done by me.

View It

The Ultimate Clock Simulator


For my second semester of Graphical Systems I was tasked with creating an application from scratch using OpenGL. All objects in the scene are loaded via an OBJ loader that I created myself for this assignment, along with this; all objects in the scene are stored, updated, and drawn from within a scene graph that I created and implimented from scratch.

Other features:

  • The clock can be interacted with via a raycast system I created for this project
  • All walls have collisions that I created
  • The lights can be turned on and off at runtime
  • The program can be made fullscreen and windowed at runtime

View It

Jungle Adventure & Mario Bros


For my second semester of university I had to create a simple clone of the arcade classic Mario Bros, however I decided to also make an entirely different game aswell; which is a 2D platformer based around navigating a jungle and avoiding skeletons. Both sections of the project were created using the SDL framework.

The art for the jungle adventure segment of the project was created by Jesse m on

The music for the Jungle Adventure is from Komiku on Free Music Archive

View It

Generic Top Down RPG


As an early part of my degree I was tasked with creating a 2D game without the use of a games engine using a relatively low level API for things such as vector handling. The overall project went very well with me achieving 100% in the unit after completing it. To create this project I used art assets from armm1998 on Open Game Art.

View It

Like what you see? Contact Me