New Release from realXtend and Modular Integration into OpenSim

Wed, Jul 2, 2008

The realXtend 0.3 release is out with a bunch of exciting new features! Click here or on the screenshot above to see the reX video.

Also, RealXtend launched a public avatar service – If you are interested you should sign up soon. Jani Pirkola, Project Manager for realXtend, told me:

We will get 100 first in to test our worlds and systems and give feedback for us. The limit is because we don’t want to drown if there are too many people.

I signed up on Friday and tried out a number of the innovations including the avatar generator and the teleport that allows your avatar to move between different reX worlds. Also, I used the inworld skype to chat with the reX team. The friend list is now global, meaning that regardless which realXtend world you are in, you can see the online status of your friends. And, if you already have skype installed on your pc you can call other people from the world. Just right click them and select “call” from the menu. realXtend also have their own voice application in development. Jani explained some more about the Skype integration:

If the other person wants, he can also define his real phone number as his contact info, then your skype call will be routed to his mobile phone, for example. realXtend welcomes all millions of skype users to virtual worlds!

In the picture below I am creating Tish Shute (my avatar in reX) in the avatar generator. There is a selection clothes that are real 3D meshes and they adjust to your body. Also reX has added new male and female models and a lot of skins and clothes for them. You can adjust their muscularity and body “fat” and create really nice looking characters.

The speed at which relXtend has been bringing out new features has already begun to attract a lot of interest. Many reX innovations do not exist yet in other virtual worlds, and a dynamic community of developers is beginning to gather in the realXtend Google discussion group. As the content creation tools improve, the new features will, I suspect, begin to catch the attention of content providers.

Jani noted:

The workflow to make more clothes is still quite painful, you need to use a handful of tools to accomplish a good cloth. We will put instructions on how to make clothes on our website when they are ready. I think some content providers should get interested. Making the skins is easier. And if you use Facegen, you can get really nice looking faces and heads for an avatar. It is still possible to use the bone system to scale parts of avatars bigger or smaller and to create something totally different, like godzilla sized avatars. They are awesome!

You can also download the Facegen software on the rex site and after you have generated your 3D likeness use it in the avatar generator. There will be a “how to” on the site soon. But obviously the reX team have been using FaceGen already and Peter Quirk figured it out himself. The picture above is of reX founder Juha Hulkko. I met Juha in reX, Friday, chatting with the reX team just prior to the launch.

Realxtend are using the IKAN (“Inverse Kinematics Using Analytical Methods” from the University of Pennsylvania. Jani Pirkola, Project Manager for realXtend commented:

IKAN was by the time we found it licensed “free for non-commercial use” which is incompatible with GPL license we use because of the Linden Viewer. However, they were very nice and provided the IKAN for us (and thus for everyone) as GPL. So big thanks to IKAN!

There is future development planned for the Inverse Kinematics as on its own it doesn’t deliver very natural movement:

IK movements look a bit awkward as they are but if you could use IK to partly control the keyframe animation that would be good. That is something we don’t have. But now that the IK system is in place, it is the natural next step. Did you see our task list for 2H 2008? I think there was something said about making IK feature complete.

Virtual worlds pioneer, Peter Quirk of No There There has done an extensive exploration of the new release including “how to exploit the Google 3D warehouse to find models and create Ogre meshes from them. As Peter notes the version is marked alpha code so the reX team are looking for feedback and making improvements all the time.

I did successfully teleport over to the ENSAD sim (being developed by Professor François Garnier and students of Ecole Nationale Supérieur des Arts Décoratifs de Paris) with a couple of the reX team members during my visit!

Modular Integration of realXtend Innovation into OpenSim

There has been some concern (see Justin Clark-Casey and Dusan Writer) about the integration of reX code into OpenSim.

Jani Pirkola told me that the idea for modular integration originally came when chatting with Adam Frisby about OpenSim philosophy, “that it could be a generic engine for any kind of viewer.”

Jani explained:

The idea of the modules came up because originally realXtend did many of the changes directly to OpenSim core, which is not a good way to do changes. Instead it is much cleaner to do them into modules that can be loaded on demand.

For example, the realXtend viewer could have its own protocol plugin called clientstack at OpenSim and that way it won’t interfere with SL Viewer.

I was interested to know some more about whether the idea of a build tree and mix and match plugins was already a part of OpenSim’s design. This kind of flexibilty to add or drop different features to builds according to different applications is necessary to accommodate the vast amount of innovation that needs to go on to figure out which are going to be killer apps in the future

I talked to Adam Frisby (one of the founders of OpenSim and CTO of Deep Think), Zha Ewry (IBM) and Justin Clark-Casey (IBM), about the integration of realXtend’s innovations as modules/plugins. OpenSim architecture is pretty good already for implementing mix and match plugins and “to make plugins deeper and richer” is one of the key goals. Adam pointed out OpenSim “is already doing core functionality as plugins – teleports are handled as plugins, and instant messaging and chat certainly are.”

Adam noted there many exciting possibilities that mix and match builds could create for OpenSim:

Adam Frisby: It would nice say to take the meshes from reX and say the set up and easy way to get a sim on line from Tribal, and you mix that with plain OpenSim and you have a fantastic combination.

Zha Ewry: And it is going to be that kind of evolution – we are going to cherry pick from the fifty or sixty creative things the four of five things which turn out to be killer apps. This is how open source projects win or die.

Zha Ewry: Increasingly there is no good reason why everything you do shouldn’t sit into either region code or the modular plug in code. Occasionally we are going to find that you can’t factor a bit of code out because there is some piece of the core that hasn’t been exposed right and then we are going to have to go and do that.

Tish Shute: And how does this model work for interoperability?

Zha Ewry: The Interoperability is almost entirely plugable. There are two or three bits that aren’t at the moment because of the way they entwine deep in… some of that is a matter of figuring out how to do it right and some of it requires a discussion on how we want to manage a couple of messy issues, e.g. what does it mean to host an avatar that is not authenticated by a local authentication? How do we want to handle that data structure? But there is absolutely no reason why the ability to inter operate wouldn’t be done as regions and plug code.

Just to give one example, when we figure out how we are going to fetch assets from off of Linden Lab’s asset server that is going to look like something that plugs in to the asset framework. ie. instead of gong to MySQL, we have a plugin that goes and fetches assets stored on a remote grid.

All of this functionality needs to be done in a way that can be factored as much as possible. So that you can say, I want this from this tree, this from this tree, I want to be able to fetch assets, I want to use the currency module from this tree, and that so that can produce an OpenSim with this set of features. You may be only able to get it with say these three clients but that is what you need and those are the clients that can work with what you need.

Adam explained that the goal is to put the entire realXtend functionality as plug ins on top of OpenSim as very discrete modules, e.g, a module for doing the meshes, a module for their voice chat, their avatar logins, but the goal is to be able to take these and mix and match them with everything else.

I asked Justin to comment when I saw him in the OpenSim Office Hours meeting in Wright’s Plaza, OSGrid, a packed meeting that included Hamilton and Tess Linden and a dynamic discussion on interoperability between the Linden Lab grid and OpenSIm. See Zha Ewry’s blog post, “Happy Jumping Ruths…..Interop takes a step,” to see just how far this work on interoperability between OpenSim and the Linden Lab grid has come!

Justin Clark-Casey: I think that when OpenSim and realXtend first met, there was an intention that realXtend would be integrating all the features and fixes they produced directly into OpenSim.

My motivation for writing my original post was really as an update to the situation as it had started out in February. Though it did prove too difficult, in the end, to integrate their code, I still think they could have spent some development time extracting basic core bug fixes and sending them to us – we really have received no code from them.

This is fine in itself – there’s a very good argument that value-add code should exist as external plugins and shouldn’t make it into the OpenSim core. It just frustrates me somewhat that people talk about doing stability fixes (as realXtend did in one of your interviews) and then don’t spend time to contribute them back them back.

Regarding modularity, this has been one of the core aims of OpenSim for a long time. We want to produce a generally useful platform and not just a Second Life server. I think the vision that Adam has outlined is workable, though I think our module code has quite a lot of evolution to go through yet. But it’s good that realXtend have contracted Adam’s company to do this – Adam certainly knows what he’s doing and the requirements that realXtend have should mean that some time will be spent on developing the module system within OpenSim. In this way, realXtend will be (albeit indirectly) contributing to OpenSim.

Just to be clear, from my understanding of what Adam has said, the new realXtend modules themselves will not be distributed with OpenSim. I’m assuming that instead realXtend will make a seperate distribution of OpenSim core + their modules.

Adam concurred that the Rex code will be not be merged with OpenSim and on the opensim tracker, only the improvements to OpenSim core will be. The Rex modules will be distributed by Rex themselves only.

Much of the coding for the integration of realXtend’s new code with OpenSim will be done in Deep Think’s new Shanghai office. But Adam will handle the integration plug ins to the OpenSim trunk personally. Plugins into different build options will enable, for example, taking a piece from RealXtend, taking a piece from Tribal, taking a piece from DeepThink, mashing it together with OpenSim-Core, and producing a usable result.

Adam noted:

The code we’re doing for Rex makes that possible with their components, and hopefully lets us improve the core at the same time to make it support other peoples work in the same manner.

categories: 3D internet, avatar 2.0, free software, interoperability of virtual worlds, Linden Lab, Metaverse, Mixed Reality, open metaverse, open source, realXtend, Second Life, social gaming, social media, virtual communities, virtual world standards, Virtual Worlds, Web 2.0, Web 3D, Web3.D, World 2.0
tags: , , , , , , , , , , ,

1 Comments For This Post

  1. Peter Quirk Says:

    Tish, thanks for bringing these people and their viewpoints together in one posting. Regarding realXtend contributions to the OpenSim core, there seems to be some consensus developing that one of the realXtend community’s focus areas should be LSL compatibility. We’ve also developed some consensus on improving the general debugging and error reporting framework in order to improve the stability of the grid.

5 Trackbacks For This Post

  1. Virtual Paris 2007 » Mes liens du 1 juillet 2008 au 3 juillet 2008 Says:

    [...] UgoTrade » Blog Archive » New Release from realXtend and Modular Integration into OpenSi… – [...]

  2. UgoTrade » Blog Archive » IBM & Linden Lab Launch Protocols for Virtual World Interoperability Says:

    [...] UgoTrade Crossing Digital Divides – Virtual Realities in “World 2.0″ home « New Release from realXtend and Modular Integration into OpenSim [...]

  3. UgoTrade » Blog Archive » Meet the Rising Stars of the Open Metaverse at Virtual Worlds 2008, LA Says:

    [...] including some truly game changing innovation from realXtend, and Tribal Media (more on RealXtend here and Tribal here), IBM’s 60 sim behind their firewall OpenSim Grid, the Microsoft Developer [...]

  4. UgoTrade » Blog Archive » Realizing the Potential of Virtual Worlds: Why and How to Support OpenSim Says:

    [...] projects OpenSim has spawned including the highly innovative realXtend (see here, here, here and here -my most recent post on reX) and Tribal Net (see here). But Adam includes an excellent list of some [...]

  5. UgoTrade » Blog Archive » Mashing Up Virtual Worlds With Web 2.0 and Online Gaming Says:

    [...] can work with realXtend innovation as plugins. For more details on this modular integration see my previous post.  This modular architecture will create many new opportunities for mashups.  And the Web 2.0 [...]