[Opensim-dev] MetaEntities (was Re: SOG and scripting)
Stefan Andersson
stefan at tribalmedia.se
Wed Sep 3 13:32:50 UTC 2008
Interesting stuff, Sean!
It sounds like the SOG-of-today (the yog-soggoth?) then would be a specialized case of an ME (which could just be called an 'Entity' or 'SceneEntity')?
As you might have guessed, I'm not that fond of having one backup strategy to rule them all to begin with; I believe that the backing up should be something as an external resource, to be perused by different classes of objects depending on their own needs.
(ie, do I need to persist last state at all or will I reconstruct form other state data? How often do I need to backup? What minimal change over what minimal time will schedule me for backup? should I participate in scheduled backups? et c)
... I guess 'physics' and 'scripted behaviours' would be candidates for the same kind of externalization. This opens up for objects in the same scene be governed by different physics engines... the mind boggles.
But at any rate, sounds ace! Can't wait to see it!
Best regards,Stefan AnderssonTribal Media AB Join the 3d web revolution : http://tribalnet.se/
> Date: Wed, 3 Sep 2008 08:19:33 -0400> From: sdague at gmail.com> To: opensim-dev at lists.berlios.de> Subject: [Opensim-dev] MetaEntities (was Re: SOG and scripting)> > Stefan Andersson wrote:> > It warms my heart to hear somebody actually sharing and building on our initial vision. :D> > > > As I think I've stated on several occasions; the initial idea was that the base scenario would be a scene-less application (a self-assembled region, if you will) where each connected client had their own 3D application GUI, using the viewer protocol merely as a terminal protocol to interact with that application, and that sharing a common coordinated 'desktop' in the form of a Scene would be one domain of specialized applications, of which an SL-like region with objects behaving in a certain way was yet another layer of specialization.> > Hence the name 'IClientViewAPI' - the interface that is an API for the application to easily interact with a Client _View_ (see the MVC pattern) - it's actually supposed to work the other way around than from what most people would think.> > > > The first two example projects 'SimpleApp' and 'SimpleApp2' demonstrated this; SimpleApp did not have a scene, it consisted of an application (a peer to OpenSim.exe) you could interact with (a simple application that interfaced with connected IClientViewAPI's directly); SimpeApp2 demonstrated how you would subclass application, scenes, objects and IClientAPI's to create a totally custom world.> > > > These two apps have since then been taken out of the tree as they didn't keep up with core development.> > This said, we at Tribal Media still use this approach; we subclass scenes and objects when we want them to behave in some fundamentally different way, instead of reconfiguring generic objects. The Tribal One [1] concept was built from the ground up for us to be able to realize things like the Third-Party Web API and http ViewPorts.> > > > There's still so much to explore. :D> > So this fits really well into some code I'm now trying to refactor and> get in (I had an intern this summer that did some great things). We did> a project this summer that didn't go the whole route as SimpleApp, but> did a hybrid approach. We called it MetaEntities for lack of anything> better.> > Basically, making it easy to add objects to the Scene which aren't> database backed. They are fully controlled by code in a Region Module.> They exist along side the normal databacked entities in the region, and> flow down the same network path, but make it easy to keep them from> getting backed up.> > I'm hoping that this kind of approach fits well with what others are> thinking. In the base case we didn't modify any of the Scene internals,> but did find a lot of places where some cleanup would make this kind of> approach *a lot* easier.> > It seems to make more sense to me to be able to allow SOG & MetaEntities> to coexist, and subclass the ME, as those will be code generated, where> as SOG remains user generated. For people that only want code> generated, the path will be really clear to do that. For people that> only want user generated, nothing much changes. For those trying to> make the 2 coexist, it provides a nice model to do that.> > We've also got a sample in world content management system that uses> this which I intend to put into tree as a region module as a demo of how> to do such a hybrid approach using meta entities as projection overlays> for the existing scene.> > -Sean> > -- > Sean Dague / Neas Bade> sdague at gmail.com> http://dague.net> >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080903/bbe74a1b/attachment-0001.html>
More information about the Opensim-dev
mailing list