Sorry to disappoint but you won't find here an easy to digest and easily spammable top 10 things to do here. Context is needed and it would be dishonest to take such a shortcut.
One of the biggest obstacles I face being a part-time indie is exactly doing this thing part-time and it ain't getting easier as I'm getting older. I'm slowly starting to accept my current situation for what it is and try to come up with tricks to make the best of it.
What it used to be
I used to have a 7 PM to 11 PM schedule on weekdays to work on games. Every single day when getting home I was rushing the boring day-to-day stuff (cooking, eating, cleaning, walking the dog, etc.) just so I could sit in front of the computer at 7 PM to get as much stuff as possible out of my brain and into code until I was too exhausted to continue. It was okay for a while ... A few years later, still no good results to be seen anywhere, I had enough.
A bit less part-time
This is the point at which I guess most people either give up or come up with some big plans to fund their game development activity. Giving up didn't seem like a productive idea but coming up with some business plan with investment and major life changing decisions was way out of my comfort zone. So I came up with a third option. Not a perfect one but one matching my low (some might say too low) risk tolerance. Going from a 5 days week of work to a 4 days schedule. It's not an option available to everyone but working for the same employer for over 10 years do helps to negotiate stuff like that. I'm not doing a full week of work in 4 days so it's really a 20% cut from my paycheck. It may appear trivial compared to people quitting their job but that's still a decision that requires some adjustments. The trick is to never check what this 20% cut means over a year ...
More time != more efficient
At first it seems obvious. With more time you can do more. It's math. Well not quite ... When working strictly on evenings whatever work you can get done seems like proper work that needed to be done. You're racing against your body before it gets too tired so the first task you see seems like the one task to be completed today. At least that's how I felt I was working when I suddenly had a full day to put on my game projects. I realized that I had no clue how to plan my work. I was just spending hours trying to get from point A (idea of a game) to point B (releasing the game) as fast as possible like I was doing when working on evenings. Releasing a game takes time, a lot of time and I just couldn't see the end of it. All this new time available and I was still going nowhere fast.
Chasing a tortoise
That's how it felt and the tortoise was winning. Part of it is that I was (and maybe still am sometimes) still rushing to finally get 1 damn game to get some kind of success to get the wheel spinning. When I started this madness in 2007 (just to make it clear I have worked on various games here, it's not 1 project going on since 2007) it didn't seem all that difficult to achieve really. I came to realize it wasn't but was still hopelessly running toward that goal. Yeah yeah, it's a marathon, blah blah blah ... There are some things you hear over and over but won't mean anything until you're ready to hear them. Having your face rubbed in "first release, first success" news too often doesn't help to see clearly. Sometimes I'd sit in front of the code and then wonder "why isn't this game finished yet?". There was still a ton of stuff to do but in my mind I was already trying to turn this half-completed project into a release. All the code was in my mind but I had yet to actually write it and I was wondering why it didn't look like that idea I had in mind. It's a weird feeling to describe really. I'm not sure I fully understand from where it comes from.
Okay so having more time was part of the answer but not all of it. Maybe I needed to relax a bit and stop being so anxious about the release that is still so far away. What about aiming to finish specific tasks instead of always going after the release? Actually why not care about the release at all. I don't have a deadline, I won't run out of money and I've been doing this for relatively quite some time without tasting victory so I can probably pull this off anyway.
It all starts on Thursday in the evening
I sit on the couch, take a pen and a piece of paper and write some specific tasks I want to get done for the week. Friday is my day off from my day job so Thursday is the perfect time to do this. I'll have a full day to attack the biggest chunks and the rest of the week to do the trivial stuff. I don't try to get the game ready for release. I just try to define tasks for the next week believing that eventually I won't have anything new to write and the release of the game will sneak up on me.
I limit myself to 1 side of page. If I fill the page then I stop there. It's plenty of work for the week and if I finish before then maybe I'll allow myself to waste some time on other stuff. The point being to not obsess over the project ... too much.
These tasks can be anything that can be done with the current build of the game. It can be anything from adding the next system to improving the appearance of a button but I avoid as much as possible big tasks that depend on another task I just wrote down that isn't completed. These tasks will be for next week so that way when it's Thursday again I can say "okay this list is done, time for a new one".
Limiting the number of tasks you have to work on helps to keep things in focus and to avoid to rush stuff you think is less important. If I have too much stuff on my list then maybe I won't do such a good job with that new button I want to create. Not being an artist it's quite easy to dismiss too rapidly things you're not that good at.
Of course defining the end result at the start of the project is important so you have a good idea of what you have to do to get to it and to avoid adding too much stuff that wasn't part of the original plan. Writing tasks for the week is not improvisation. You have to navigate within the initial plan you (should) have built before coding anything. What if you realize that something you planned doesn't work or have this cool idea you really can't ignore? Well that's what Thursday is all about. You don't do anything that's not on your list to make sure you take decisions with a clear mind as far as possible from the keyboard.
A project will evolve from the original vision so the goal is not to prevent that but to control the process. Not doing so will really result in a project that never ends. Working on precise weekly goals will give you more time to think about your new idea and it's quite possible that this additional time will allow you to realize your idea ain't that cool after all.
This is exactly why I've taken a short break to write this post. To prevent myself to add an unplanned feature on my current project. To take some time off to think about it and see if it will be part of next week's list. Does this simple way to do things really work? It seems to fit me so far. I'm satisfied by the work I get done and see progress. Is it difficult to let go of the obsession to work toward the release of the game? Oh yeah ... Is this method good for you? I don't know, you tell me.
Machine 22 is a one man independent game development company run by Dave Toulouse.
This post also appeared on my blog: http://www.over00.com/?p=2346