Thursday, February 17, 2005

Update: Infrastructure

  • My Linux box now has differential backups each weekday with a full backup on the weekend. Have to say I'm very impressed with how Mondo Rescue delivers -- everything's neatly packed onto DVD's. I'm a little concerned at the state of Mondo's website, though. Half the links are broken and the forum contains nothing but unanswered questions. I understand free software developers have lives that need tending to, however it'd be a shame to see such promising work fall by the wayside.
  • Subversion repository is in place and working nicely. The similarities to CVS should make working with it easy. As it happens, though, I've been working exclusively with Perforce at work so I keep catching myself unconsciously typing "p4" at every opportunity. Grrr...
  • Initial Ant build script is in place. Right now it only compiles the documentation. As I begin coding, I'll expand on this with the CC task.
  • I've written some initial paragraphs of the treatment and design document. DocBook is working alright and the xslt processing I have set up in the build script is turning it into serviceable HTML. Not entirely satisfied with the build process in this respect -- I need a better way to abstract where the XSL files are, but Ant's xslt task won't allow for stashing stylesheet locations into a catalog. I may just end up invoking the XSLT processor through java directly rather than futzing around with the Ant task.
So, for a task list prioritized below both work and family life, I'm not unhappy with the results. The regular backups were something I've been itching to do for a while. What remains:
  • Reimplement the XSLT processing as mentioned above. I guess this isn't an issue until I or someone else attempts to compile the documents on a different computer. Then we'll find that the build breaks right and left due to the stylesheets begin stashed in different locations. That's not exactly impending but it's low-hanging fruit. Possibly I'm creating unnecessary work to put off writing documentation.
  • Create PDFs of the documents. Would be very useful for printed documentation.
  • Create a full backup and drop it into a safe deposit box. Never can be too careful, as a coworker once found out when an electrical fire took out his entire office, including computer.
  • Nightly builds, courtesy of CruiseControl. Another example of all the free tools available to an underpaid coder like myself. How can anyone excuse poor development practices these days?

Thursday, February 10, 2005

Near Term Goals: Infrastructure

So I thought it might be nice to first work on a few things that will make the slow onerous tasks of creating this game easier. Here are a few short term goals to get me underway:The reader will note that I'm one of those cheap, open source using bastards. If anything, that's going to be the saving grace of this whole project. I'm discovering there's even a wealth of game specific libraries and components -- quality stuff, mind you -- that's available as open source. More on that later.

Friday, February 04, 2005

Making the Galaxy Fun Again

Probably should actually discuss the game idea itself, given that this page is devoted to it.

A genre of games have formed around the idea of an inter-galactic privateer. Examples of this genre include Elite, Privateer, Freelancer, Eve Online, and Earth and Beyond. Two of these, Eve Online and the departed Earth and Beyond, have taken this concept and expanded it to be a multiplayer game.

However, as far as the play experience, I always found Eve Online to have a very isolated feel despite the fact there were players all around the galaxy. There are reasons for this:
  • Although each player has an avatar in the form of a static picture, so-called "face-to-face" dealings occur with each party wrapped in a big metal shell.
  • Space is big. Log onto Everquest and you'll see avatars all over the place. Part of this is due to the fact that everyone is mapped onto a two-dimensional plane -- the ground. Now take that same number of players and throw them into a three-dimensional void. That's right, all of 'em, not just the griefers. What you've got is a very sparse distribution.
  • Spacecraft are tiny, relatively speaking. Even if multiple players are intentionally trying to cluster together, a good deal of the time they're going to appear to one another as so many lumps of pixels. The effect perspective has just doesn't add to the camaraderie.
If a person's going to feel isolated in a MMORPG they might as well play a single player game to avoid the griefers and the monthly fee. How do we rectify this? Here are the ideas that I'm using as the basis for gameplay:
  • No more spaceships as avatars. Each player is portrayed as a living, breathing humanoid that can move from a space station to a ship or don a environment suit and go floating outside the airlock for a while. Once the player is unbolted from the cockpit they can begin to actually interact with the other players.
  • Space travel is a team activity. You need a Pilot/Navigator to get you there, a Technician to keep the craft in good working order, a Medic to treat radiation poisoning and exposure to hard vacuum, a Trader to find decent missions and arrange cargo shipments, and a couple of solid Grunts to take on whatever's hiding out in that derelict vessel you're boarding. The crew aboard a ship are going to require a lot of interaction to handle the hazards of space faring.
  • Missions to take the players to interesting places. Salvage operations on abandoned warships. Distress signals to heed. Mysterious space probes floating eerily through the black. Due to the size of space, you only stand a chance of finding these items in a mission briefing.
An interesting effect when you combine these features is what some MMORPGs are already calling "instancing", where a group of players who enjoy each other's company break off from the main game world for a while and adventure. This makes it a lot easier to distribute server load. It also avoids the whole "take a number" aspect of some game worlds where you have to wait for the monster to respawn to complete the quest.

In this case, instead of creating parallel instances of the same dungeon, each crew travels inside their "dungeon" and docks it onto other "dungeons" to fulfill the terms of their mission. Instead of single quests, there are unique missions composed of various themes generated on demand -- an easy feat when your dungeons can fly around. And, unlike traditional instancing, by giving other players your mission coordinates, it's even feasible for multiple crews to collaborate -- or compete -- on a mission.

A Gathering of Developers

As it happens, Penny Arcade mentioned today an upcoming game developer career fair in my neck of the woods. The entrance fee seems a bit steep, but I have to admit it's piqued my interest.

A Matter of Time and Effort

It's a strange thing, the creative process. I am, to the core of my being, a lazy man. However, I find some ideas refuse to leave me be until I've given them a chance. Whether the venture results in success or failure is beside the point -- perhaps the only point is that some honest effort is needed to get some notions out of your system.

This particular idea is one that has nagged at me for over a year. I want to start my own game company. I want to develop games. More specifically, I'd like to create a big ol' Massive Multiplayer Online Role-Playing Game.

If you're a stranger to software development, let me clue you in that this is a monumental undertaking even with a full team of people plugging away at it.

Which brings me to this site. I hate people who talk blue sky like it's going to happen. That's not me, though, no sir. I'm actually fairly certain that developing a full scale MMORPG isn't going to happen. However, this isn't about accomplishing something, this is about getting this out of my system.

Which brings me to this site. It is my intention to log my efforts and ideas here until I either:
  1. Develop the damn game.
  2. Lose the urge and move on to other things.
Hopefully, doing this all out in public will keep me honest and quell some cathartic creative impulses. Perhaps something more tangible will come of it. We'll see, won't we?