The TODO List and Making Forward Progress
In this entry, I want to talk a little bit about a very simple thing that many people do when they first start out making a game. Specifically, I'm talking about a ToDo list. The thing is, when you start about a project either alone or with a few friends, the thing you need to keep on top of is motivation. When you aren't being paid, when the payoff to whatever you're working on is months if not years away, it gets to be extremely difficult to maintain consistent motivation on your project. I work full time, and I have a life outside of work. Finding time to work on my game is often hard, and when I do have some time with no specific responsibilities, its even harder to convince myself to word on code rather than, say play a game.
That said, I have been fighting this battle daily, and mostly I've been winning. What follows is several things that I have done to help myself stay motivated.
- Keep a TODO list: What I mean by this is keep and maintain a list of short term goals when it comes to developing your game. Some people use fancy programs, which are all fine and good. I have a simple TODO.txt file that I keep right in my code directory. There are several uses for it... specifically it keeps me focused on my immediate goals, and it helps me track progress. The most important part about it, for me, is marking things as **DONE**. What you see there is literally what I put down in my file. Marking things off is one of my greatest motivations, as is seeing a huge list of things I've already accomplished. See, its very easy, especially early on, to despair at how much you have left to do and how seemingly little you've done so far. It often seems like you aren't making any progress at all. Having that list of tasks manages that. This leads into my next point as well.
- Keep Moving Forward: Another way in which you should manage your progress is to make sure you are regularly improving your game outwardly. Now, there are absolutely times when you'll be working on some aspect of your game that's going to take 5 or 8 or 15 hours of work to finish. During that time you may not have much to show for yourself outwardly. Your game will look just like it did when you started... This leads to a feeling that again, you aren't making any progress. I would say the best way to combat this is to consistently give yourself small tasks you can do in the midst of the big ones. An example would be... I'm currently working on some basic enemy AI, which is something I've never done before. I'm proceeding slowly and not being overly ambitious. Even so, its taking time. So, that being said, I've been doing little things in my game. Today I put in some code to enable some new mouseover events to happen. Tomorrow, I intend to upgrade the camera functionality on my map just a bit. These are pretty simple and straightforward tasks, but they give me something to show for my work, and allows me to continuously feel that I'm making progress.
There are absolutely many other techniques for maintaining one's motivation, but I wanted to share a few of the things that work for me. It's very easy to get overwhelmed by the mountain of work that you have ahead of you. It's easy to feel like you'll never finish so why bother trying. The thing is, when you climb a mountain, you aren't constantly looking at the summit. Instead, you just focus on the next handhold, the next ledge, the next marker. It's the same with this. Keep your focus small, and keep on moving.