[MUD-Dev] MMORPG/MMOG P2P design

Mike Shaver shaver at off.net
Sat Feb 22 16:54:22 New Zealand Daylight Time 2003

On Feb 22, Crosbie Fitch wrote:

>> (there is a Holy Grail kept in a glass case.  You've allowed
>> servers A and B to know about it.  You go down, server B is down,
>> server A has someone break into the case and steal the Grail.
>> Server A then goes down and you and server B come up, and assure
>> people with calm confidence that the Holy Grail is still in the
>> case.
> Think in terms of 2 million PCs, not just 2. Massive redundancy.

How do you get that data to 2 million PCs?  When I break the case on
the grail, are you broadcasting that data to everyone with a
then-live server?  Even if we pretend that multicast actually exists
for the majority of internet-connected people, it's an ugly amount
of data.

> However, yes, the thought experiment you describe is valid, but
> there is no solution in such a contrived situation. Even so, it is
> possible to ensure that there is a reliable way of arbitrating
> over such cases (should they ever happen) and thus ensure the
> system doesn't get its knickers in a twist.

The system being self-consistent is one thing; how do you keep the
_players_ from getting their knickers in a twist?  If I traded my
shop and wares to some player for the Grail, and now you roll it
back to being in the case, what happens to my shop?  Sure, your
distribution infrastructure ran through its quorum mechanisms again,
and decided that Server B > Server A, but the idea that the results
of my actions can disappear after I've been told they happened
sucks.  Players hate rollback, and if it happens a lot -- what do
you expect the aggregate MTBF is for a system with 2 million PCs? a
few minutes? -- you're going to have a hard time getting them to
stick around.

  (Or they'll figure out which servers are going to win an argument,
  and only play on those, I guess.)

Interesting games are about interesting choices and interesting
consequences, IMO.  Unless your game-fiction goes _very_ far out of
its way to make the idea of a flaky cause-effect chain reasonable to
the players, the fact that the consequences of your actions may well
not exist when you log in tomorrow makes for a pretty poor play

And then you have to deal with the fact that when someone turns
their computer back on, you have to do this quorum,
validate-against-the-world dance.  How long does that take?

> Some more discussion here:

>   http://www.cyberspaceengineers.org/issues/technical/techfaq.htm

Very interesting stuff.  How does the problem of "convince everyone
else that Robin's socks are red and not blue" differ from "inform
the other servers that Robin juust dyed his socks legally"?

  (I scanned the page and didn't see an answer, but I'll read in
  more detail when I get a chance this weekend.)


MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list