On Dec 16, 2011, at 2:06 AM, glenalec wrote:
> had a bit of a play with Open Wonderland yesterday - just to see what
> it was like over on that side.
Cool - has been in my agenda to test again, was testing jMonkeyEngine (again)
for other reasons earlier this week.
> Quite nice environment, good security model and nice clean web-
> interface to the server.
Yep.
The architectures of Tundra and Open Wonderland are quite similar actually, I
wrote a little comparison in spring after looking into a bit - the note is at:
https://github.com/realXtend/doc/blob/master/arch_article/wonderland.rst
We are on-line friends with some of the devs and like to talk etc., and there
was even an interoperability test of asset servers >year ago (organized by
immersive edu, IIRC Mikko Pallari from the reX side tested that Naali could use
assets from Wonderland asset servers ok - they are also just normal web (http)
servers which host e.g. mesh and texture files).
> stuff, but even accounting for that, it seemed a VERY heavy (and
> consequently slugish to the point of being annoying to use) system
> compared to what I am used to with both the OpenSim and Tundra
> environments.
Apparently that comparison note also guesses this: "OWL is fully written in
Java, including the core and the rendering engine used (jMonkeyEngine, similar
to Ogre3d but written in Java). realXtend core is C++ and the main libraries
used (Ogre3d, Qt) are c++ as well. This may result in performance differences"
..
I haven't tested Wonderland with complex worlds nor on poor computers, but yes
it is sometimes the case that Java based things are on the heavy side. Would be
interesting to know actually where the bottlenecks / weight are in the case of
Open Wonderland -- simple jMonkeyEngine demos are not so heavy? Also e.g. most
android apps are java and run fine on puny hardware but that's a bit different
story, just to note that Java is not always so heavy.
But indeed it is an upside in Tundra that we have efficient native stuff. I've
been now testing Ogre stuff on iOS, and at least the first test blend runs fine
on my 2 year old iPhone 3GS -- we'll test soon with more heavy scenes that have
with desktop Ogre and reX earlier.
And we have efficient UDP networking with kNet which is suitable for realtime
action games even -- Wonderland uses the ex-Sun Darkstar stuff which to my
surprise seemed to be limited to TCP? -- at least Wonderland itself had TCP
only if I recall correctly. Sure TCP is often fine, for meetings and slower
action (e.g. World of Warcraft uses TCP only -- is sometimes used as a warning
example of it, but I guess is usually ok).
> In the end, while security and administrative concepts present in the
> system were certainly very well thought out, the implimentation was
> just unusable. :-(
As mentioned in that comparison, the architectures are so similar that at least
designs can be reused.
Tundra is made with the Entity-Component model. In Wonderland those are called
'capabilities'. For example Wonderland has a 'security' capability, which
implements permissions. And e.g. having a mesh renderable, or an object being
defined as a sittarget, are other capabilities.
Similarily we have EC_Mesh and custom sittarget components etc. with Tundra.
And permissions can be added with for example a custom component, where you put
e.g. the id of the owner of the object, and permission options, as the data.
Logic can be in custom C++, Py or Javascript module that you enable on your
server. There is a note in the issue tracker that we could provide a basic
implementation that works out of the box, and which can be used as an example
for implementing other security schema:
Implement support for creating user rights management scripts, and provide
users with script examples. https://github.com/realXtend/naali/issues/105 (the
first step towards this in code, an example which now just denies all remote
editing, is
https://github.com/realXtend/naali/blob/tundra2/bin/jsmodules/apitest/permissioncheck.js)
> Still, I'd recomend having a look at it if you have a spare hour-or-
> two to get JavaDE-6 installed and behaving itself - getting Wonderland
> to run was a snap, it was getting the JDE in first that was wrecking
> my day! (It needs the JDE, the JSE won't work it).
Oh, I didn't really notice that *DE requirement then, but indeed had apt-get
doing downloads for a while on the Ubuntu laptop where tested it. But yep then
it was nice to get running, the whole own local server biz with the web login
etc.
The jMonkeyEngine demos, which should be simple to run and require only the
normal Java Runtime (JVM?) which many computers already have, are at
http://jmonkeyengine.com/demo/webstart/ . It is an old engine that has always
seemed nice, and Wonderland also switched to using it recently (for graphics).
We (at Playsign for a possible project) have done a little research on the
browser based / easy web start reX