Focus, Focus--Design Documents Can Help
I've been programming as a hobby off and on for over 10 years. To this day, I consider myself an "advanced beginner." My gateway into programming began with C++ and a copy of Ian Parberry's Learn Computer Game Programming with DirectX 7.0 (a very, very good book in my opinion). When I started to think that I'd really like to pursue game programming, I also got my hands on Game Design: Secrets of the Sages, edited by Marc Salzman. It was an interesting book, but the part that I remember even today is mainly the game pre-production part of the book, which emphasized the importance of design documents, story boarding, and the like. Unfortunately, I promptly ignored the advice as not applicable to small projects like mine.
I wish I hadn't ignored it. When it comes to games, I used to have a rather annoying self-defeating approach to development, in that my simple idea would quickly be overcome by feature creep. Lack of focus and direction is, I'm willing to bet, the biggest obstacle to single-person and small team game development. Lack of focus on a design can drag development out insufferably. A personal example of this is my first attempt at a true video game--it was a board game inspired by the game of Checkers called KingMe! What started out as a simple one-or-two player game idea soon morphed into a monstrosity, complete with 8 different game variations and chat-enabled multiplayer support. It looked great in my head, and in my head it remained. I soon realized that development was grinding to a halt, so I broke the concept into three game versions: a "Granite" (simple version, freeware), and "Iron" version (same as Granite, but with networked multiplayer support, and a "Gold" version (everything else). Fortunately, I was able to finish my "KingMe! Iron" version in 2003, but it took 2 to 3 times as long as it should have. The Iron and Gold versions were never completed.
Screenshot of the KingMe! Granite game--my first game that
barely made it out of a bog of feature creep.
Fast forward several years to the present day and my current project, Titan Trivia. When I decided to go ahead with Titan, my old habit paid a visit with all kinds of cool ideas, but I was on to it. I decided I needed something to focus on, a document that would keep me tuned to my original game design. That's not to say that changes haven't been made, but even now I'm surprised how well this document has kept me focused. In fact, I found that contrary to my original attitude toward design documents (that they would inhibit creativity), my Titan Triva document in fact gave me a consistent starting point for more relevant inspiration. It's not a complicated or sophisticated document--it's simply a few slides I threw together in OpenOffice that outlines the basics of design and function ideas, but I referred to it often in the initial days of putting together the pieces of the game.
I'll wrap this up here, but below are a few comparisons of my original design document concepts beside the more-or-less final versions of the interface.
The "Load Databases" button is a convenience button for me as I add trivia questions.
It won't be on the actual release version.