[DGD] just out of curiosity

Ragnar Lonn prl at gatorhole.se
Tue Sep 11 21:20:33 CEST 2012


On 09/11/2012 07:58 PM, Shentino wrote:
> Geir Hansen's thesis document on distributed muds might be a good read.
>
> The gist of it is that it uses a similiar mechanism to atomic rollback
> to bounce objects between servers as needed to complete tasks.

Thanks, yeah, I read that. We actually had two very bright CS students 
do similar work for their thesis projects back in 2005, and I had them 
read Geir's thesis. One problem with Geir's solution was that it spent a 
lot of time moving objects around between servers, as it required 
objects to be local when accessing or modifying them. I think Geir 
worked around this performance weakness by designing the world so that 
objects were sparse at the corners of a region handled by a server. I.e. 
because objects are likely to interact with other objects that are close 
to them geographically, it makes sense to reduce the number of objects 
around server boundaries (if boundaries are geographical).

We took this a step further and defined a max interaction depth - a 
physical distance inside the game where objects could interact. By 
making it impossible to interact with objects that were far away, we 
simplified the problem quite a bit, and the compromise was very small. 
If we can make a compromise that drastically reduces complexity while 
still supporting 95% of all use-cases, it's a no-brainer in my book. 
(interaction over large distances can of course happen anyway, but it 
will be asynchronous). Our thesis students managed to produce a 
functional implementation in Java that successfully distributed game 
state across a large number of instances, with working state redundancy 
and single-threaded semantics. Theirs was far from a fully functional 
platform, but there might be some good ideas there.

   /Ragnar





More information about the DGD mailing list