Monday 6 June 2011

Aurora Sim: A Brave New Virtual World

When I first read about Aurora sim back towards the end of 2010 when the project was first initiated I was impressed by the long list of improvements over core Opensim that the development team, headed by Revolution Smythe (Rev to his friends), promised. I was not only impressed but more than that, I was quietly intrigued. However, I remained skeptical that such a small team could deliver on their substantial promises considering that core Opensim, on which Aurora is based,  has been in development for four years, and while improved greatly in the last two releases, still lacks so much that is taken for granted in SecondLife. Aurora team basically set out to turn Opensim on it's head and reconstruct it from the ground up.



Coming from a background in role play as I do the visual experience and ability to immerse one's self into a virtual world are very important to me. I want a high degree of realism which is still by far and away lacking in SecondLife. I want the kind of quality graphics and responsiveness one gets from games running on PC and Xbox but without the actual game they are selling of course. In short, I want a virtual world that is broader in scope, has better scripting and features that support the themes gamers and role players try to build for themselves and their fellow players. What I came to realize as I got more into the work the Aurora team were doing was that they are game focused and this got my interest up. Revolutions Smythe explained to me that, in the fall of 2009 before he started Aurora, he built a game off of what was the base of Aurora today. The problem was the viewer software couldn't handle it, he said. Fortunately, the Imprudence viewer developers agreed to collaborate and, by changing the licence slightly from that which Opensim uses, Imprudence/Kokua and Aurora Sim became sister projects in October 2010.

Aurora's developers set out with a broad set of ideas, the aim was to complete all that was missing from Opensim and the desire to bring about change that was not lead by developments in SecondLife alone. They replaced the Robust server, and underlining communication framework altogether. They rebuilt the scripting engine adding support for more functions including osFunctions and aaFunctions, and they are adding support for more scripting languages too including C# and VB. But there is so much more. "We are working on some advanced features," Revolution Smythe told me, "When we finish the generic properties module this will allow new properties to be added to objects very easily, such as the Cone of Silence (see video below), which disallows the viewer from seeing things inside the 'object'. The module will send the information about all new properties it has to the viewer and the viewer will have a new panel in the Build tools window, which will show all of the properties, so that they can be edited easily.  Its annoying to go add each and every property manually into the viewer." he went on, "This would allow an easy way to add things to the viewer, and in which any version of the viewer supporting the module would be able to see it. I fully intend to let the sim designer change settings so that the viewer sees exactly what they wanted to show like with setting parcels and altitudes for windlight (not LightShare(tm)). We have already added new settings like Region/Estate in Imprudence and we will add the ability to turn off the minimap and avatar name tags so that RPGs and things can run smoother (no cheating). You just have to lock the clients to Imprudence only which is easy with the viewer ban module (included)."

The unpredictable lady, Aurora Borealis dances in the night sky while Gaga day dreams about the shape of virtual worlds to come.
Aurora 1.0 was released early in 2011 and I reported my experience with it here at the time and, accepting it was a pre-alpha release, it really didn't do more than prove the concept and show that the team were in business. The next release a month or so later, Aurora 2.0, was a good general tidy up of the code with multiple bug fixes and something completely new, variable sized regions!

Looking towards a single 65k sq mt region from a massive
var-region on an Aurora grid up to 256 times the area.
Opensim has mega-regions which are clusters of sims where one sim is the parent and the rest are attached as child sims thus each region is still consuming server resources separately while with variable sized regions now under development in Aurora sim, or var-regions for short, they simply expand a single region up to 256 times a standard SL region area. That means that just one region is consuming server resources and, where it would take a lot of sims to build a really large space using the mega-region protocol, var-regions can expand to create truly massive spaces that would take hundreds of Opensim regions in a mega-cluster to create the same area. Aurora is already up to four times faster than Opensim. Also, by taking advantage of HTTP Textures, objects like buildings come into view more quickly too so increased performance like this lends considerable support to rendering such vast spaces.

Terraforming my Aurora standalone test sim was fast and smooth, better than I ever experienced in SecondLife or
even Opensim. I shaped equal to 3 standard sims on this 1024X1024 var-region in little over 5 minutes. The 
distant land is left flat to show the sheer scale of it. All that on single server too!


On May 21st Aurora 3.0 was released just seven months into the project which is both a testament to the concept and the sheer determination of the developers to make rapid progress. Windlight features have been enhanced and they surpass Opensims's Lightshare. You can see further than one region away. Groups, Profiles, Abuse reports, Search and so many of the things taken for granted in SecondLife and still absent or dysfunctional in Opensim are now working including more responsive land editing, an integrated backup system, an integrated combat system and true server side bots.

A Role Player's dream come true!

Imagine a city that builds itself with all the effects of traffic and the bustle of city life. Parts might be degrading while new parts are in construction, even city lights and neons flickering on and off, and transport hurtling along while everywhere bots appear and busy themselves as the anonimous populace. The nearest comparison is Sim City but this is something else. It is a living, breathing backdrop to a game world where role players can pursue their storylines in a realistic setting that surpasses anything you could ever expect from SecondLife or Opensim.

Imagine building the dark cityscape of Blade Runner on an Aurora 
sim where punks rub shoulders with Hara Krishas and replicants
are on the lose. Above you see the Gorean city of Ar on 
Role Play Worlds grid which Gaga visited last year. Now do this
build with the city builder module and see it come to life!
A plug-in like the city builder and bot engine will elevate virtual worlds closer to the experience envisaged in prophetic Sci-Fi novels like Neromancer and Snowcrash. One can imagine Blade Runner set in an Aurora sim world or truly astronomical spaces for role play games similar to Eve and other space opera genre. To that end Aurora has support for controlling the viewer, as mentioned above, to over ride settings so the visitor sees the world and interacts with it as the designer intended. The physics engine, ODE, though inferior to Havok, has received special attention and a lot of work giving more support for vehicles. Movement is smoother for avatars too including a smaller, lighter capsule that moves more realistically. Then there is the gravity effects that can be centred and have everything revolve round it. It will be a Star Trek fan's dream come true.

Improving Physics...

Demo of the bots on an Aurora sim 
Improving the physics are a key objective of the Aurora devs. It's not enough to be able to walk, run and fly. Vehicles have to function well too and be responsive to the sort of environmental effects associated with the real world and even the distant reaches of space. In SecondLife they have Havok which Linden Labs can afford the licence for. Opensim is limited to ODE without the kind of improvements done by the Aurora devs. It works and that is the best that can be said for it. The Opensim devs take the view it is for those using Opensim to obtain the licenses and upgrade the physics. They just don't see it as important as other things like Mesh and Hypergrid. In deed, Opensim devs, for all their work and dedication, they just don't appear to see Opensim as anything different than SecondLife even though time and again I have heard it said, Opensim is different. No, it's not. It has the same look and feel, too many of the same quirks, and yet is lacking some very basic stuff that is actually useful, and, after four years in the making, Opensim still doesn't function as well as SecondLife. On the other hand Aurora devs do see Aurora as different but they still want to retain and improve what is good and useful. They want to do better than SecondLife. They want to take it beyond the familiar paradigm so that virtual worlds really capture the imagination and lead to deeper immersion. There is no denying that physics remain a stumbling block but the Aurora team do recognize that good physics are an essential component of the core server code and, not to be beaten by the power of corporate money, they are considering more options.

Aurora devs think very little of ODE even though they have done a lot of work to improve it, work that should have been done by Opensim devs had they looked at Opensim as something more than a social/educational platform. It is one of the founding aims of Aurora devs to improve the physics and, recently, I was in on a discussion in which Navidia PhysX was mentioned. From what I gathered, Revolution Smythe has already done work to integrate PhysX but there was still a lot to do and another dev that has been working with PhysX separately was able to point Rev to new code sources and testing facilities. So the outcome of the conversation gave me reason to believe Aurora will move to a new physics engine before too long or they will continue to improve ODE far beyond it's present capability.


 
Project Wonderland Capabilities from Nicole Yankelovich on Vimeo.
The Cone of Silence implemented on Aurora sim is basically the same as Wonderland seen in the video and I suggested to Rev the cone might also block the viewer from seeing inside the object too which would give privacy on mature sims and serve to increase realism in the virtual world as well. Rev agreed and said he thought it can be done but we will have to wait a bit longer for that one. Perhaps they will change to name to Cone of Privacy too.

Apart from the problem of physics there is also the question of compatibility with Opensim. On the original features list they did state their aim to remain compatible as far as possible but, at present, anything ported to Aurora can't be ported back and, where initially hypergrid teleports did seem possible, they now aren't. The devs decided to disable HG on the premis that until HG stops being incompatible with itself (there are several versions all mutually incompatible with one another) there is no way it can be made to work properly in Aurora. However, the devs have now introduced their own version of HG called Inter World Connector or IWC.

Inter World Connector...

IWC, they say, will be more secure than Hypergrid since security receives particular attention throughout the system. The details of IWC are still not clear at this time but what I gathered was that IWC generates a secure URL on the fly and there are varying levels of trust between grids that are both user and grid operator settable. These levels of trust range from full trust (level 4), where inventory can be sent to other grids with the avatar, down to nothing gets out (level 0). So, where HG has the Outward bounds setting in 7.1 it would appear Aurora has more options although I have no information yet what they might be. One assumes travelling avatars will keep their appearance in the same way that HG works where the skin, shape and clothes, etc, are called from the avatar's home grid so are not downloaded to the visited grid and can't be copied. In Opensim 7.1 grid owners can turn HG on but prevent items acquire on their grid from leaving it while the avatar can still travel with their same name and appearance. I can only imagine IWC will work in a similar fashion but with extra permissions. However, Rev has said it wont be compatible with HG.

Now, I have noticed that many people that are interested in Aurora are concerned about compatibility since they are, for the most part, familiar and probably comfortable with the way Hypergrid works even if they are less than happy with the function of Opensim itself. In deed, Hypergrid is not only an essential component of Opensim for many but without the means to travel via inter-grid teleports it's hard to see how any virtual worlds platform can ever lay claim to be the Apache of the emerging 3D web. Many users are running their own standalone sims attached to grids like OSgrid. Others run grids of their own too. In fact most grids run on core Opensim with a few exceptions like InWorldz and Openlife which have developed their own forked version so are probably too far removed to ever be able to participate in inter-grid travel anyway. If IWC is going to be incompatible with HG then, for many, that will be a serious drawback to adopting Aurora. However, when asked at a recent meeting on the Aurora test grid, the lead developer, Rev did say he could make a bridging module but he didn't say he would. In any event IWC has yet to be fully implemented so currently it remains an open question. But it is an important issue for many, me included.

Okay, so I want to show off the Trekie-style top again. I made it complete with my very own Aurora Sim logo specially for this photo shoot of Gaga on my standalone. Shame about the hair though but I don't have any full perms to download presently. Anyway, I want to make this a tribute to the brilliant coders at Aurora. 


Aurora is different in so many ways and yet remains open source. The developers are not content to build a bare nuts & bolts platform. They believe Opensim should have been more complete by now. All the devs have a long history in virtual worlds and started like most of us in SecondLife. They wanted better and brought their coding skills to Opensim in order change things and help build a truly open metaverse. Many have joined the Aurora team but still contribute to Opensim so there is still plenty of collaboration between the projects regardless of a parting of the ways. Most important to me is that they do seem to be listening to the community and, thankfully, they don't have to please any profit-hungry corporate overlords. They have similar views to the community and suffered the same treatment meted out by the blinkered mandarins that run Linden Labs. They tried hard to work with Opensim (and some still do) but the narrow focus thwarted their creative efforts to advance the code. They are visionaries and want more from a virtual world and they believe there is more to gain. My only worry is that while striving for perfection they don't lose sight of the hopes and dreams of the growing community that have already embraced the free Metaverse. If they throw the baby out with the bath water then Aurora risks becoming just another games engine. The socioeconomic model built by SecondLife is still part of the big picture while the virtual experience can and must improve. Connectivity is important too if the free metaverse is to thrive, and that requires a degree of compatibility in key areas especially content and avatar mobility across worlds. I have no doubt though that the Aurora team are on the right track and I believe the project will go far. And do it fast!


UPDATE [Aug 8th 2011] Aurora Sim has moved on considerably since the article above was publish. Currently we are using 4.1 which includes many bug fixes, improvemnets, IWC in grid mode and a Hypergrid Bridge module to connect with Open Sim grids. See more recent articles...

9 comments:

  1. Hi Gaga,

    Thank you for the detailed article. We'll definitely be following Aurora Sim's progress.

    One thing I must emphasize, as you've already stated, is that being able to teleport between Aurora Sim based grids and OpenSim based ones is critical for adoption. I believe that for many of their potential adopters, the Inter World Connector benefits over HG teleports are less important than the ability to jump between Aurora Sim based grids and OpenSim based ones.

    As I've stated in the past, we're intending to support hypergrid connectivity in the not too distant future so for Kitely to consider using Aurora Sim we would need for it to be accessible to people from OpenSim grids. I understand our priorities may not be shared by the Aurora Sim's developers but I do hope they will consider our input as potential adopters of their technology.

    Regardless of their plans, I applaud them for their commitment to improving open sourced virtual worlds. Kudos for the great work!

    ReplyDelete
  2. wow, what a compelling post! if i had any concerns about Aurora, you answered them and then some!

    i bet is was sheer joy to terraform since it seems to be so smooth. better than SL eh? i find terraforming region borders a real drag in OpenSim, they just suck a lot of times, so being able to have one huge region must be a dream

    thank you for such an in-depth look and post about Aurora, this is so informative (as always)

    thank you! =)

    ReplyDelete
  3. Is IWC defined again by the implementation only or is there documentation describing it's protocols?

    What virtual world interconnectivity needs are standards and peer review. Without these two things we are going to see a lot of disconnected islands for every new version and every new idea. Regardless of how a server works on the inside, there is no reason virtual worlds that have SL ancestry can't speak the same interoperability protocols. It just has to be designed in such a it is robust to features it may not understand, and versioned properly so changing something between a v1.0 and a v1.1 doesn't leave everyone that cant upgrade right away in the dark. This is how protocol designs normally work.

    As far as InWorldz not being able to re-implement and integrate any one of these standards to work for our customers: If people think we can write a compiler and a virtual machine but cant implement a communications protocol should our customers demand it, then I am very glad to be underestimated.

    Kudos to the Aurora team for the rest of these features and changes. The software from the outside looks very nice. I cant wait to see how this specific fork turns out in the future when it stabilizes.

    ReplyDelete
  4. Hi Ilan

    Glad you found the article enlightening and more so that you are considering Aurora Sim.

    As you pointed out I do want to see the Aurora team stick with their promise to maintain a degree of compatibility with Opensim and I completely share view that HG and IWC need to be bridged and I haven't been short on nagging Revolution Smythe more than a little about it. He's a great guy and, for me at least, very approachable. He always tries to answer my questions so I wont be letting up on the issue.

    As it happens Aurora 3.2 weekly now has IWC for standalone mode so the testing has begun. Some things have been buggy which is to be expected with the weeklies. They are not considered stable versions and some problems will actually be settled as the viewer catches up.

    Anyway, as I have said before, I consider Kitely's cloud technology as an important step in making the open metaverse accessible to more people who don't have the tech skills to run their own servers. There are great content makers and builders in SecondLife and more are more finding their way onto the to the many grids that are springing up. Aurora has a lot in it that is new and will, I believe, lead to an explosion in creativity across all worlds.

    Inter connectivity is vital.

    Gaga

    ReplyDelete
  5. Hi Ener

    Yes, terraforming across borders is so smooth not that there needs to be many borders! A var-region really puts an end to all that. Borders are only really needed if two seperate estates want a direct connection. Honestly, you can build all the land you need, a whole grid even, in a single var-region. Yes, and on one server. Make it a good server with plenty of ram and connection speed and you should be able to host all the regions you need up to 256. The limits you will still need to be aware of, of course is prim count and running scripts but with HTTP textures even prims wont have such a high rendering cost and they do show much quicker than textures uploaded to the server.

    I should start talking about land area. Aurora makes a nonsense of the term "region".

    Gaga

    ReplyDelete
  6. Hi Tranquillity

    I can't, at present, say any more about IWC than I said in the article. It is still experimental but I will find out more soon and certainly post about it.

    I agree about standards and, as I said in the article, I don't want to see the team lose sight of the big picture and put all their efforts into pursuing gaming technology. There has to be a balance between the socioeconomic, inter connectivity and gaming factors but, honestly, I have a lot of faith in the team.

    On the other point, the reason I said forked branches of Opensim might be too far removed to use HG or IWC was because Tom Meta of Meta7, before it closed, said something about their own code has reach a point of forking from core and, when that happens, the changes begin to pile up and things like Hypergrid become less likely and more difficult to implement. Thus, I made the assumption that InWorldz and OpenLife would face the same problems.

    But don't get me wrong. I want to see InWorldz HG connected if at all possible. I think they would benefit but more than that, I think the open metaverse would benefit as the walls come down. InWorldz has developed a great community spirit that other grids could learn from. I know for a fact some people in InWorldz also travel anyway and have sims in other grids as well as OSgrid so they can explore other worlds via HG. So I hope one day you will develop the means to connect.

    BTW, I have read good things about your new scripting engine. How is it working out?

    Gaga

    ReplyDelete
  7. great article. Once again, I am amazed at the innovation and commitment by sim developers. I just hope that there will be more agreement rather than disagreement among developers of the various flavors as to the direction that each takes. Interoperability is what will make or break OS-compatible sims. As a user with a developer background, I tend to understand the technology behind the curtain. Providing a seamless experience should be the main goal, and it looks like the developers are working on doing what it takes to get there. Time will obviously tell, but I if current trends continue, we'll see some amazing innovations and improvements that will launch OS to the next level.

    ReplyDelete
  8. Hey Gaga,

    Phlox being rolled gridwide has completely changed the behavior of the grid and the residents. Im seeing a lot more events with a lot of people showing up because they can now without the region getting fussy. I'm seeing some really cool and realistic scripts coming out now that they dont kill regions ( http://www.sandry.co.uk/?p=186 as an example ). It has been great to see the script engine enable people to push their imaginations farther. I see that same ideal when I look at what Aurora is doing, and I think it's fantastic.

    Nothing is impossible as long as you have the right people in place to make the changes. As far forked as we are we can still integrate any technology our residents will ask for in the future. It just has to be important to them first.

    When I see a peer reviewed and designed interconnect standard that includes the content creators as well as developers and grid owners in the design and decision making processes I am going to take a good look at interop. If need to be the ones to try and push these ideals we will.

    Enjoy the rest of your week and thank you for sharing your findings with Aurora

    ReplyDelete
  9. Hi Jim and thanks for commenting...

    I am really excited at the way in which Opensim based VWs are progressing be it core or fork. A great deal of effort and imagination is going into the work at Aurora sim and other branches like InWorldz. People are moving about because they can even if they have a home grid they prefer which makes the free metaverse special. I agree with Tranquility above. There needs to be standards if interoperability is to be achieved but, as you said, only time will tell.

    Gaga

    ReplyDelete