One of the things that I've found most useful for organising my projects, keeping me on track and aware of features (as well as being a good indication of progress) has been Trello. It uses a Kanban-like system of cards and lists, which I typically use as a method to encapsulate a chunk of work and place it in the context of the rest of the project.

CivClicker II Trello Board

I stole a particular method of organising the lists (I don't know if it has a name, so in lieu of that I'm going to call it the 6ft to 60,000ft method) from a friend, and it's proved remarkably useful. The method works as a metaphor for the "distance" that any given task is from completion. As chunks of work are completed, they're moved off the list and more tasks cascade down, closer to completion. Something that's in the 6ft list is very close to being implemented, something in the 6,000ft list is off on the horizon after more pressing tasks have been done.

This served me pretty well for CivClicker, with two caveats - the first was that I added basically every good suggestion I received (and there were a lot) to the board. This often meant that the later stages were pretty cluttered and this in part contributed to some of my fatigue later in the project. I'm still going to do the same thing, but I'm going to be more cognizent that I need to keep tasks to chunks of work rather than a list of a million features.

The second was that as I approached the end of the project I needed a different method - on defining a v1.0 spec I needed to divide up all the remaining tasks into priority order, and defining features that would or would not make it into the final release. You can still see the end result on that board. I may or may not do the same thing later down the like for CII, but the important lesson I learned was to drop project milestones into my existing board - things may shift in and out, but those are markers for progress and it helps me stay on target.

Ultimately Trello is great for organisation and also for motivation, since dropping a list of features into the "done" column and looking back at the huge pile feels pretty good. As a conceptual model of a project it's really helped, and even stands up pretty well against alternatives like JIRA Agile (which I use at work, and obviously it's geared towards larger teams). If you're writing your own game, consider setting aside an afternoon and constructing a board for yourself - you'd be surprised about how well it helps focus you on the tasks ahead.