I recently released an iPhone/iPad game called Bounce Box, a simple arcade reflex game with trance visuals. It’s not the best game I’ve ever made or have ever wanted to make, but it is a lot of fun to play, and it’s done. Game development takes time and especially when working solo and without hard deadlines, it can be really hard to actually push something out the door. At almost every stage, there is more that can be added or polished but at a certain point all of these improvements prevent the game from ever happening.
In my own head and in the heads of most indies I know, there are a thousand ideas that I think are really great, and new ones worm their way in all the time. Often I get a bit fixated on one of these and spend a week or so designing the game in my head, thinking about all the features it could have and just how cool this thing will be when I make it. While this meandering brainstorming is a great way to come up with new ideas and mechanics, it can also be a really good way to make sure something never happens. When I don’t sit down and actually start building something, it becomes far too easy to start adding and adding to the game. It’s not that these ideas aren’t good– they might be awesome. The issue is that these new ideas balloon a project to more than I can really handle as a one man team.
When I have a game idea that I think has potential. I like to get down to making paper prototypes and coding quickly. What is the core of the game? How can I simulate it and what makes the game fun? Once I have a small prototype of a game I have a much better idea of what I can do with it, both in terms of where the fun really is (something that is very hard to gauge accurately when the game exists only as thoughts) and in terms of the level of work required to implement anything else I want to do. Having a product, even an ugly, hacky prototype, instantly forces me back to Earth, and while I still imagine new things to do with it, these new ideas tend to be far more grounded and realizable.
For me, at least, this is also a good point to get a sense of the scope of a project. I started working on Bounce Box because I had a larger (although still relatively small) iOS title I had been working on as my first real iPhone game, but there were aspects of the iTunes store and Game Center that I wanted to test. So I knew I wanted to make a small game over the course of a few weeks that could incorporate these things. Bounce Box had been a flash game I made a few years ago that I liked, but which had some problems: It was more complex than it needed to be and there was a pretty easy exploit that allowed players to get a very high score pretty easily. Remaking it had been on my “whenever” to-do list for about a year so it seemed like a prime candidate.
What was important in this process was that I had other games I was working on, and that while I wanted Bounce Box to be good, it needed to be done. I gave myself three weeks. After that I needed to return to my other, longer term projects (one of which was my thesis). By the end of it, I had made some pretty significant changes to the game, completely redid the menu pages, and did all of the iOS integration. It’s not my masterpiece, but it is a lot of fun, and it’s out there and I do not have any intention of pouring more time into it. This project is done. I could have spent more time tweaking it or adding more modes, but it didn’t need it and I needed to move on.
While it may be easy to say that if a project is worth doing at all, it is worth doing until it is perfect, the reality is that finishing games is good, and I have learned more from every game that I finished then from any half done projects, even if they had more total time put into them. This is one of the reasons I love game jams: they force you through the whole process in just 48 hours. Being done with a game allows me to reflect on it and see what worked and what didn’t, and getting there forces me to ask what is really important about it and what can be cut. And best of all, done is done. The game is out there and people can play it, and no matter how good a half done project is, and no matter how cool it can be if just a few more levels or new models, if people can’t play it, it doesn’t really exist.
I don’t need to tell you how great Bounce Box will be or how it just needs a little more polish. You can find out yourself for 99 cents, and I can move on to other projects.