The Journey
Building 17+ games in Unity has been one of the most rewarding journeys of my career. From simple sidescrollers to complex RPGs like Path of the Chosen, each project taught me something new about game design, player experience, and the art of shipping.
Start Small, Ship Often
My first project was a basic sidescroller. Nothing fancy — just a character running and jumping through a level. But it taught me the fundamentals: physics, collision detection, sprite animation, and the game loop.
From there, I moved on to more ambitious projects:
- Free-Fall — mastering gravity-based mechanics
- Dodge Ball — implementing physics-based throwing
- Gnarly Nutmeg — creating soccer skill mechanics
- American Football & Techmo Bowl — building sports simulations
Architecture Patterns That Work
After building this many games, certain patterns emerged:
1. Component-Based Design
Unity's component system is powerful when you lean into it. Keep your scripts focused on a single responsibility:
public class PlayerMovement : MonoBehaviour
{
[SerializeField] private float moveSpeed = 5f;
void Update()
{
float horizontal = Input.GetAxisRaw("Horizontal");
transform.Translate(Vector3.right * horizontal * moveSpeed * Time.deltaTime);
}
}
2. ScriptableObjects for Data
Instead of hardcoding values, use ScriptableObjects. They're a game-changer for managing game data, character stats, and level configurations.
3. Event-Driven Communication
Avoid tight coupling between game systems. Use events and delegates to keep things modular.
What's Next
I'm currently exploring the HYTOPIA SDK for multiplayer game development. The ability to build games that run on a platform with built-in social features opens up exciting possibilities — starting with HYTOPIA Golf.
The key takeaway? Just build things. Every project, no matter how small, teaches you something you can't learn from tutorials alone.