Planning is the key to success

When I started programming The Christmas Trail, it was a very fluid process. I thought about some cool game mechanics and implemented them, not thinking too much about how everything would work together in the end. I’ve found this to be a great approach when prototyping or exploring new mechanics. However, I got to a point where every time I went to implement a new feature or mechanic I was forced to do a lot of refactoring and bug fixing. I also came up with some better ideas to implement core functionality that I has sloppily implemented in the beginning. It was at this point that I should have put my hands up, stopped coding, and started planning. I didn’t do that.

I spent the better part of a week trying to re-engineer my manager and factory classes that were the cornerstone of the core functionality in the game. Saving and passing data between scenes became a chore and eventually stopped working in rare edge-case scenarios. I was spending too much time trying to fix bugs in my UI (a UI that was not even what I imagined the final version to look like). I was wasting time. I was conjuring up new ideas and mechanics and trying to shove them into places they didn’t fit. I was introducing scope creep.

I’ve now come to the realization that in order for me to finish this game, I need to spend some time planning and designing. I need to set a scope and stick with it. I need to be firm on what is in the game, and what is not, and how it will all be tied together. I need to be disciplined. This is the only way that this game will see the light of day.

This is not a game that I’ve dreamt about making for years. It was a cool idea I wanted to follow, and it grew into something that I’d like to see finished. With that being said, I’m laying out a plan that lets me throw this thing on the shelf at a number of checkpoints if I feel it is getting too out of hand, or if other things come up. I can still feel the satisfaction of completing a project even if this doesn’t make it to the wider world. I’ve broken the game into three main phases that let’s me divide the work up into smaller chunks, assess the game at the point, and decide if we are moving onto the next phase, or putting it on the shelf for another time.

Phase 1 – Demo

This phase is about getting a game up and running, with some main game mechanics, but nothing fancy. It also pushes out any serious artwork requirements, which let’s me focus on gameplay and polishing up core mechanics.

  • Main gameplay, no sleigh management
    • I chose to avoid sleigh management in this phase (food, presents, elves, etc) as I feel a limited implementation is worse than none
    • You get unlimited presents, no cookies/carrots/etc. to manage
    • 1 action: deliver presents
      • This lets me set the base down for additional actions in the future
    • Polished and bug free

Phase 2 – Artwork

In this phase, I will get all artwork into the game.

  • Follow theme of The Oregon Trail
    • Pixel art – lots of dithering
    • colors

Phase 3 – Sleigh Management and Actions

At this point, I should already have a “finished” game. I can now decide if I want to continue working on it, and if so, implement the complicated sleigh management mechanics with additional actions.

  • Sleigh management
    • Elves, food, presents, etc.
    • Actions for exploring, dialogue, hunting, etc.

As you read this, I am working on a comprehensive Game Design Document that lists out these phases, the mechanics they need to implement, how they interact, and everything else I need in order to start planning the phases out. Things may change. I may decide on many more phases, or a re-ordering of them. All that matter is that I’m planning. I don’t want to waste more time. I don’t want to implement another mechanic that gets stuck in the corner and isn’t flexible enough to ride with future changes. I want to finish this game, and I will get to that point by properly planning out what needs to be done and being realistic about scope and timeline.

If you’re reading this and you’ve felt any of the emotions I’ve talked about here and you DON’T have a Game Design Document or at least a plan of what you need to do, then stop what you’re doing and start planning. Trust me, it will be worth it.