Projects

Procedural Planet Generation DirectX (Demo)

3rd Year Project - Ongoing

My 3rd year project is creating procedurally generated planets. So far I've implemented a Quadtree for changing levels of detail. To create the sphere, and to get it to work with Quadtrees, I started off with a cube using six Quadtrees (one for each face) then used a cube to sphere mapping.

I use 3D Simplex Noise for terrain generation and don't draw any panels beyond the horizon for performance. The terrain is also dynamically lit using shaders. The biomes are generated by using two noise maps, the first is for elevation, the second for moisture.

Check out the editor I made to play around with the parameters in realtime.

SphereRoll Unity

Sumo Digital Rising Star game 2018

The Sumo Digital Rising Star competition, run by Grads in Games, is an annual competition which features different areas of games development. I entered the Rising Star Code, which consists of three stages: The Skills Assessment, The Dev Project and The Interview.

My game, SphereRoll was lucky enough to reach the final stage of the competition. The game was part of The Dev Project stage, where we had to make a game using the Unity Engine.

Ghosts Unity (Source)

Team Project - Second year (81%)

For the professional skills module I worked in a team with one other member. We could make whatever game we liked so we chose to create a Worms-style game called Ghosts.

We used Unity to create the game. I implemented random terrain generation using 2D perlin noise, and destructive terrain using voxels.

Pathfinding Visualizer TL-Engine (Source)

Uni Assignment - Second year (100%)

The assignment for the 2nd year Games Dev 1 module was to implement the A* search algorithm and visualise it graphically. Check out the YouTube demo here.

After already implementing A* in my personal project I could reuse the code and focus on getting a visualisation working where it shows the open and closed list. The most challenging, but fun part was making the bezier curves.

Hover Racing TL-Engine

Uni Assignment - First year (100%)

Our 3rd games assignment was to create a hover car racing game. The hover car can drift and collide with other objects (including AI). You pass various checkpoints each lap (in order). There are multiple AI hover cars which follow waypoints around the circuit. The map was made using a simple map editor I wrote.

Frogger TL-Engine

Uni Assignment - First year (98%)

The 2nd assignment was to make a 3D version of the classic Frogger game. My version was endless however, so the aim was to beat your highscore. Other features included a Game Menu, moving floating tires which the frog jumps on to cross a lake, and camera animations.

Piano Booking Manager

Professional Work

Features
  • Login form
  • Lesson attended screen
  • Manage pupils (new/edit)
  • Calculate earnings for a specific timeframe
  • SQL Sandboxer

Old projects

2D Orbital Simulator SFML

Personal Project

A 2D Orbital Simulator with a HUD which shows the current orbit.

City Simulator SFML (Source)

Personal Project

A simple city simulator which grows automatically, with A* pathfinding.

Langtons Ant C++ (Source)

Personal Project

A Langtons Ant simulation.