Agreed! I certainly never intended to suggest any kind of "central server".
When I said "the hosts on which the entities reside" I simply meant the hosts
that are ultimately responsible for the behaviour of those entities.
In other words...
If I decide to create a virtual squirrel, with a number of high-level
behaviours such as "foraging for food", "avoiding a predator" and "mating",
I want to be able to implement them however I choose, using whatever language
seems most appropriate. Those high-level behaviours run on my own computer,
not on any central server and certainly not in all the simulation hosts
(who are busy enough already!).
What other hosts on the network see is the sequence of "mid-level"
behaviours that *result* from the execution of the high-level
behaviours on my host. In other words, my complex foraging behaviour
(complete with path-planning, simulated sense of smell, etc) expresses
itself to the rest of the network as a series of small, simple
behaviours that run with minimal overhead on each of the hosts.
(I'm thinking of things like "turn to look in a particular direction",
"run forwards at such-and-such a speed" as being the kind of mid-level
behaviours we would want, though they would of course be implemented
by behaviour scripts and therefore extensible).
This, I think, is better than having the complex behaviour simulation
needlessly replicated on every host on the network.
In any case, the squirrel might not be controlled by a piece of software
at all. For example, it might be controlled by a human being with a joystick;
the sideways movement of the joystick would map to the "turn to look in a
particular direction" mid-level behaviour, and a forward movement of the
joystick would map to "run forwards at such-and-such a speed". In effect,
the high-level "foraging" behaviour would be implemented in wetware.
For that matter, I might even have sensors attached to a real squirrel,
outfitted with a tiny head-mounted display. :-)
Other hosts on the network shouldn't know (or care) what motivates the
actions of an entity; they just need to know about the actions themselves.
I'm going to cc: this to the distributed-vr list, which is probably where
it belongs... anyone not already on that list can subscribe by sending
mail to [email protected] with the word "subscribe"
in the body of the message...
-- Bernie Roehl University of Waterloo Dept of Electrical and Computer Engineering Mail: [email protected] Voice: (519) 888-4567 x 2607 [work] URL: http://sunee.uwaterloo.ca/~broehl