The TODO List and Making Forward Progress

Published May 22, 2013
Advertisement
Journal Entry #2

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.
6 likes 9 comments

Comments

Burnt_Fyr

The TODO list has definitely been a boon for me. I'm not the most proficient, or prolific coder, but I've been keeping a personal ournal of my own for some time. It lets me keep thoughts i have on any project i am working on.

Many times I have finished a late night coding session a buzz with great ideas, only to find that i don't really remember them the next day/week/month. At the end of one of these marathon sessions I can quickly jot down "stream of conciousness" style before I retire for the evening, and then I have a record of what I was aiming for. These entries often include bugs, that I have found that I would hate to repeat, or dead end paths that I've arrived at before(Where maybe my choices previously where not the best ones i could have taken). I can always check the journal to see if perhaps I'm making the same mistake as I have previously, which helps me to identify and fix it much faster the second time. It also stops me from jumping off into the deep end, only to find myself in an area that I've flagged off with a "no diving" sign(sorry about the obtuse metaphore).

In addition to the overall journal, each individual project also contains it's own change history, which is where I keep the TODO lists. Often I'm working on a project that incorporates another library that I've created, and don't have time to implement/test changes too. I can quickly prototype the functionality I need in the project(many of which are throwaways), and leave a note to myself in the includeded library's TODO list. The next time I work specifically on that library, I have a nice list of functionality to implement, along with reference implementation to work from.

With the journal, I can see how often I'm actually working, or when I've been slacking. I can quite visibly see me growth as a programmer, and reading older entries is often quite humourous( How did I even end up with a usably math library, when the 3 year younger version of me was so hopelessly confused).

With the change log, I can see all the progress I've made in the past, and even if they are not visible in the end result, the record alone is proof that i've accomplished something.

May 25, 2013 01:39 PM
evolutional

I tend to use Team Foundation Service and the Backlog items to manage mine. It's good because I can associate my code check-ins to these items and see progress as I work on my project. Whatever you use, you're right - keeping a TODO list is invaluable.

May 27, 2013 02:41 PM
mark1944

I strongly agree with the use of the TODO list - I've been doing it for years.

Because we're all bright and prolific - we can easily add to our TODO list much faster than we could ever remove things, let alone finish. For the longest time, I just had a TODO list - no "DONE" list. Eventually, I would burn out staring at the eternal rolling list of things to do. After I started moving things to a "DONE" list, everything changed. Now I don't really care how long it gets, it's just a "catch all". (You ever have 3 *other* ideas while you're typing 1 line of code? - this is the place to capture those).

Because it is a catch-all, it doesn't hurt to cull it from time to time. If something's been there for over a year, it's probably time to implement it or just delete it.

Thanks Plethora - this journal entry is right on the mark!

May 29, 2013 02:42 AM
Servant of the Lord

I use the free web service, 'Trello' for my project todo lists. I have one of my artist siblings able to view the page using her Gmail account also, and we can joint edit a different sub-project for world design work.

[Trello screenshot of my project]

May 30, 2013 03:16 PM
berniek
My todo list is usually a info.txt file opened in Notepad++.
May 30, 2013 11:48 PM
alh420

Spreadsheets on Google Drive also works great for ToDo-lists that you want to share, we use them a lot.

Can easily add a prio-column to the spreadsheet, and sort your list on prio and owner and such.

For personal todo-lists I often use text files, or even paper :)

May 31, 2013 01:52 PM
Plethora

Great suggestions across the board! I think as my project gets bigger I may start looking into Trello (So thanks for that tip!). My little .txt file is getting pretty huge... lol.

May 31, 2013 03:21 PM
Dwarf King

Spreadsheets on Google Drive also works great for ToDo-lists that you want to share, we use them a lot.

Can easily add a prio-column to the spreadsheet, and sort your list on prio and owner and such.

For personal todo-lists I often use text files, or even paper smile.png

Well I used my google calender for some time and even set up the calender to send me sms like "get your *** moving". In the end I ended up with yellow stickers again and the "7 sticky notes program" I guess I like the yellow small notes everywhere smile.png

edit: Oh I forgot, I also use like 6 big A3 size papers on my walls for project overviews. Very useful indeed.

June 01, 2013 05:58 PM
Postie

I use the free web service, 'Trello' for my project todo lists. I have one of my artist siblings able to view the page using her Gmail account also, and we can joint edit a different sub-project for world design work.

[Trello screenshot of my project]

Heh, I switched from using an excel spreadsheet for my todo list to using Trello three days ago and I absolutely love it! I'm more productive and its much easier to manage than my previous workflow.

June 03, 2013 01:11 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement