AWG: state melding exploration

Zha's thoughts on 'state melding'
Raw thoughts warning
This is an early draft, of some raw thoughts. Please feel free to
comment on them, ask questions and such. This is not a collective work
product at the moment, but rather an atttempt to share my thinking. I
do think that a more formal, collectively mulled over version of this
page would be a good thing. This isn't it, at least not yet. - Zha
From time to time, I use the phrase state melding, to describe one of the core things which happens in a virtual world. This page is an attempt to describe precisely what I mean by that. It is very
intentionally written so as to avoid, as much as possible, a specific implementation model. There is a companion page AWG: Core simulator exploration which attempts to capture the actions described on this page, in the context of an architecture based on Linden Lab's second generation grid plans.
The core user experience in a virtual world is that of experiencing the illusion that they are seeing into, and interacting with a virtual world. The virtual world is composed of a base landscape, objects
which exist within the landscape, and avatars. Avatars, represent users, or bots, which are in the same portion of the virtual world. 
At the heart of the experience is the notion of a shared reality,
where all the participants appear to be experiencing the same set of
events, in a fashion similar to how people in a space in the real
world experience a consistent reality.
Putting aside notions of philosophy, the core of creating a shared
reality within a portion of a virtual world is melding together the
acions of all the objects, avatars and their interactions into a form
which can be shared among the all of those actors. (And note, it needs to
be shared, not just with the end humans, but with the other objects and
scripts which make up the scene as well. State Melding is about creating
and sharing that melded state. 
Consider for a moment, a series of "moments" in a virtual
reagion. (This isn't to assert virtual worlds are, or are not
cotinuous, just so we can talk about the things which get accounted
for, in a stepwise fashion.)
So. At moment one, we have a set of stateful things
* The landscape (hopefully fairly static)
* A set of virtual objects (Note, abstract so not prims, just objects)
* A set of avatars
We take the set of stateful things, and then add a set of inputs which
occur between moments:
* A set of inputs is applied to the objects and avatars
** avatars send motion requests
** avatars send "chat" requests
** avatars update their appearance
* scripts update object properties
 
* New objects and avatars may be added to the region
** this may include objects attached to avatars
* Old objects and avatars me deleted from the region
** this may include objects attached to avatars
 
Additionally, any physical simulation applied to the objects
happens. This may include managing motion, friction, collisions,
gravity, and such. 
All of these changes coalesce into a new moment. The process by which
this new moment is created, is what I mean by state melding. A whole
set of states and state changes are melded to create a new moment.
Once we have created the new moment, all the interested parties need
to know about it. So, the final step is to, in some way, distribute the new 
moment back out to all the concerned parties. 
Note: in addition to all of this, there is also the question of things
such as speech and sound, happen, as well as things we are familiar
with, from second life, such as animations, particle systems and
texture animations. These all happen off grid in the SL model, but
some or all of them may in some models happen in world. Not sure how
to account for them, as yet.
Category:AW Groupies User Pages