Archive for the ‘Metaverse’ Category

Astrophysics in Virtual Worlds: Implementing N-Body Simulations in OpenSim

Saturday, July 19th, 2008

Junichiro Makino, University of Tokyo, leads the way into the National Astronomical Observatory of Japan (NAOJ) in Tokyo. Piet Hut, Institute of Advanced Studies, Princeton, is right behind with the Genkii team. Jun Makino has offered the use of a server at the observatory to set up an OpenSim environment. History is about to be made.

Thanks Genkii for the photos! Genkii is a Tokyo-based strategic consultancy focusing on social media and virtual worlds (see here for my interview with CEO of Genkii, Ken Brady and COO, Adam Johnson).

Next day Piet Hut announced to the Meta Institute for Computational Astrophysics MICA:

Adam Johnson and Jeff Ames, developers of OpenSim, and members of the Tokyo Genkii team, have succeeded today in tweaking their physics engine in OpenSim to let stars dance according to Newtonian Gravity.

On a Mac laptop, they let hundreds of stars move in real time, as a gravitational N-body problem (yes, a few hundred!). This is a historic watershed.

A video was soon up on YouTube here. But as Adam Johnson noted:

I don’t think the video can capture the pure fun of this thing, it makes computational astrophysics approachable to a 3 year old… like legos for astronomy. And it really puts OpenSim in a new light! This same method can be applied to other areas too.. think protein folding visualizations.

Computational Astrophysics is a field that has long been associated with some serious number crunching. Jun Makino is holding up a piece of the new GRAPE (an acronym for “gravity pipeline” and an intended pun on the Apple line of computers) - a super computer that will become one of the fastest super computers in the world (again).

Later in this post there is an in depth interview I did in Second Life with Jun. His Second Life avatar is Makino Magic. Jun discusses the future of computational astrophysics, and how this may be tied in with virtual worlds

The photo above was taken by Adam Johnson of Genkii. Adam noted:

We want to use super computers like this (the Cray and GRAPE) to offset the simulations and push the results to OpenSim. That way it can simulate thousands, or millions of stars/planets

The picture below shows the Cray at the National Observatory of japan on the right, and on the left Jeff Ames is shown working on the N-Body simulation in OpenSim. I heard Jeff implemented most of the code for Newtonian Gravity in OpenSim on the train ride to the observatory!

Genkii, in addition to their work on OpenSim are developing, with 3Di and other open source virtual world developers, an OpenViewer a “from scratch” that should allow people like scientific researchers, game developers, educators, etc to make fully customized viewers more easily than they could before. Adam explained:

Open Viewer is (BSD Licensed) using, at the moment, OgreDotNet for rendering and LibSL for the protocol.

But you can use any protocol you want actually and any rendering engine - ideally we want to allow it to support numerous virtual worlds with one viewer. We have been talking to HiPiHi guys about getting their protocol working with it as well, and soon will talk to some IBM guys in China to see if they want to take part in that action.


MICA - Pioneering Astrophysics in Virtual Worlds

Piet Hut has been evangelizing the potential of virtual worlds for astrophysics, and bringing astrophysicists into virtual worlds through the Meta Institute for Computational Astrophysics (MICA) for quite a while now (see my previous post). And, Piet and Eiko Ikegami have just published a fascinating paper about Japanese History and Second Life.

MICA, begun in 2007, is a virtual astronomy institute featuring many MODEST-related activities. Aimed at harnessing the capabilities of virtual worlds and 3D collaborative environments (such as Second Life, Qwaq, Sun Wonderland), it fosters interaction among astrophysicists with interest in large-scale simulations, including dense stellar systems. Outreach and educational activities are also major MICA goals. MICA weekly events include popular talks, computational astrophysics lectures and Journal Club discussions of recent astro-ph papers. The MICA wiki, containing more information, schedules of events, and links to related pages, can be found here.

Also, there is an excellent video of Piet’s talk on the “Scientists and Science Outreach in Second Life,” that was part of the SL5BD events posted on YouTube here.

In the picture above, MICA members Prospero Frobozz (Prospero Linden a.k.a. Robert Knop in RL), Tara5 Oh (me, Tish Shute in RL), Pema Pera (Piet Hut in RL), Peter28 shostakovich (Peter Teuben in RL), Paradox Olbers (Spike MacPhee in RL) see also Paradox’s Spindrift in Scilands blog, Pan Numanox (Alfred Whitehead in RL), Jazz90meteotl Loon, Eamu Godenot (Will Farr in RL), and Lagrange Euler (Steven McMilland in RL). Thank you MICA member and SL photographer Kirk Smythe (Tom Deluca III in “real” life) for this picture, and for the portrait of Piet’s avatar Pema Pera below.

I have been attending MICA meetings as an observer since spring when their activities were mostly focused in Qwaq. Now the focus of MICA is Second Life and OpenSim. There is a regular schedule of events. In fact, I was invited to speak about Open Source virtual worlds at one of the daily “coffee” meetings. I later heard that my talk was in fact the trigger for the collaboration between Piet and the Genkii team!

I invited Adam Johnson to come to the discussion after my talk when the conversation focused on OpenSim. After I introduced Adam to Piet, they realized they were both in Tokyo in RL, they met for lunch and the rest is history.

I have blogged and attended a number of MICA’s events including Dr. Rob Knop’s (a.k.a Prospero Linden a.k.a Prospero Frobozz) talk, “The Power of the Dark Side: How Dark Matter and Dark Energy dominate our Universe.” Dr. Knop was on the team that discovered the accelerating expansion of the universe.

Why does MICA want to do simulations within Virtual Worlds?

I asked Piet (Pema Pera in Second Life, picture below) why MICA wants to do simulations in virtual worlds and, why N-body simulation is so important to astrophysics?

Pema Pera: For two reasons:

1) Traditionally simulations were where scientists spent years and visualization was an afterthought, a few pictures in a journal, never the right tools to really mine the data, not enough time, money, tools. So we can use VWs to start with visualization and then have the simulations follow. Another example of inverting a traditional priority, like going to what-you-see-is-what-you-get. Most breakthroughs in computer use are like that. So starting with the enormous investment already in the visualization aspects of Virtual Worlds, you can then run your simulations within them, or so it seems. Whether they actually run in there, or in a hidden way elsewhere on a Cray or GRAPE is of no real concern for the user.

2) Collaborative code writing and debugging. Traditionally, observers collaborate — can’t build a telescope and observatory with one person. Theoretical folks now have to learn to collaborate. You can’t write a whole simulation package in one PhD three-year period.

Most breakthroughs are inverting something, first direct addressing to make the computer fast, but a pain for humans, then you switch to indrect addressing, makes more sense for the human, slower at first for the computer, but the advantages in software productivity are overwhelming. Same with going from assembly code to compilers, same from complied languages to scripting languages

Theorists are learning to collaborate and they have to write computer code together! What better way than to do pair programming in a virtual world, so pair coding and pair debugging becomes possible within a VW, especially when you can see the results in your simulation.

Tara5 Oh: oooh that is interesting, so being able to “play” with a physics engine could be very key!

Pema Pera: YES! You simulate at large scales VERY directly into the fabric of the simulated world iteself. It is the difference between having a stage on which you play and having the stage itself play for you!!!!

Tara5 Oh: Why are N-body simulations so key to astrophysics?

Pema Pera: Ah, great question! Gravity dominates. On short scales we have electricity and magnetism and friction and much more but on large enough scales only gravity is felt. Electricity cancels + and - charges but gravity is only attractive, hense a gravitational N-body problem. You cut up the world into N parts as large an N as you can handle and then you simulate the UNIVERSE.

Will Farr (MIT) implements the “Hermite Algorithm” in OpenSim

The Thumbnails of screenshots above (in order) are from a simple N-Body simulation of 32 bodies in OpenSim. Basically, you can see the bodies collapse, eject some of their members, and form a cluster of the remaining bodies in the sequence of photos

It wasn’t long before MICA members were deep into OpenSim. Notably, Will Farr, Eamu Godenot in Second Life is a MICA member and a 5th-year graduate student at MIT working on numerical relativity and N-body simulation algorithms, “lots of theory and numerics, very little observing, unfortunately,” he told me. Will was one of the first MICA members to pick up on the N-body work in OpenSim.

Tara5 Oh: Could you explain what you have been doing with n-body simulation in OpenSim?

Eamu Godenot: When Adam and Jeff wrote a Newtonian physics engine for OpenSim, this was a couple of weeks ago. they showed that it was possible to run gravitational simulations using a custom physics engine, but they didn’t know a lot about n-body simulations. I don’t know a ton, but I know more, and I was coming to Japan to visit Piet/Pema and Jun/Makino. So, Piet suggested that we try to improve the algorithms that the physics engine used. Maybe enough to do some physically relevant simulations

Tara5 Oh: You all met in Tokyo?

Eamu Godenot: Yes, it was exciting—I met Adam and Jeff two days ago, and spent some time learning about OpenSim and the code from them. Plus pestering them with lots of questions about genkii, programming, and OpenSim in general. Then, on Wednesday and some of Thursday, I started improving the n-body part of the physics engine. They had implemented a nice algorithm for evolving the bodies, but the standard ones used in the field are more efficient and accurate. In particular, Jun Makino invented a technique called the Hermite algorithm that is, more-or-less, the “industry standard” So, I implemented that.

Interview With Jun Makino (avatar Makino Magic)


Tara5 Oh: MICA has been doing some work on N-Body simulation in OpenSim in which you have access to the physics engine. How doe this open up new possibilities for astrophysics to use a general simulation platform in conjunction with super computers?

Makino Magic: Well, what Piet and other people have done so far is mainly to implement some simple models directly as simulation modules in Opensim. That itself is nice, but not quite enough to share and work on really high-end simulations. However, once we learn how to show things in SL/OpenSim, it *should be* not too difficult to connect the Opensim program directly to data visualization or analysis program which runs on any other computer, or actually connect it directly to a supercomputer or GRAPE.

Tara5 Oh: Could a general simulation platform like OpenSim ultimately become an operating system/user interface to super computers? And do you think this could bring a new kind of interactivity to number crunching?

Makino Magic:
I think it could. That’s rather similar to the web browser becomming an general user interface for whatever programs people develop. Well, I think the important thing here is the possibility of people in different places working on a single dataset or simulation in really real-time.

Tara5 Oh: Yes it is really my big dream for virtual worlds, or rather for the free form, programmable, 3D collaborative space exemplified by OpenSim. to make the previously invisible world of software becomes visible in a shared interactive environment!

Makino Magic: Yes, not just dataset and simulation, but the possibility to share the program for simulation itself and to do the development in that way like pair- or “Extreme” programming, so more than two people physically far away that can really change the way we do research and development.

Tara5 Oh: Yes! What is you role in MICA?

Makino Magic: Well, at this point not much. I have been too busy with my real-life duties….

Tara5 Oh: What do you think MICA could achieve re integrating virtual worlds in astrophysics? And what to you think you colleagues who are the first evangelists of the use of virtual worlds in astrophysics may be overlooking?

Makino Magic: Well, at this point I cannot predict. But the simulation stuff implemented in OpenSim looks very promising

Tara5 Oh: Do you have any different ideas from Piet re the the role virtual worlds can play?

Makino Magic: Hmm, I must say I do not know all the details of Piet’s ideas, but for me the first step would be to use the environment to really do some collaborative research and discusssion, and we do not yet have simple tools to do so…

Tara5 Oh: And what are the most urgent tools you need now?

Makino Magic: A very first thing, which might be actually there, is to really work in multiple windows much in the same way as yo do in the pair-programming. You should be able to use one editor window, a graphic window to show result, etc, and should be able to edit one file….

Tara5 Oh: and secondly?

Makino Magic: Well, that is hard to predict… But clearly we need a “virtual” 3D “screen” , in which we visualize 3D results and see, walk into or fly.

Tara5 Oh: And is the N- Body simulation in OpenSim the first step to this last requirement?

Makino Magic: Yes, I think so. And that is useful not only for real research but for educational or public-outreach type stuff. Which is also important to get the attention of wide range of people, many of them are better programmers than astrophysists, like the people from Genkii who implemented the first N-body simulation in OpenSim.

Tara5 Oh: Do you have an OpenSim running in your own lab yet?

Makino Magic: Well, the server is running, but I have no client PC in my office yet (My windows PC in my offiice is toooo old and slow…)

Tara5 Oh: What is the contribution that being able to play with physicis engine so easily in OpenSim makes to N-Body simulation research?

Makino Magic: The most important thing is that you can show the result to people, including yourself, much easier than without OpenSim. well, hopefully…

Tara5 Oh: Piet said something to me that I was interested by: “If we really want to reverse simulating and visualizing, we can IMAGINE doing everything on the visualizer and then using a “simulations accelerator” (the opposite of a “graphics accelerator”) to get speed.” He went on to say, “similar techniques can be used in visualization as in simulations, actually, where also you don’t compute the force on one particle from all the billion other particles in a large simulation, so we have a lot of experience there already both conceptually and practically.”

Makino Magic: Hmm, Well, for me it is not too important where the simlation is done, but it must be reasonablly fast. Currently, really cutting-edge large-scale simulation can take months on the largest Cray or GRAPE.

On the other hand, lots of things can be done real-time, and my guess is Piet is mainly interested in those kind of things. There are many interesting problems for which we need to do simulations, but not the largest ones on supercomputers.

Tara5 Oh: So there are many interesting problems for simulation that do not require a super computer?

Makino Magic: Yes. for example, just by solving many three-body problems we can learn a lot, and can even publish an interesting paper in Nature (we did in 2004).

Tara5 Oh: What will scientific computing look like 25 years from now?

Makino Magic: Well, Piet has been in on that for more than 25 years, and I’m approaching to that many years, but it is hard to predict….

Tara5 Oh: But just some speculation, hehe!

Makino Magic: Well, one thing is that it’s becoming more and more difficult to develop large simulation programs. Much of the code we use now has been maintained for more than 20, or 30 years. In that sense, even though the hardware changes, the software changes very very slowly, and that is the problem.

Tara5 Oh: Do you think the intereactivity of virtual worlds could be useful in solving or preventing the problem (frequent in science) of 25 year old code still being in use?

Makino Magic: Well, interactivity itself might not be the solution, but the way SL/OpenSim works and the way it talks to other simulation programs might be able to change the view. In some (many) cases, the program to be solved is really simple, like one line of and equation of motion, resulting in millions of lines to be able to efficiently solve a partucular kind of initial condition with very limited computing power. I do not say there will be any real solution, but there may be some alternative approach.

Tara5 Oh: Do you think that a virtual astrophysics organization like MICA could apply and recieve funding for this kind of research on their own, or would they neeed a RL university partner?

Makino Magic: In the case of MICA it is not difficult to get RL partner, IAS or Drexel or whatever.

[The MICA steering meeting began to convene at this point]

Tara5 Oh: Have I missed asking you any important questions do you think?

Makino Magic: Hmm, no.

Tara5 Oh: Thanks so much Makino!

Makino Magic: Okay, this was fun! Thanks a lot!

Tara5 Oh: And I look forward to hearing about the continuing story in the future!

Makino Magic: Yes, bye for now.

IBM & Linden Lab Launch Protocols for Virtual World Interoperability

Tuesday, July 8th, 2008

Today it is official, “The IBM and Linden Lab Interoperability Announcement” - see also, Torley Linden’s video here (screenshot above).

Hamilton Linden and Inifinty Linden visited OpenSim office hours in Wright’s Plaza, OSGrid, last week with some big news (screenshot below). 25 avatars gathered to discuss with great enthusiasm Hamilton Linden’s proposal that Linden Lab would provide an Open Beta for the Open Grid Protocol for login and teleport between OpenSim and the Linden Lab Public Open Grid Beta.

This interoperability work has been pioneered by David Levine (IBM researcher, Zha Ewry in Second Life) in conjunction with Linden Lab’s Architecture Working Group. Zha has personally coded the patch and she blogged her progress on this last month. Zha’s interop patch can be viewed here.

Later in this post for Zha’s gives an outline of the steps that could lead to the advent of much anticipated and hotly debated content interoperability.

Why is this Interoperability Initiative so important?

While, in Zha’s words, “this is a proof of concept of protocol.” It is an important first step, not only toward realizing Linden Lab’s dream of expanding the influence of their technology, but for consolidating a heterogenous mix of applications for virtual worlds in an interoperable environment.

Notably, it will allow corporations to deploy private and exploratory grids on OpenSim technology while remaining interoperable with the largest virtual world community to date, Linden Lab’s Second Life.

But it is not only interoperability between Second Life and OpenSim which will unleash the power of virtual worlds, it is interoperability between OpenSim grids. New OpenSim grids like Tribal Net and innovative projects like realXtend are beginning to discuss consolidating their influence through interoperability.

Both Tribal Net and realXtend have led the way re innovation with OpenSim technology (see my posts here, here, here for realXtend and here for Tribal Net). And, both are now in early discussions with OSGrid re interoperability. Charles Krinke, a developer and very excellent open source community organizer, runs OSGrid. He gave me a some background on OSGrid (see an upcoming post for more).

OSGrid is the second oldest OpenSim grid and was created in July, 2007. I began running it in August with 150 users and a dozen regions. Others were brought in as managers, most notably “Nebadon Izumi”, “Hiro Protagonist”, “Paulie Flomar” and more in the fall. We now have 3200 users and nearly 400 regions attached as of early July, 2008.

There are two goals for OSGrid. One is to test the OpenSim releases on a daily basis and the other is to build a healthy community.

Interoperability and consolidation of virtual worlds is vital to their development not only because Metcalfe’s law states that “the value of a telecommunications network is proportional to the square of the number of users of the system” but because Second Life has demonstrated that one of the key contributions of Virtual Worlds so far is their potential to collapse geography (as Cory Ondrejka put it).

Open Virtual Worlds must continue to create new and richer forms of networked interaction, enabling the communication not only of personal identities, but of community identities and cultures in ways not possible or imagined before. This potential cannot be fulfilled by small isolated worlds.

A New Era for Virtual Worlds Begins!

The excitement was palable today in meetings held in Second Life and OpenSim that discussed moving the interoperability initiative forward.

Interoperability is a big deal. This much was clear. And the press were on it! Eric Reuters showed up in the OpenSim IRC today asking questions about IP and virtual economies in the Open Metaverse. And, there are many posts already including TechCrunch, Information Week, Virtual World News, Gamasutra, and Dusan Writer’s.

In the IBM press release, Colin Parris, Vice President, Digital Convergence, IBM said. Developing this protocol is a key milestone and has the potential to push virtual worlds into the next stage of their evolution.

The screenshot above is from OpenSim office hours today, Wright’s Plaza, OSGrid. There were 31 avatars present including Zha Ewry, avatar of David Levine, IBM, and at least four Lindens - Hamilton Linden, Tess Linden, Whump Linden, and Periapse Linden (Whump and Periapse are running the Linden Lab Public Open Beta Grid).

Also, there were many of the key OpenSim developers, Adam Johnson and Jeff Ames dropped in from Genkii, Japan (see here for more). There were several avatars from IBM in addition to Zha, and members of the Microsoft Development Community in OpenSim, notably G2 Proto, were there.

In the foreground of the screenshot above you can see the OpenSim avatar of Mic Bowman, Principal Engineer from Intel, Finrod Meriman. Mic is an important advocate for Interoperable Virtual Worlds and active member of the OpenSim development community. This was a power house gathering signalling interoperability as the future of virtual worlds has arrived.

Hamilton announced the link for the Public Open Grid Beta, and told the gathering:

You just need to contact Periapse or Whump Linden and they’ll get you setup. Although, we’re are officially committing to July 31st to start. But we’d obviously like to do it sooner. When it starts they’ll give you the info for the downloadable viewer and access to the Agent Domain Host.

Steps Towards Content Interoperability: Interview with Zha Ewry.

Interoperability will raise many new social/business questions for virtual worlds (particularly re content and business models). However, because this proof of concept is between the Linden Lab Public Open Grid Beta, which is not part of the Second Life economy, and OpenSim there is time for some of these questions to be explored.

This exploratory process began at a large meeting held by Zero Linden last week that focused on some of the community concerns about interoperability (see transcript here).

I asked Zha Ewry what she saw as the steps that would lead to content traveling back and forth between Second Life and OpenSim. The movement of content is where most of the thorny social/legal/business questions around interoperability emerge.

Zha outlined what the technical steps would be while noting that the social questions were just beginning to be explored:

Zha: There are a series of about four technical/social/legal steps.

First, we need a protocol for establishing proof of identity between
the components. ie for the sims and services to cross prove they are
who they claim to be, which is peer to having a trusted identity for
the users.

Second, we need a way of expressing policy This is orthogonal to one,
but pretty much requires the proof of identity in order to be useful.
In particular, we want to be able to express what the content creator
desires, including whether they wish it to be restricted to a grid, or
set of grids, copy and use and so on.

Third, we need an agreed public protocol for asset fetch including
both copy, and ACID fetch, and a reliable way of managing no-copy
assets. This is the brute work of moving the digital assets around,
and would exploit one and two to determine if assets should be movable
at all.

Fourth you would want the legal and social framework for using the
technical capabilities. This would be akin to a Terms of Service for
connecting stuff together, which would spell out what policies were in
place. effectively, these become the specific agreements which couple
the first three together, so that we have a safe, agreed way of moving
only the publically accessible assets (we can in fact, do parts of
this, in parallel, so we could work on 3) with public domain assets,
on a set of sims, that only had public assets) while working on 1 and
2.

A lot of this takes on a flavor of building up a layered set of
abilities, and then allowing people to compose a range of possible
solutions. At the protocol level, we want to allow a lot of
flexibility so different grids and communities can explore different
strategies. This is not about a one size fits all approach, or about
having a good enough crystal ball to pick an approach. An open source
community, with open protocols has the luxury of encouraging
experimentation.

Tish: So have the proof of identity protocols been published in any
current AWG docs or worked on?

Zha: It has been discussed, but not in any detail

Tish: So on the agenda?

Zha: Oh, very much so!

For an in depth and somewhat technical discussion of how issues of IP, trust, and managing permissions, licenses etc. might be managed with interoperable virtual worlds see the chatlog from todays Architectural Working Group Groupies discussion.

Content is already on the move in the Open Metaverse

Tribal Net announced this week that Second Inventory is now working on Tribal:

This software lets you backup and restore content to and from different grids, like for example the Second Life(tm) grid, and Tribal Net - which makes Tribal Net an excellent tool to work in private or offline with content, or to make and transfer objects thru e-mail or the web. (You can now distribute your Second Life(tm) object thru your blog - literally!)

Also Tribal annoinced they have 200 members, “and 150 of those has published their own islands. We now have a small core of dedicated 3D pioneers.”

They have also started a community micro-blogosphere that you might want to check out.

Ron Andrade of Common.Sensible has been checking Tribal out and has written a nice post about what he has found. He also notes re the integration of Tribal with Second Inventory that this is not opened the door to all kinds of content transfer or theft.

Now don’t panic, all you against-theft-aggregations and I. P. advocates. You can only copy your inventory and you must be using the same avatar name on Tribal Net as you are using in Second Life. All the permissions remain the same. So, creators, fear not: your hard work is safe. Well, every bit as safe as it currently is in Second Life. Although it is unknown how scripts and other things will react. But hey, if you are the adventurous type with the resources and time, give it a shot.

Stefan Andersson of Tribal noted we should remember “the pioneering and experimental aspect of inter-grid content transfer, and that people should expect some bumps in the road.”

New Release from realXtend and Modular Integration into OpenSim

Wednesday, July 2nd, 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 - avatar.realXtend.net 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.