Current Projects In Development
I try to keep myself busy on new projects. One of the biggest challenges that Indie Game Developers face is actually finishing their games. With that in mind, I have created this space to showcase my current projects which I can link to from my socials. By continually updating this page, I will hold myself accountable to finish my own games.

Phase Dodge - A Neon-Fueled Development Journey
Phase Dodge is a 2D mobile game I'm developing as a portfolio project to showcase my skills in Unity and C#.
Set in the future, players journey from Mars to Jupiter's moons via high-speed networks, needing to mine fuel from the asteroid belt and trojan asteroid groups to continue on their journey.
The game features simple yet engaging core mechanics to control a ship in space, mine asteroids for fuel, upgrade and customise the ship.
Phase Dodge features peaceful mining and resource collection for progression, and offers a relaxing alternative to conflict-heavy games, showcasing the vastness of space and providing a sense of accomplishment.
Project Goals
My primary goals for this project are to:
-
Demonstrate proficiency in core game development concepts, including object pooling, physics, and UI management.
-
Explore and implement advanced gameplay mechanics, such as AI-driven obstacle behavior and dynamic player controls.
-
Experiment with visual effects and rendering techniques to create a compelling "neon" aesthetic.
-
Showcase my ability to write clean, efficient, and maintainable code.
-
Build a project that can serve as a strong talking point during job interviews.
Challenges & Solutions
I've encountered several interesting challenges during the development of Phase Dodge, and I'm proud of the solutions I've implemented:
-
Object Pooling: Initially, I was creating and destroying obstacle objects frequently, which led to performance issues, especially on mobile. To address this, I implemented a robust object pooling system using Unity's built-in ObjectPool. This significantly reduced instantiation overhead and improved performance, allowing for smoother gameplay.
-
Satellite Movement: Creating interesting and dynamic movement patterns for the satellites was a key design goal. I implemented a system where satellites follow dynamically generated Bezier curve paths. This involved creating a custom spline system and ensuring the paths adapted to different screen sizes. Overcoming the challenges of accurately calculating and applying movement along these curves was a rewarding experience.
(I ended up switching to the Unity Spline package after I wrapped my head around how this all works.) -
UI Scaling: Ensuring the UI scales correctly across various mobile screen resolutions and aspect ratios was another significant challenge. I tackled this by using Unity's Canvas Scaler component with the "Scale With Screen Size" mode and carefully anchoring UI elements. There was a lot of work even for minimal UI to position elements in a way that was suitable for the game on different screen sizes.
To-Do List
While Phase Dodge is in a playable state, there are still some areas I plan to enhance:
-
Visual Effects: I want to add more visually striking effects, such as a custom shader for the player ship's trail and particle effects for explosions and impacts.
-
Event System: Implementing a more robust event system will further decouple different parts of the game and improve its architecture.
-
Polish and Optimization: Continued testing and optimization are crucial to ensure a polished and performant final product.