Article / 22nd Jun 2007

Meticulously Multitasked Occasional Games

Over the years, many project ideas have sprung into (and out of) my head, but some persist for a worryingly long time. The latest contender in this category is the MMOG, or Massively Multiplayer Online Game.

See, at the start of 2006, I had a great idea; what if there was, like, some game that, like, erm, you could run around with other people that, err, wasn't an MMORPG. Of course, this gap has already been filled by Second Life, and several other lesser-known contenders.

Oblivious to this, and being rather naive, I decided to have a go at writing such a thing, just to see what it was like. Perhaps rather surprisingly, I got a networked game engine that actually synced, passed events around players and streamed all content over the network. It didn't do much else, and at this point my exams appeared, and so 'quspace', as it was codenamed, languished in my Programs folder.

Recently, though, the implementation of things like Second Life has been bugging me. Even the metaverse evangelists readily admit to its problems, the most important of which seems to be the complete reliance on Linden Labs.

Sure, there are things like the framerate, but the lack of decentralisation really worries me. It's not a sustainable model - the Internet is, and that's really very decentralised. So, I got out my thinking tools (some A4 paper and a pen), and decided to think.

I eventually came up with a design for a fully decentralised system, including authentication/identity, multiple worlds, chat, user permissions, and so on. The idea relies on an OpenID-like system, where each user is identified with their username identity server, rather than just by some username which has to be compared againstt a big (central) database.

Worlds need only store information about a user relevant to their system - such as the user's status in this world, how much of any items they have, and so on. The obvious drawback here is that the items/money/whatever values aren't shared between different clusters of Worlds, but then why would you want to? If the 'money' you have in one world is translatable into something in another, then obviously the two Worlds are somehow related, and a sending/exchange system could be implemented.

It's quite analogous to something like IRC; while you may be lord and master of one channel, your status means nothing in another. The idea is extended even further, however; the only thing that needs to be common between two worlds is you. If you want some way to build up virtual items and feel good, you're free to stay on one server. If you want variety, or just to explore, go and visit as many as you can. In this sense it's like the Web; your profile on Digg has no effect on your profile at Reddit. Things can interact if they want to, but it's really not necessary.

The problem is that ideas like this are almost doomed to failure. Perhaps, if you get the right combination, make the barrier to entry low enough, and make it popular, it will work, but there's a lot of competition. Will this deter me from having a go at writing it again? Probably not.