It's been an interesting few months writing it.
As you'd expect, the fun part is the beginning. Coming up with a concept, putting the basic framework together. Planning. Seeing it render anything for the first time. Seeing it play itself (since, of course, it has various testing modes that I can turn on to check things out -- there's no way you can playtest everything all by yourself, and after a while you are going to get sick of playing your own game anyway. Still, watching it play itself is a bit like watching Conway's game of life for the first time).
There are still fun parts along the way... Seeing the interface come together. Seeing the gameplay get smoother and smoother. Optimizing this and that. When the AI finally beat me for the first time. When the AI not only beat me but did it in a completely unexpected way. (As an aside, it's really hard not to take the AI into account during playtesting knowing everything you know about it because you wrote it. It's hard not to take advantages of weaknesses you know it has, knowing as you do how to manipulate it -- but when it beats you in a way you didn't expect anyway, well, that's something amazing).
But... There are not fun parts, too. Dealing with all the bureaucracy involved with becoming an Apple developer. Dealing with the business stuff (fortunately Ai-chan is there for that). Fixing subtle bugs that are almost impossible to duplicate. Dropping features you liked because they just don't work or they're too complicated to implement or use. Rewriting the AI from scratch and breaking half the game in the process. Trying to figure out why stuff that worked before suddenly doesn't when you rewrite the AI -- but doesn't seem to have anything to do with the AI in the first place. Rebalancing everything for the tenth time when you discover some subtle-yet-major bug that completely invalidates your previous game balance testing. Just working on it (after spending all day doing your day job -- always the priority, even when it's not as much fun -- sometimes it is, and sometimes it ain't, but you got to eat and pay Ai-chan's grad school tuition somehow) when you're tired of working on it and all the fun parts are done anyway. And, you know, writing those parts you don't care that much about but need to do anyway (say, the documentation you still haven't written).
At any rate the game's been code complete for a couple weeks (the last major feature being that whole game save thing some people, you know, might want). Of course, that doesn't mean you're done -- not even close. It just means it's time to go to beta, see if you can scrounge up people to test it (anybody else want to be a beta tester?), and spend the next few weeks fixing bugs. And, oh, yeah, write the docs. And a proper tutorial scenario, because your quickstart thing kinda sucks.
And then port it over to the iPad, which was the original goal of the exercise because that's where the real market is. And then, maybe next year sometime, you might get your weekends back.
And then turn around and write another one (or two, or three) because chances are the game won't make enough money to be worth the effort anyway (also in the category of not fun things: marketing), but if you keep chugging at it, maybe something will stick in this, your third stab at a creative career (since you've long since decided that writing and art isn't for you).
But writing games is fun, right? o_O
Anyway, back to that whole rebalancing and playtesting thing I might have mentioned.
[ Crossposted from http://doubt72.dreamwidth.org/9153.html ]