[MUD-Dev] Seamlessly Distributed Online Environments

J C Lawrence claw at kanga.nu
Thu Sep 11 11:13:52 CEST 2003


On Thu, 11 Sep 2003 09:31:44 +0100
Crosbie Fitch <crosbie at cyberspaceengineers.org> wrote:
> From: J C Lawrence
>> Crosbie Fitch <crosbie at cyberspaceengineers.org> wrote:

>>> Might I suggest that for this 'central database' you utilise a
>>> p2p service, like Gnutella say?

>> That would raise far more problems than it solved.  P2P doesn't
>> actually solve anything here except buzzword factor.

> Wow. I must be on to something here for you to spend so much time
> and effort attempting to so thoroughly demonstrate how it couldn't
> possibly work.

Messages are easy and quick to write.  We're not talking a lot of
effort here.

> Here's how it could work (apologies for the treacle site, but I've
> got it misconfigured at the time of posting):

>   http://www.cyberspaceengineers.org/ (Solar Système Segundo).

That doesn't solve any of the core problems.  You are relying on
emergent user popularity metrics to implement what you assume will
be an emergent approximation to a globally unique namespace, while
ignoring the fact that you've implemented no way for a new object
sharing the identity of an older and necessarily more popular
object, to overtake the older object's popularity as you also have
no way to explicitly specify an exact version and implementation of
an object.

The catch her is that once you have a way to explicitly and exactly
identify particular versions and implementations of objects, you
then have a global namespace which is _attempting_ to be unique.
The problem is that guaranteeing that uniqueness is non-trivial.

Now, much as Hans mulls, if you don't care about logical consistency
and relation among your objects, and the retrieved items are
equivalent to NWN's compleatly standalone and discrete worlds things
get easier, but they don't solve.

Consider the simple case of you and your friend Bubba both standing
in the same game world segment and busily hcatting in-game.  You
both (near-)simultaneously transition a boundary into a new world
segment.  How do you guarantee that you both get the self-same new
world segment?  What guarantees that you both retrieve the same
version of the same object for the new world segment?  He might get
one version, you may get another.  How does that work for communal
play?  How about if you then ask Boffo to join you in this new world
segment -- how do you ensure that he gets the same one you do?

Do you overlay the protocol with invitation mechanics so that
collisions are usually accidental but nodes can explicitly request
ObjectFoo from PlayerBar, thus guaranteeing that they get the same
object that PlayerBar has?  Instant DoS recipe and pity the poor guy
on dialup.

> There are many benefits that 'online environments' would enjoy if
> they were 'seamlessly distributed'. Granted there are problems
> too, but why don't we try and focus on how to make things work,
> rather than how to make things not work?

If you add PKI or another strong identity system into the mix it can
be done as that in turn defines a globally unique namespace (the
identities) and thus allows definition and specification of globally
unique dependent objects.

--
J C Lawrence
---------(*)                Satan, oscillate my metallic sonatas.
claw at kanga.nu               He lived as a devil, eh?
http://www.kanga.nu/~claw/  Evil is a name of a foeman, as I live.
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list