At 15:52 4/02/99 -0500, Christopher K. St. John wrote:
>Robert Bjarnason wrote:
>
>> -door
>> You write a small Java program that logs into VNet server and points its
>> "Avatar" to an door VRML geometry that is a door with behaviours for
opening and
>> closing.
> oh yeah, and another thing, imagine this: a DOOR whose default state is
closed,
>and user USER1. USER1 enters the world and sees a closed DOOR. USER1
clicks on
>the DOOR to open it, and the click event goes to the DOOR bot (somehow)
and the
>doorbot sends a DOOR.OPEN behavior. USER1's copy of the DOOR opens. now USER2
>enters the world. and sees a closed DOOR, since his client never saw the
"open"
>behavior event, and so his copy of the DOOR does not know it's open.
I think this is unnecessarily complicating it. If a small java program
"logs" into the VNet server as a door in the world, then when it moves, it
will move in the same way any other real avatar moves, and anybody coming
into the world later will see it in its new position.
The java program for the door probably does not log on as a real avatar
does, since that would be wasteful. The door doesn't need updates of all
the avatars and other shared objects' positions. Or perhaps get updates
only from those avatars within a certain proximity. We need (as far as I
can see) either a new kind of login for shared objects, or else an
extension to the current login.
How do you get messages from people's avatars to these shared objects? I
think Steve's tag game could be the clue here. How did you do that Steve?
Off the top of my head I can come up with three different kinds of shared
objects:
* things like doors, or lights, or chess pieces. People affect these with
their actions. They are a part of the world and live on the server.
* things like briefcases, bunches of flowers, business cards. These are
objects which people bring into the world with them and are able to put
down and walk away from, or hand to other people.
* bots and growing plants and animals. These are really just a special
case of the first group (and second group?), but unlike them, they do need
to get updates from all other avatars and shared objects in their
surroundings.
Some day we will have to address the question of how persistent these
things are to be. Do you want junk to accumulate in the world? (But this is
really of little concern yet.)
And who owns something that has been brought into a world? Does it start
off owned by someone and then you transfer ownership? Or do you take a more
free approach relying instead on people's good sense and make any shared
object brought into a world, automatically owned by all? Ownership probably
doesn't become very important until people can come into a world and build
things. Then it is a way to stop intentional or accidental damage to the
structure.
When you affect something, it will probably be through mouse clicks, but it
may be that proximity detection might be enough in some cases (pushing a
door open). There are some hacks for giving generalised collision
detection... maybe they might be of use...
Cheers,
- Miriam
---------------------------------------------------------------------------
Clyde could only suppose that if he were to raise Maggie by himself,
the girl would grow up to be a lopsided mouth-breather who walked into
closed doors.
Cobweb by Stephen Bury (Neal Stephenson & J. F George)