[MUD-Dev] Space partitioning, R-Trees?
crosbie at cyberspaceengineers.org
Wed Jun 5 12:40:54 New Zealand Standard Time 2002
Chris Greenhalgh expressed similar thoughts,
I'm also interested in the issue of locating mutually relevant
objects for the purpose of world modelling. However, it's from a
distributed systems rather than client/server type perspective, so
the following may not be useful to you, but you never know...
You can extend the idea of sense-radius to a generic idea of
'interest'. Think of it like a search query, or database query
even. All objects are interested in other objects that are relevant
to them. All objects have properties. So the interest can take
exactly the same shape as the class of objects that it matches.
There's a similar idea in Linda (now Java Spaces), where you have
tuples and anti-tuples. The latter are effectively wild-carded
tuples, and can be treated as sets.
The spatial distance of objects is just one particular attribute
that may determine its 'interest' to another object. So on an
interest (being very similar to an object in behaviour) the
properties or methods match precisely, or if the interest method or
property is expressed as a 'wildcard', or what I'd term a criterion,
then it matches only values intersecting that criterion. Just as
objects can have computed values (methods), so interests can have
computed criteria (perhaps based on each candidate object).
For a p2p type of world modelling system, it's better to make the
process of refining the 'relevant set' of objects necessary for
modelling a player's environment as flexible as possible, as
ultimately it is a bandwidth bound problem rather than a compute
bound one. It's only on the local computer that you have to worry
about things like spatial indices as part of optimisation for
rendering purposes (or on a server for efficent modelling). In
other words there's no point being able to efficiently figure out
which megabyte sized zone you need, when it would be better to
laboriously figure out which were the few K of really important
objects you needed, to be followed as bandwidth permits, by less
MUD-Dev mailing list
MUD-Dev at kanga.nu
More information about the MUD-Dev