Re: [mmox] User Accounts / "Object" Transfer.

Jesrad <jesrad@gmail.com> Thu, 19 February 2009 13:04 UTC

Return-Path: <jesrad@gmail.com>
X-Original-To: mmox@core3.amsl.com
Delivered-To: mmox@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4898C3A6B3E for <mmox@core3.amsl.com>; Thu, 19 Feb 2009 05:04:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.224
X-Spam-Level:
X-Spam-Status: No, score=-2.224 tagged_above=-999 required=5 tests=[AWL=-0.225, BAYES_00=-2.599, J_CHICKENPOX_51=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Nces5VvMQzA9 for <mmox@core3.amsl.com>; Thu, 19 Feb 2009 05:04:06 -0800 (PST)
Received: from mail-bw0-f161.google.com (mail-bw0-f161.google.com [209.85.218.161]) by core3.amsl.com (Postfix) with ESMTP id 726213A6B2B for <mmox@ietf.org>; Thu, 19 Feb 2009 05:04:05 -0800 (PST)
Received: by bwz5 with SMTP id 5so1085127bwz.13 for <mmox@ietf.org>; Thu, 19 Feb 2009 05:04:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=HQSZCObHAda4yDZqwbN0I0u1+kjIppacOUPtWFoF3Ys=; b=JVjFXkXQ1gVR/df5iXDrGAxqOYHzDTvZEu0gXlvkITGdOf75hY+bpJyA6AU2ZRNUm9 aazA9YB9eELTIxy+CYvccuCELdLAEdZyqKaFqIgxL1Pk32TusGy9DnGTkT2fGVNvtNq+ Ac6CWEQS2Fd/VuER+y5R5LMr7BKrafTkASgCw=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=rvhXOGkHW76YFjr/D/iC/uRm3EkTWMFeeJkSo4xZiS4sZr1hYu3Wl1cXPFY+VeL7qh 7T9TZ15iEgJmNieELaeere94NPOqNA0UbFeMlxLcsJbeb59NNUvnTSz8oEd0D4ddwtwL 48OaD9oEFjFWWyst0a5/x4WMeYV7hAsO6CUwc=
MIME-Version: 1.0
Received: by 10.181.50.1 with SMTP id c1mr1560603bkk.3.1235048656551; Thu, 19 Feb 2009 05:04:16 -0800 (PST)
In-Reply-To: <1235046226.7560.65.camel@localhost>
References: <mailman.11.1234814402.16516.mmox@ietf.org> <27a487810902170721m31a157b1oed853cdd9cc6e500@mail.gmail.com> <548919.2383.qm@web82607.mail.mud.yahoo.com> <1234917818.6664.51.camel@localhost> <77186.32658.qm@web59104.mail.re1.yahoo.com> <499C7FAD.4080009@gmail.com> <659848.26941.qm@web82607.mail.mud.yahoo.com> <499CA6DA.2010003@gmail.com> <53cd6c2e0902190338m5aad4ed2ia624e7826c17fb15@mail.gmail.com> <1235046226.7560.65.camel@localhost>
Date: Thu, 19 Feb 2009 14:04:16 +0100
Message-ID: <53cd6c2e0902190504s503c8a56g60badcb378157729@mail.gmail.com>
From: Jesrad <jesrad@gmail.com>
To: Kajikawa Jeremy <belxjander@gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Cc: mmox@ietf.org, Jon Watte <jwatte@gmail.com>
Subject: Re: [mmox] User Accounts / "Object" Transfer.
X-BeenThere: mmox@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Massively Multi-participant Online Games and Applications <mmox.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/mmox>, <mailto:mmox-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmox>
List-Post: <mailto:mmox@ietf.org>
List-Help: <mailto:mmox-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmox>, <mailto:mmox-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 Feb 2009 13:04:07 -0000

> Therefore I suggest a middle-path... allow each system to select its own
> scripting language,
>  and only require a "common library" of functionality presence with
> cross-binding option.
>
> That way anyone who impliments anything can rely on the functionality at
> scripted level
>  remaining stable on the originating grid, (LSL already has C# and C
> language editions)
>
> I see the interoperability needing support from those systems making it
> available.

Yes, that's what I was talking about: the common protocol is really a
standard remote-API that VWs should conform to when communicating with
clients - a conveyor of relevant information but not the information
itself. By making an object a pure stack of references (one reference
per Grid service to be used) then the format of these references and
the external object they point at can be expanded upon very easily
afterwards.

Furthering this view, a VW then does just one minimal function:
connecting the dots. A Grid becomes little more than a router for the
relevant references/info, in this model. Some Grids may internally
host the objects refered to (the 3D data, the sound files ,etc...) and
apply access control, while some others might depend entirely on
external hosting (we could have clients that fetch textures through
plain HTTP, references could even point to local files for games that
have static content) and let the client end handle authentication, but
in the bigger picture then it's only the end clients and the
hosts/sources that are being connected together through the grids,
while these underlaying grids affect the content very little: they'd
be acting on the connection only.

The bare minimum a VW does, then, is transmitting just the presence
signal between congruent entities, so each of them knows "who's there"
depending on this "there". Additional functions and signals can be
internally hosted and/or signalled on a per-grid basis, like with MIME
codes for the Web. That makes the interoperability protocol into some
sort of service location and discovery protocol, I think.

> How many developers actually use Java/Python/... as cross-platform
> development,

Javascript ? Flash ? I think they owe their heavily cross-platform
usage more to the market they're used in, than to any special
characteristic they may have as languages. And that this market
resembles VWs more than the general professional software industry
does, so I don't see why we shouldn't expect the same for VW
scripting.

On Thu, Feb 19, 2009 at 1:23 PM, Kajikawa Jeremy <belxjander@gmail.com> wrote:
> But any transfer of objects outside being part of the AV itself I would
> consider to be
>  either subject to breakage or likely to come across with dataloss in
> function.
>
> this also reads to me as requiring the following...
>
> Each "System" is developed independently and a common library is
> developed (akin Java)
>  for a write-once run-anywhere specification where the backends use each
> systems local
>  implimentation of any given functionality,  and also the requirement of
> specific support.
>
> How many developers actually use Java/Python/... as cross-platform
> development,
>
> currently WoW has LUA for scripting the client,  SL has LSL and this is
> scripting independent
>  of the client and running on the server as well as "attachment" scripts
> for extending the AV
>  functionality with client-side UI presence.
>
> Therefore I suggest a middle-path... allow each system to select its own
> scripting language,
>  and only require a "common library" of functionality presence with
> cross-binding option.
>
> That way anyone who impliments anything can rely on the functionality at
> scripted level
>  remaining stable on the originating grid, (LSL already has C# and C
> language editions)
>
> I see the interoperability needing support from those systems making it
> available.
>
> I do see one point of contention that will break this occuring,  what to
> support first?
>
> How about presence alone and simply do not provide any mechanism for
> import/export
>  of materials across worlds that are containing any "script" or
> executable content.
>
> disconnect that into an own server and make the functions required
> follow the KISS rule,
>  the more that is applied the more successfully available interop will
> become.
>
> For now scripting will have to be "future"...basic shapes and "look" on
> objects need to
>  follow getting AV transfer occuring without the entire legal mess
> considering...
>
>  Guild Wars and some other games dont licence the engine but instead the
> content,
>  and this content would need to have downgraded editions available for
> non-licensed
>  viewing so some kind of system<->system remapping WILL occur
> somewhere.
>
>
> On Thu, 2009-02-19 at 12:38 +0100, Jesrad wrote:
>> I'd say the same can be said of anything related to any object but not
>> being the object itself: just as the "script" of an object should be
>> communicated between grids as an external reference, so should the 2D
>> or 3D representation, the sound/stream, the text stream, etc.
>>
>> E.g. I drive my virtual car through a portal to another grid: the
>> information exchanged is just a stack of references: a ref to its 3D
>> representation (CAPS ?), a ref to the running script, a ref to the
>> Agent Domain (for ownership, controls, access rights, whatever), a ref
>> to the source grid, etc... all of those to be accessed by the
>> destination grid.
>>
>> That stack of references, at the MetaGrid level and in itself, "is"
>> this virtual car owned by me at this place and time and is
>> interoperable to the extent that the VWs can handle these types of
>> references (and their respective clients can display them, but that's
>> something else). A translation table can be established at the object
>> level for supplying different refs to different grids (I have 3D
>> models in mind here), maybe that makes one more reference in the
>> stack.
>>
>> In this view the only interoperability that needs to be coordinated
>> between the VWs, is that of uniformity of access, like with a
>> standardized API.
>>
>> The problem I see here is that in this model, internal scripts for
>> objects need to be accessed uniformly, too. When my car bumps into
>> something and is scripted for that event, both grids need to be
>> capable of calling the right event handler.
>>
>> On Thu, Feb 19, 2009 at 1:24 AM, Jon Watte <jwatte@gmail.com> wrote:
>> >
>> > I think the lowest common denominator may be aiming too low -- we need to
>> > deliver actual value to actual end users paying for that value, or the whole
>> > effort is moot.
>> >
>> > However, that being said, I'm prepared to throw a stake in the ground: You
>> > cannot migrate behavior.
>> > If behavior is authored for system X, then system Y will not be reasonably
>> > expected to perform that behavior at full fidelity. For example, behavior
>> > could be written in Java for Wonderland, or Python for Qwaq or Panda3D, or
>> > C++ and XPath for OLIVE. There simply is no way that every virtual world
>> > will be capable of emulating the execution environment of each other virtual
>> > world (here's a case where X3D broke down -- it specified an execution
>> > environment, that didn't actually suit anyone's needs).
>> >
>> > Thus, to make an object appear in a "remote" world, that object needs to be,
>> > at a minimum, simulated in the "home" world, and information about the
>> > outcome of that simulation (animations played, movements performed, sounds
>> > generated, interactions caused, etc) should be transmitted over the
>> > interoperability channel.
>> >
>> > Sincerely,
>> >
>> > jw
>> >
>> >
>> > Charles Krinke wrote:
>> >>
>> >> So, it behooves us to find that lowest common denominator and see if we
>> >> can create a useful specification to avoid wasting any of our time. I have
>> >> to believe that there exists a subset of the SecondLife OGP and HyperGrid
>> >> notions that can at least form a basis to start building. If not, perhaps
>> >> someone can propose such a basis.
>> >
>> > _______________________________________________
>> > mmox mailing list
>> > mmox@ietf.org
>> > https://www.ietf.org/mailman/listinfo/mmox
>> >
>> _______________________________________________
>> mmox mailing list
>> mmox@ietf.org
>> https://www.ietf.org/mailman/listinfo/mmox
>