I’ll be the first to admit it. I don’t finish my games. I get them into a playable state. I get them to “good enough”, but I don’t get them to “finished”.
Answering “why?” is easy: building a rapid prototype is easy and fun. Finishing a game completely is difficult and tedious and, yes, exceedingly dull in parts.
I’d like to actually finish HamQuest, realizing that in games in general, and a roguelike especially, “done” is a completely relative and arbitrary term.
So let’s define “finished”. Finished means feature complete, content complete, documentation complete, and media complete.
I have to scale back my todo list, in this case, because two of the items on the TODO are a)port to silverlight and b)port to XNA. Technically, these should be separate projects. I have recently split out the game into the game mechanics back end and a rendering front end (with a little bit of bleed from front end into back end still, but that’s also on the TODO). So really my product has two pieces: back end and front end.
Mostly I’m concentrating on the engine part. The front end cannot possibly be finished until the back end is complete anyway.
So, back end and front end are still muddied up, and that is my highest priority because doing anything else just causes more mud.
After that, the next thing to do is to disentangle the content from the back end. Currently the item list, creature list, terrain list, and so on are all hard-coded in the back end. This is meant to be configurable, so this part will be crucial to the finishing of the back end. Naturally, some of this work is being done during the splitting of front and back ends. I’ve gotten through about 75% of the item types. They are now in a much better spot for moving them into xml files, but I don’t want to do so until the rest of the item types are also dealt with.
After all content is out of the back end, then content changes are simply configuration, which means the back end moves one step closer to done.
Then it’ll be time to finish up the features yet to be implemented (a few item types, a few other “effects” on the character) of the game itself.
Then on to content and media completion, then on to front end completion, then on to documentation completion.
And finally, after all of that, I want to be able to have the game automagically update itself like other .NET apps do, so I need to start learning how to do that using the publishing mechanism in VC# 2008 Express(after, of course, I actually move the application to 2008 from 2005, and maybe 2010 by the time I get there, who knows?).
So… why this drive for completion?
Quite frankly, I’m tired of not completing things. Look at my game portfolio on PlayDeez.com. They are (completely playable) game prototypes, not complete games.
I can do better than that. I can make a fully professionally done and polished game.
I’m also realizing that, at this point in my life, I don’t get a whole lot of time to work on these games, so constantly distracting myself with other projects that are fun prototypes to almost make really gets in the way of actually accomplishing something that I can take seriously.