[vos-d] parameterized views
Karsten Otto
otto at inf.fu-berlin.de
Tue Dec 5 06:08:42 EST 2006
Am 05.12.2006 um 08:14 schrieb Ken Taylor:
>
> Some sort of area-of-interest management is absolutely essential
> for shared
> virtual worlds of significant size. Think of something like Second
> Life or
> Active Worlds -- with a very large area and tens of thousands of
> objects,
> without the server filtering objects according to their distance
> from each
> user, it would have to send the state of the entire world to
> everybody! That
> would be a big problem, so instead you are able to see all objects
> that are
> 100m (or whatever) away from you, and the server only sends you
> updates
> about those objects. As long as the distance is set far enough, it
> shouldn't
> create a big immersion problem between users.
>
All right, my bad, of course I agree that AOIM is necessary for
scalability.
AFAIK there are basically two approaches to AOIM:
1) Chop up the whole world into manageable cells, which are small
enough not to get overpopulated, and maybe display its neighbours as
well if you have a powerfull machine and want to see farther.
2) Dynamically calculate your neighbor objects based on their
distance to you, pick a radius according to your processing power.
I assumed that a VOS sector would be a cell as in 1), and if the cell/
sector size was chosen correcly, you do not need any more AOIM within
it. In this case, once cell/sector equals one unit of synchronization
as well as one unit of world consensus. Cross-cell synching and
consensus is a different matter... My conversation example may as
well arise if Users A and B are in the same room (sector/cell), but
user A also sees the adjacent hallway and the street outside the
window (other cells/sectors). If misunderstanding arises then, I
wouldn't mind.
>
> This is a problem in the realm of real-time computer graphics in
> general.
> Say an object's center point is 100m away from me and my client
> decides not
> to view it. That's fine, unless the object is a mountain 200m wide!
> Having a
> parent object with a child object far away from it, as you
> describe, is a
> simliar problem. I'm not sure there's a really good, general
> solution to
> this problem, either. Even modern videogames exhibit some "popping" of
> distant objects. The best thing to do would probably be to try to
> design the
> world to minimize these kinds of objects that make the calculation of
> what-objects-are-close-enough-to-me difficult.
>
Right. For cell based AOIM, you could place mockup copies or
references of the mountain in each cell where people should see it.
Obviously this does not work as well with dynamic objects that move
around or require other synching (e.g. Godzilla approaching Tokio).
>
> If two avatars are near enough each other to interact, they totally
> should
> see a consistent world. But being able to deliver a different view per
> client can be usable for many areas -- network efficiency,
> scalability,
> accessibility, internationalization, etc. Also, there may be
> reasons to
> "instance" off a part of a world so a user, or group of users,
> effectively
> gets a private version of that 3d space. Video games is one
> application, or
> any web site with very high volume that doesn't want to have over-
> crowded
> spaces.
>
Ok, I see your point. I remember working 10 years back with a text-
based MUD, where you *could* place players in a "cloned room", but
the general consensus was to avoid such situations. I don't recall
the specifics of why that was so, except that it was pretty nasty to
handle from a programming point of view. And though I'm not an expert
on AI reasoing, I know that inferring meaningful facts from *one*
corpus of world data is hard enough; adding indivudual and partially
shared views to the mix is probably a nightmare :-)
Regards,
Karsten
More information about the vos-d
mailing list