Wednesday, November 14, 2012

Why I Suck at Finishing Game Projects

There's a great moment for me in Indie Game: The Movie when Jonathan Blow talks about all the unfinished games he tried to make and how demoralizing it was to never be able to finish making games and how he finally decided to set out to and finish one.  I laughed and thought to myself, "hey, that's just like me!"  I'm sure many others out there who watched it had the same reaction.  Let's face it, making a game from start to finish is not an easy thing, and many of us don't see the process all the way through.

Now I've been trying to make a game for a long time now.  I tried making my first back in 2002 and 10 years later, I've still yet to finish a game.  Trying to finish a game has been on my New Year's resolution lists for as long as I can remember.  Just to show you that I'm not kidding, here are a couple of excerpts from those lists:

2005: "finish writing a game (for real this time!)"
2006: "make one of the games from Wario Ware (so that I can write a game I can actually finish)"
2007: "write a game. I've been saying this for years so if I finally end up finishing one, bonus points for me"
2009: "I'm not just trying to write any game, but _the_ game. I started working on this last year and while development stalled for a bit, my goal this year is to finish it."

Needless to say, my track record for keeping this particular resolution isn't that great.

I read a great post recently by Tristan Clark of Launching Pad Games where he described his failures and mistakes in making games which was a great learning experience for me.  So I thought I'd do the same and examine all my past attempts to make games and share my failures so that perhaps you could learn something as well.

In 2002, I and two friends had finished making a small flash game and we were feeling ambitious so we set out to make a strategy game that was part real time, part not.  Think of it as Warcraft with battles that were like Advance Wars.  I had next to no experience with C++ and zero experience with DirectX so I bought Teach Yourself DirectX 7 in 24hours and set to it.  I had a 2d tile engine worked out and some simple pathing and we had quite a few art assets done but it proved it was going to be way more than my poor little coding skills at the time could handle at the time.  I got discouraged and work slowed down and eventually it just faded away.

A unit from the game.  Kind of like a beetle, with guns.  Lots of guns.
A year or two later, I decided to scale down my ambitions and make something really simple and easy so that I could finish it.  So I tried to make a game where you control a snowball cannon mounted on an igloo and the goal was to shoot down advancing snow men.  This was my first 3d game, and I actually got quite far, the cannon worked and you could shoot down snow men (though I didn't know how to do model animation, so I coded what was probably the worst looking falling down "animation" possible).  But as time progressed, I got busy with other things, and I began to neglect working on it.   I neglected the project for so long that it too just faded away.

Fast forward to 2008.  After years of doing nothing, I was motivated once again to make something, this time armed with a several years of programming experience and with XNA which made game development so much easier.  So I decide to make twin stick type shooter.  I had some really great innovative ideas and I had got the ship moving around and shooting.  But then it dawned on me that to do all the levels and enemy movements and all was going to take a lot longer than I had originally estimated so the thought of how long it was going to be scared me into stopping.

So then in 2009, I decided to take the shooter idea and simplify it immensely into a bullet trainer type game, so that I could all the code I had written could still be used.  I had all the levels configurable in xml so that it was easy to add levels, I had enemies and bullet patterns, I even had a main menu this time and a splash screen.  This would be the furthest I would ever get in a game.  But once again, life gets in the way (this usually happens when summer rolls around and I'd rather be out hitting the beach than sitting indoors and coding) and I began to neglect working on it and so it too faded away.

Lots of bullets!


So what can we learn from my failures?  Seems for me there are two recurring themes:

1.  Working on something too ambitious
2.  Neglecting the project

The good news is that the game I am working on now has suffered neither of those two problems so there's hope for me yet.

In the next few posts, I'll go over the strategies I've been using to help me overcome those problems and finally finish making a game.

No comments: