Personal Project




Programming Language: C#

Engine: Unity

Project Type: Personal Project/Game Jam


Technical Features

Procedural Generation

Most of the game is procedurally generated. The placement of the stations as well as the train lines are completely random so the game is different each time you play. It also randomly names the stations from a list of station names that is loaded in from a text file.


To connect up the the stations after they are generated I created a spline system to act as the tracks that the trains could follow.


Trains mission was my submission to the Grads in Games Competition “Search for a Star”. The game started out as a game jam game created at the 2018 Global Game Jam. make this game was a great experience and I really liked the game idea so me and the artist(Molly McCarthy) who also worked on it kept developing it after the jam. It soon became better then what the search for a star game I had been working on so I kept working on and it became my search for a star game. The game consists of a procedurally generated subway system that the player has to make their way through to a certain station. After search for a star me and the artist have continued to improve and polish it with the intention of possibly releasing it fully on Itch once its good enough.

Search For A Star

Global Game Jam Page

GitHub (Most Recent Version)




Gerstner Wave and Buoyancy



Programming Language: C++

Engine: Unreal 4

Project Type: University/Personal Project.


Technical Features

Gerstner Waves Material

Using Unreal 4’s Material visual scripting I created  a material that used Gerstner waves to appear like an ocean when placed on a plane.

Gerstner Waves Algorithm

In C++ a Gerstner wave algorithm was implemented using the same values as the material. This was based on NVIDIA’s tutorial from the book GPU Gems.


A buoyancy system was created to react to these waves by placing points around any mesh and apply force to the mesh base don what points where above or below the waves.


Starting out originally as a personal fun project to see how Gerstner Waves worked it evolved into being used as my Gameplay Mechanics module coursework.  By using a combination of C++ and Unreal 4’s material system I was able to create an impressive looking wave material that any object would react to with buoyancy. After working on the waves for a while I realized that if i were to create a buoyancy system this project would be a perfect fit for my Gameplay Mechanics coursework. So I continued to work on it and implement a buoyancy system and got the project into a good state to submit. I’m very glad i was able to use this personal project as course work as well as for fun, since it was a lot of fun to work on and I got an A+ for this module.