This post originally available on my dev blog.
So, you've got a new game idea, and it's going to change what everyone knows about the genre! Great!
After making a Game Design Document, you proceed to make some art, or maybe a prototype. You even got that fancy gimp program, or started using a new 'multi-platform' library.
Time went on and you hit a wall. Maybe it's that annoying bug in the second level. Your plans aren't panning out that well. It's just too much work.
You start making excuses. The game idea wasn't that great. It might actually be a bit boring. The art looks crappy.
You abandon the project. There are better ideas you say.
If the above sounds like you, then the bad news is with the way things are going, you might not release any games at all and just lock them inside your head!
The good news is, you're not alone. Almost every game developer loses interest in projects they are working on.
Coming from my personal experience, and interviewing a few other successful game developers, I've compiled a list of things to do when you find yourself killing off your own games.
1. Stop Editing
When writing, authors typically have one rule when making their first draft, and that is to kill the 'infernal internal editor'. "Don't edit, just write!"
This actually carries over to a lot of other creative industries, including game development. When developing a game, always make it so it just barely passes
, and move on. The more you work on other parts of the project, the more motivated you will be. Don't try to perfect your game on the first run, remember, you can always edit it later on.
2. Make A Deadline
This goes hand in hand with Number One. Enforce a time constraint, do your best to stick to it, and you'll find yourself working on the essential game aspects.
There are lots of events with this in mind, such as OGAM (One Game A Month), and Ludum Dare.
3. Go For Small Games - if you're just starting
When you're just starting, start small. Making a fun solid game/minigame is a huge
leap for a game developer, and having at least one released game already puts you ahead of many of your contemporaries.
"But that super awesome MMORPG with that unique mechanic is going to be huge" you say. That sort of enthusiasm will go a long way, but if you haven't even been able to create one small game, do you really have what it takes to commit yourself to such a big project?
If your game idea simply and absolutely cannot wait, then try creating what's called a 'Vertical Slice'. Instead of creating your entire game, why not try creating one scene, one battle, or one encounter? This nets a plus on all components, because you can instantly:
- Test out your idea
- See if it's actually fun
- And actually have something to show for your effort
4. Make it a Habit
Whether you're someone who makes games as a hobby, or someone who really wants to get into the industry, then make it a habit. Do one part of your game, everyday. It doesn't matter how much you can do in a day, the important part is that you work on the game.
You can even get yourself a to do list. Ticking something as done gets a nice feeling to your stomach!
5. Don't worry about the technology
You're salivating over that new libgdx library that can compile to every platform known to mankind. You want to use Haxe because it's fast, multiplatform, and l33t. Microsoft killed XNA, and you avoid it like a plague.
The thing is, Don't Care! Remember, you're making a game, and it doesn't matter what language you use.
If your game is boring, no one will play it, even if you used the newest, shiniest language to have ever existed.
The next tip is also an inherent flaw of game programmers, but can be applied to game developing in general.
6. Keep It Simple Stupid!
If you're a programmer, just code, don't edit (slightly bringing us back to tip #1).
Design Patterns? Throw 'em away.
Component Based Systems? So last year.
Event Listener's inefficient? Leave them be.
Keep it Simple Stupid (KiSS) is an actual programming methodology. It's what it says on the tin, just keep your code simple. Don't get fancy with design patterns, component based systems, or making your loop run in the most efficient way possible. Pre-Optimization is the root of all evil.
Take pride in doing what you did, even if it was bad code. You might have a game with bad code, but at least you're not the other guy who has no game but good code.
7. Public Beta Tests
When losing motivation, try being public! Share what you have so far, be it a doodle, a screenshot, or maybe even a demo. Get a friend to play your game, and with the internet, you can't have excuses for not finding anyone.
The feedback you'll get for your game is priceless, outlining what's fun and what's not, and it may even be the push you need to make it big.
If there was ever a point in your life where you've done something that you didn't even realize time passing, then you've undergone flow
(which is what hypnosis puts you in). When you're in this state, you're so focused on what you're doing that you won't even notice a plane crashing next door (okay, maybe that was an over statement).
The point is, we can be totally immersed in one activity, and this is what you want to happen when developing your game. Close out your browser and focus, have fun, and don't think of anything else. Throw out coding practices, optimizations, and don't perfect stuff. Just do it.
9. It's Dead Jim
Maybe the game really didn't pan out as you've hoped to be. The gameplay was really flawed and it's not fun.
Sometimes, we need to quit when it's simply not working. (Seth Godin tackles it in his book, The Dip: A Little Book That Teaches You When to Quit (and When to Stick)
Remember, there is nothing wrong with making a game and just leaving it at that. You've gained experience, and that's always a plus. But don't just leave your game in the back of your hard drive, going back to tip #7, be Public! Share it on forums, saying it was a game you did in your free time that was left unfinished.
What do you know, maybe someone even gives you valuable feedback that turns out to be all that you needed...