So, there I was walking down the hall to my room and I was thinking about ARC and the now failed remexos and how people would surely try to create a mmo with ARC. then I thought about how creating a server to host an mmo was a pain in the ass what with how such a things scale and that (scale referring to the growth of people playing the game and how you need a bigger and bigger server and more and more bandwidth, and evential more server location ect.) Then I a moment of fridge brilliance, "Too bad there is no way a distributed MMO would work" I thought. Dam you to hell brain. Dam you.
about an hour later I was thinking about how one would go about creating a MMO that worked in a distributed form (distributed referring to how the network is set up, instead of everyone connected to a central server and that server relaying their communication to other clients connected to the server. people are connected directly to each other bouncing communications along. think bit torrent, there is a central tracker but once you connect to the tracker and get a list of other people in the network you don't have to talk to the server again until you want to update that list.) I quickly realized that this kind of setup would never work with your average MMO. such game play would not work when each and every player has the potential to act as their own server and everyone can effectively drop out of existence at any moment. the game would have to be designed to deal with large latency between clients, and be both playable fair even if players where were acting as relays to other players (aka hosts) dropped out removing part of the world.
For some reason I came up with the analogy that each player was effectively their own bubble universe and a distributed MMO would need to provide a reliable way for these universes to communicate and interact in ways that would be considered fair gameplay.
And this line of thinking spawned what I think would be the most awesome game EVER! if properly brought to fruition of course.
God Play (Title is a W.I.P and may change)
the idea of the game is simple. each player exists in their own bubble universe. They are a "bubble god", a fifth dimensional being, guiding a civilization to power and in this aspect the games function like an RTS. Exact gameplay on this level hasn't been worked out but it will probably be much simplified from you average Starcraft like game, probably closer to something like OGame. however at some point another entity enters your universe and provides your civilization the power to contact and travel too other universes. This entity is a "god" of some sort that has far more power than you a "god of gods" if you will, and is hopping around between universes granting significantly advanced civilizations the ability to contact other universes just for kicks and giggles. S/He's a bastard in that respect.
Players will be able to contact any online player's universe and do things like trade or start combat. but here comes the fun part. each time you make contact with another universe. BOTH players universe split, the split universes are connected and are only playable if all players are online. they remain "Temporal Locked" as it were if a player who controls a connected universe is offline. your main, first universe however remains unlocked and playable. once contact with the connected universes is severed the split universes "merge" back into the main universe. I've no idea how this mechanic will work at the moment but it will be there.
The actually network will work like so. There will be a "central server" but only in the respect that it acts as a origin repository of everyone in the network. as the player base grows smaller "local servers" will be setup for "communities" of players, these "local servers" will periodicity push their player lists and stats to the central server to keep it updated. The "local servers" will also keep a list of other servers a player could connect too and should players wish to contact other players outside of their local server they can request the server to push their records to another server that is has in it's lists. and they will then be able to connect to that server instead. When a player actually connect to a server all that is stored is the player name, and their current IP. when a player want to connect to another player the connection is direct using the IP given by the server the connecting player connects to the client like a normal server. This way the server load is reduced to minimum with the clients picking up the brunt of the work.
Now, obviously the idea for this is NOT fleshed out. In fact, I'd call this fairly bare bones, but can you guys see the appeal of such a game? would you want to see the idea fleshed out?
also can you help me think of a way that merging universes after temporal splits could work?