I think it might be useful to agree on a common
terminology for various things. It would be best
if that terminology could make as few assumptions
as possible about the underlying technology.
For example, I find myself almost using the
terms 'simulator' and 'grid' when talking about
the Intensity Engine, even though the servers
there are not in fact acting as simulators,
and even though the concept of a 'grid' is
meaningless there.
Here are some concepts I think should have
good names. Perhaps such names already
exist and just need to be pointed out to me.
1. 'Simulator' - need a more generic term for
a server that is 'in charge' of running a small
area; simulation/physics is just one part
of that. This is basically what a 'game server'
is in Quake etc. (which doesn't do simulation
in the SL sense, but still is in charge of
a single game). Name ideas: Server (too
general), server instance (a la Amazon EC2),
area server, etc.
2. Set of connected servers of type #1 - a
'grid' in SL, yet these could be separate
rooms, or not in a grid orientation. But
avatars can move between them in some
manner. Name ideas: World, universe,
realm, etc.
3. #2, plus some sort of user account
system, asset metadata, etc. - a
complete package (possibly one of many
in a federated setup). Name ideas:
universe, domain, realm, etc.
Best,
Alon Zakai / kripken
I agree, and this is something I'd like to contribute to, borrowing
terminology from a bunch of different sources.
Ewan, any possibility of having a common wiki up?
Cheers,
1. 'Simulator' - need a more generic term for
a server that is 'in charge' of running a small
area; simulation/physics is just one part
of that. This is basically what a 'game server'
is in Quake etc. (which doesn't do simulation
in the SL sense, but still is in charge of
a single game). Name ideas: Server (too
general), server instance (a la Amazon EC2),
area server, etc.
2. Set of connected servers of type #1 - a
'grid' in SL, yet these could be separate
rooms, or not in a grid orientation. But
avatars can move between them in some
manner. Name ideas: World, universe,
realm, etc.
3. #2, plus some sort of user account
system, asset metadata, etc. - a
complete package (possibly one of many
in a federated setup). Name ideas:
universe, domain, realm, etc.
I think 'space' is a much better term for general (non-SL)
use, as it implies what the server is 'in charge' of (an
area, a space) rather than what it does in that space
(simulate or something else). However, I fully agree
with the point that 'space' isn't universal for all virtual
worlds. For example, in something like Quake or
the Intensity Engine, the servers do manage a 'space',
but what they are really in charge of is an *activity*.
An activity has a space, but also a ruleset, etc. Also,
two activities can share the same space (duplicates
of it, i.e., multiple instantiation of the same activity).
Still, there is something very similar between what
an SL simulator and a Quake server do, despite the
differences. They both serve as the manager for
an interaction between a set of avatars that
experience a shared 'world'. I can't help but feel
that a good term for this exists, but it eludes me.
. I can't help but feel
that a good term for this exists, but it eludes me.
Hmm, actually that is also fairly close to the Intensity Engine
architecture (but also allowing for 'virtual' clients on the
server - bots - which are run there). Indeed, 'simulation'
seems the wrong term here.
For the purposes of this list, what about the "state melding" term? The point of all virtual worlds is a shared real-time simulation of *something*. The shared and real-time parts are the most important, because it implies a technology that takes inputs, manages state for multiple objects/actors, and broadcasts the shared state back to viewers.
Hmm, actually that is also fairly close to the Intensity Engine
architecture (but also allowing for 'virtual' clients on the
server - bots - which are run there). Indeed, 'simulation'
seems the wrong term here.
Both terms are useful, but something seems
'off' when using just these terms to describe a
Quake server or Intensity Engine server
(or a Sirikata space service?).
On the one hand, they do more than just relay
state, they are 'in charge' of it in some sense. But
on the other hand, in such architectures the clients
can do as much 'simulation' as the server (yet
this isn't 100% P2P as, again, the server is 'in
charge' of the overall shared experience - only it
can add new entities, and the state information
on it is authoritative in some sense).
I guess to use your two terms here, both clients
and server might be called 'simulators', while the
server would also be called a 'state relay'. But
this might confuse people used to considering
'simulator' in the SL sense.