Miriam English wrote:
> It occurred to me that a wishlist of functions and capabilities to be added
> to VNet might give us all food for thought. I already mentioned a few that
> I am keen on, but here are those and some more.
[snip]
> * database(s) for shared object states, behaviors, and ownership
Since this was a requirements document ;-) I hope you'll
forgive me if I point out that this item isn't a "what",
but a "how".
My reason for being so picky, apart from being peeved that
absolutely nothing happened this weekend (apart from my
giving my SO a kiss that started in one millennium and
ended in the next), is that we may end up focusing on "stuff
databases can do" rather than "stuff shared 3D worlds need",
and we may end up forgetting something important or focusing
on an aspect of the problem that isn't as important as another
area.
For example, one thing databases do is allow you to change
an employee's salary. Unless you have a way to change my
real salary in a VNET world, I don't imagine this kind of
transaction is very interesting.
So I'd like to suggest the following as a replacement:
* Persistent objects whose state (size, color, position,
anything that can be changed in VRML), if changed during
the session, will reload in the changed state. Everybody
who sees (hears, etc.) the object sees it in the same state.
* Objects which are neither persistent nor shared, and
which are free to stay put or behave for the private
amusement and benefit of the person who acts on them,
but which under no circumstances tell anybody else
about their state.
Yes, this is the default now, but in our zeal to make
objects persistent, let's not have all the walls and
ceilings and shrubbery broadcasting their locations
at 60 Hz when there's no way they can ever change.
* An agreement on how persistent objects (the first kind)
will be permitted to be used and how their state will
change. For instance, A logs on, moves a chair to the other
side of the table, and exits. B was there when A moved the
chair, and stays around after A has left, moves the chair
across the room, exits. Now A and B log on. Where is the
chair?
One answer that's used at CoCi, which is probably very
difficult to implement, is that only owners can change an
object's state. Unless A sells the chair to B, only A can
move it. This is the "ownership" you mentioned? Another
possibility is that a "public" chair can be moved anywhere,
and as you log on, it appears where it was last left.
Those were only example possibilities. Lots of other policies
are good; not having a policy (and therefore having two people
see the same chair in two different places) is bad.
* Repository for shared objects and behaviors.
* Dynamic ownership: A throws a ball to B; B catches it and
throws it back to A. While A is holding the ball, B can't
throw it. After B catches the ball, B can throw it, but A
can't.
Let me add another, if I may (and please forgive me if this has
been added to VNET since the last time I was in a VNET world):
* Owner-controlled avatar behavior. Right now, I can click on
Miriam's av and make it smile if that behavior was put in the
world in response to a TouchSensor. I can't think of a way
to make my own av smile.
And I personally don't recall any widespread agreement on the
following:
* Experiment like crazy (yes, I know this is a "how") to find
out what kinds of culling are best in what situations.
That is, I think some folks did a few experiments, but I don't
recall any conclusions, apart from "we can get this to work" or
"we can't make this work".
--
Bob Crispen
crispen at hiwaay dot net
USER ERROR: Replace user and press any key to continue.