"If you want to know how long it will take to make your game, work out how long you think it will take, then double it".
This is a common rule of thumb not just in indie game development, but AAA game and software development too. The multiplier might vary with the experience of a company or team, but the general idea is widely understood. I took on board this sage advice when I started working on Substream in 2010. I calculated that my savings would last me about fourteen months, so I set to work on my dream game, knowing I should aim to finish it in seven. A few years later I have a full time job again, and although I still make progress on it now and then, things could have gone better. Believing in this rule of thumb was a psychologically complex problem, and I think it actually made things worse in my case. Here's what tended to happen;
- I designed a game to make in time X. I believe in the rule so I expect to finish it in time 2X.
- I have lots of ideas as I go. It's stuff that I'm sure would make the game better. I know I have 2X time, so when I ask myself whether I can fit this new thing in, it seems like I can.
- Slowly but steadily, the extra spare time I'd given myself starts to fill up.
- Surprise! At the end of time 2X, I've started integrating X more features into the project, so now I expect those to take an additional 2X.
It's pretty easy to see the logical hole in this. I shouldn't have added new features and stuck to the initial plan. That's true, but when you see a way to make the game you're working on better it's hard to ignore even when you don't think you have the time. When you have given yourself 'spare' time the justification just falls into your lap. Because isn't this what that spare time is for? Unforeseen work? I'm not sure there's an equally catchy rule of thumb or single bullet to prevent this way of thinking. The first step is to admit I am going to have lots of ideas and there will be a strong urge to fill my time. From this it's clear that allowing myself 4X time is not going to improve things.
A better approach would've been to completely fill up all of my available time budget with brilliant ideas. Then I could seperate out half of them in such a way that the game still works as a game. The essential work goes up front.
Now I have a two part plan. My time is already full, but if the "double it" wisdom holds true then I have still made a game in an acceptable amount of time. I'd end up with a finished simpler game, rather than half a higher quality game. That's a much better point at which to decide whether finding some extra time to add additional features is worthwhile... because that's the kind of decision that's hard to say "no" to when I think I have unallocated time.