But how can time be wasted on a project like a video game? There are many ways, but here are a few:
- Feature creep
- Obsession with clean code
- Unnecessary polish
I'm not going to talk about feature creep in this article. That is the most common time bandit that you read about. Google will give you pages and pages of articles on it I'm sure.
Instead, I'll write about some less known ones that I've encounter often. These others can sneak into your project and suck your time away like a black hole. They make you to wonder, after years of working on a game project, "why is this not done yet?" Let's take a minute to understand these time bandits so we can stomp them out before they become a problem.
Obsession with clean codeClean code is precious. It's beautiful. Where spaghetti code gives you lemons, clean code gives you lemonade.
I'm a vigilant supporter of writing clean code. I'm always up for reading a good article on how to improve code quality. But this takes time. It's definitely worth your time, but code can always be improved. There is no end to making clean code cleaner. At some point, it's good enough and you should move on. As long as its not an unholy mess, take a moment to decide whether it's something that needs your attention now, later, or at all for that matter. Keep in mind that your end goal is to finish a game, not to submit your code to some organization to win awards for code perfection.
Unnecessary polishYou may get new ideas during development. Some ideas don't work, so you scrap them. But if you've spent hours-on-end polishing a facet of your game that you toss out in the middle of development, then you've just tossed out all that time with it.
Polish is attention to detail, taking the time to fix and improve all the minor imperfections. This separates the lackluster "maybe I'll check it out if I have the time" games from games that demand your attention. Polished games feel professional, look sick, and speak for themselves.
I encourage every game developer to invest as much time as they can to polish their game to perfection. However, there's a time for this. It's *not* during the first two-thirds of core development. That time should be spent working on content and fleshing out your game. Once your game is complete, start-to-finish, then take the time to polish it and make things shine. Otherwise, you're touching up a painting where half the canvas is blank.
Let's be fair. You want your game to look good, sound good, and be an overall good experience while you're working on it. It's no fun to work with crappy graphics and sound, for example. And why work on a project that's no fun?
You're game should look good during development. This gives you inspiration to keep moving forward. But only keep it good, not stellar. Save that for later.