Game developer experienced with consoles, mobile, VR & PC. Advance understanding of C# and the Unity game engine.
Shader Graph & URP
Custom Editors/Tooling
Multiplayer with Photon
UI/UX (uGUI)
Integrating 3rd party frameworks
Git, Plastic, Perforce
Gameplay
Optimisation
System Design
Prototype development
Java / LibGDX
XNA
Open Source Procedural Dungeon Generators
I conducted an investigation into procedural dungeon generation techniques in Unity. The project explores three approaches: Binary Space Partitioning, Delaunay Triangulation, and Cellular Automata to create dynamic dungeon layouts for games. These methods were evaluated for structure, performance, and usability in real-time applications.
Gravity Galaxy started life off as a prototype I made over a week called Planet Hopper, where I explored different mechanics I had ideas for and tested out the concept.
Working with an artist friend, we continued to develop and polish the prototype. Eventually, we entered it into a mobile game competition run by Ancient Games D.S. We won the competition, earning $25,000 in funding to develop the game further.
We used the funding to bring the game to market, eventually releasing it on the App Store and Google Play. Apple featured the game in several regions, and it went on to receive over half a million downloads across both platforms.
Open Source 2D Planet Generator
This project begins by procedurally generating a unique mesh for each planet, ensuring every shape is distinct.
Once the mesh is created, several cellular automata with randomized properties are used to generate individual texture layers. These layers create a variety of surface patterns.
Multiple layers are then blended together through interpolation to form the final texture.
Finally, a custom shader is applied to give the planet a stylized shading effect.
As an attempt to gain knowledge in backends and databases, I created a multiplayer version of Minesweeper based off the old MSN game Minesweeper Battle. Players take turns trying to find mines before their opponent and the player who finds the most wins. If you click a tile that isn't a mine, your turn ends and is "sent" to your opponent, who can then watch your turn and take theirs when they get a chance.
Also included in the repository is the engine for the game FlyBy, as this was built using the same engine I developed on top of LibGDX.