It’s a well-known fact that many game developers struggle to ever actually finish one of their projects. The project starts off simple, but as it is nurtured by its developers it starts getting more and more complex. Before you know it, the project is something that won’t be completed for another two billion years. In order to avoid digging your game’s own grave, I’ll mention what has personally worked for me to help stop endlessly extending my games’ development cycles.
First off, you should always set a deadline. In addition to just having a deadline, you really need to enforce that deadline; make cuts to the game in order to meet that deadline instead of pushing the deadline back for more content. There’s going to be a lot of cutting, especially if you are inexperienced, as it’s frequent to underestimate how long something takes. This might mean you have to cut some of your favorite things you had planned for your game, but at least you’ll actually finish the game. Remember that you don’t actually have to ship a completely finished product. A common strategy that I’ve seen my friends and colleagues do is release a free alpha version on GameJolt or Itch.io to test the waters and gauge player reception.
Next, always work on project management-style tasks on a weekly basis, or even better, at the beginning or end of every work session. This means that you should be listing your tasks in some way and then cleaning up the tasks to ensure that they all stay relevant and helpful. You should always be asking yourself, “How did I get here, where am I going, and how do I get there?” to ensure that you are not working on a seemingly endless task. I personally have a local todo list on my computer and start tackling items one by one. Trello is also a pretty good tool as well if you’re collaborating with others on your team, but I find it much more efficient to use a simple program such as Sublime Text or Notepad++ if I’m working solo on a project.
Also remember that if you’re not moving closer to your goal, maybe you should just be moving the goal closer to you. Instead of making your dream game right off the bat, try making something rather simplistic and unfinished and adding onto it as you go. This relates a bit to my first point, as you’ll want to test the waters as much as possible. This lets you start building an audience as early as possible while iterating on and adding more features to your game. Just make sure that every addition truly enhances the game instead of just something nifty that may not be appreciated by your actual player base. If your game is something more experimental, giving it time to breathe with the modular iterative approach can help keep the project on track in the right way.
Now, there’s one last critical aspect to finishing your games that’s oftentimes overlooked by most game developers, and that’s… commitment. If you aren’t committed to your project, you won’t get anywhere. Do you abandon your significant other because someone seemingly more attractive passes by? Do you sell your car because there’s a brand new model out that looks slightly better? Of course not, because you lose everything that you put into them beforehand. If you’re struggling with having tons of cool ideas for other projects, don’t just abandon your main project. Take those ideas and put them somewhere else, such as in a text document or a journal. Personally, I think that this is one of the biggest limiting factors of a developer. It is often the case that developers are afraid to commit to their ideas or discover down the line that they didn’t actually like their ideas in the first place, so they deal with this by just switching around what they’re doing constantly. Staying focused on one project and one idea at a time will actually help you finish your project. Commitment is critical.
Important Takeaways: One large problem with indie development is actually finishing games. This is a mixture of commitment problems and overzealous idea implementation, but it’s a problem nonetheless. First, set a deadline and cut your project to meet the deadline instead of pushing the deadline back to meet the project. If you do this the other way around, you risk never actually finishing your game due to the perceived disappoint of what you have versus what could be. Next, you should always be keeping your task-list clean and relevant, as wasting development time on something that has no significant in the long run will just make finishing your game that much harder. Finally, if meeting your goal is too tough, try moving the goal back instead. Make something simple, release it in alpha, and progressively iterate on it. This will make sure that you get something out to grab your audience’s attention and will allow you to slowly mold your game into your dream game while still being able to pay the bills.
Unfortunately, no matter how many of these tips you follow, nothing will be done if you can’t commit to your project. If you keep going all over the place with your development, everything will be half-baked in the end, and that end may never come in the first place. If you have cool ideas for some other game, just stick them somewhere else and reference them after you’ve finished what you’re currently working on. If you can’t focus on one task at a time, you’re resetting your progress with every switch and indefinitely extending your game’s development time. Obviously this is quite horrible if you’re trying to make a living as a game developer, as your success as an indie developer depends on the quality and marketing of games that you ship, not the countless unfinished prototypes that you’re working on.