So now I can get started on the code (the several many other thousand steps). The game is going to be both singleplayer and multiplayer, so I'm going with a client/server structure similar to the one described in Enginuity. I've only written one networked game before so this is going to be a fun learning exercise (It was called Raw. I finished it around the time I started this journal. It sucked, with a capital ass. I now hold it up as the example of all that can go wrong with a game.) I have a fair chunk of rote work ahead, just getting the foundations layed - the various gfx/input/sound/network/(client/server)/etc systems - before the actual game can start being put together. I looked into using a 3rd party engine for the game but since I enjoy coding this stuff I figured I'd do the whole thing myself from scratch.
I'm also considering releasing the source code for the game, even though I also intend to sell it. It'll be interesting to see if that is viable at the end of the project considering that a lot of the artwork in the game will be proceduraly generated, but I don't think there will be many practical reasons not to. If I do do it I'm going to go with the GPL, even though I'm not a big fan of it in general. This probably has something to do with the fact that I'm just after watching Revolution OS - and though it hasn't turned me off proprietary software at all, my OS fires are burning bright at the moment.
Currently listening to Jeff Wayne's War of the Worlds, what an album.