[MUD-Dev] TECH: Distributed Muds

Kevin Littlejohn darius at bofh.net.au
Mon Apr 30 10:37:18 New Zealand Standard Time 2001

"John Buehler" wrote
> Eli Stevens writes:
>> From: "J C Lawrence" <claw at 2wire.com>

>>> Why design your model so that the incremental unit in the working
>>> set definition is so large as a zone?  What if the bas (world)
>>> incremental unit was smaller, perhaps even at the individual
>>> object level?

>> inexperience with large scale systems make my ponderings less
>> useful than they might be.  Still, what I had been thinking seems
>> to match your question somewhat.  :)

>> So...  Am I an idiot?  Would this work well?  At all?

>> Suppose that the world is divided up into tiles that are a
>> significant fraction of the average character's perception distance
>> to some level of detail (perhaps at 300 feet avatars can recognize
>> faces, so the tiles are 300 square feet).

> The thing that seems so incredibly odd to me is the insistence that
> the world be partitioned for processing along geographic boundaries.
> I mentioned it in an earlier post and have been holding my tongue
> here, but I'll just quickly mention it again.

> Partition the world along skill lines, or perception lines, etc.
> Look at the processing schema of the world that you're providing and
> see what data and algorithms can be partitioned away.  Even those
> data and algorithms that can't be *completely* partitioned may be
> related to others along just a few, infrequently-touched schema
> connections.  In that case, transferring data between those
> partitions would be performed on an as-needed basis.

My main problem with this is that the problem people are trying to
solve with partitioning is invariably the huge amount of data needed
over an entire world.  Maybe you can reshuffle your data such that one
machine can hold all the collision detection data for a single world,
another machine can hold everything related to blacksmithing for every
entity, etc. - but I somehow doubt it.  Geographic break-ups allow you
to do splits based on the range of perception of the player - I can be
reasonably assured that everything I can see/interact with is on my
server, as lagless as possible.  Skill-based breakups would have my
actions bouncing across multiple servers - which would seem to
increase the complexity of my being logged in by including many more
points of failure.

But maybe I'm not seeing fully how this would work.

Internet techie                    Obsidian Consulting Group
Specialising in proxy servers and traffic measuring/billing.
http://www.obsidian.com.au/           darius at obsidian.com.au

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

More information about the MUD-Dev mailing list