
I always knew I wanted to make games, so in the summer of 2014 I started one, with no idea what I was doing and every spare hour to throw at it. I chose a 2D platformer because I loved the challenge of that genre and thought it was the simplest place to start. It became Escape Sequence, built in Unity 4 and C#.
Gameplay first
- Controls. I prototyped and tweaked the jumping, shooting and movement until they felt exactly right. It is still the part I am proudest of.
- Enemies. Following the Mega Man school, you expect to die a lot while you learn a level, but the game should never feel unfair. Getting enemies right meant finding the line between impossible to beat and too easy to avoid.
- Levels. About a dozen levels across several worlds, each with its own gimmick. There are pure platforming stages, an upgradeable laser gun for the fights, boss battles, and auto-scrolling stages where falling behind the camera kills you.
What I’d do differently
Looking back over ten years later:
- State. A game has to move between menus, loading, play and back again while tracking the player and the world. I would now build that around finite state machines, which would have made it faster to develop.
- Reuse. I knew duplicated code was bad but wrote plenty of it anyway. Today I’d pull shared logic into well-defined parts, for my own sake and my colleagues’.
- Art direction. Much of the art was licensed from different third-party packs, and it doesn’t always sit together. I’d now be much more careful about a consistent palette.
It remains an unfinished tech demo, but I learned more from it than any course. Many of the habits I rely on as a developer started here.