LWN.net Logo

Toward a free metaverse

By Jonathan Corbet
March 26, 2008
Last month, an article about another attempt to free the proprietary Ryzom game expressed frustration with the implied idea that the free software community could not, on its own, create a game experience comparable to Ryzom. One of the resulting comments took issue with (what was seen as) a dismissive attitude toward the Second Life client and pointed out some of the work which is being done based on that client. So your editor decided to take another look. The bottom line is this: the work being done in this area is still in an early and unstable state, but it does have the potential to open a new frontier for free software in the area of virtual environments.

The Second Life client for Linux is now in a beta release. "Beta," in this case, means that all of the features have, in some way, been implemented; now it's just a matter of making it all actually work. Your editor found the client to be slow, unwieldy, crash-prone, and very fussy about its graphics environment. Your editor's well-supported (in X) Intel-based desktop was not adequate for this client, for example; the associated documentation recommends a long list of cards which (for now) are only supported with proprietary drivers. Still, on the right system, the client is able to render three-dimensional worlds with the same quality that, well, Second Life has on any platform.

An alternative is OpenViewer, a C#/Mono-based, BSD-licensed viewer project. Your editor had little luck getting this client going, but the screenshots are nice. The developers appear to have made significant progress toward the creation of a functional, three-dimensional client; this is a project to watch. Less far along is the Aether project, which is working on a OpenViewer-based client meant to run within Firefox; thus far, it has a nice design diagram but not much else.

There is also RealXtend, a project based on the Second Life client which is emphasizing performance and visual quality. Unfortunately, it also seems to be emphasizing Windows support, so your editor did not give it a try.

Free software clients are certainly an important tool to have; we will not be able to access this kind of virtual environment without them. But it would be a real shame if these clients simply facilitated a world where we use free clients to access locked-down, proprietary virtual worlds on somebody else's server. What would be much better would be the ability to create our own virtual worlds - using free software, of course - and to link those worlds into a larger virtual universe. That is the formula which made the World Wide Web (and many other Internet services) work, and it should certainly be applicable in this context as well.

The good news is that people are working in this area. One project, OpenSim, has the look of something which is about to achieve much wider awareness as its features mature. In short, OpenSim is a virtual world server which can be deployed to create environments much like what one would find in Second Life. It works with the Second Life client and with OpenViewer as well, and it presents a very similar experience - at least, in the virtual worlds which have been deployed so far. Since it's free software, it can be customized toward the creation of different kinds of environments, including role-playing games and such.

It is written with C# and Mono - seemingly a common choice for this kind of software. The Mono environment, for all its faults and potential pitfalls, may well make it easier to create a cross-platform application with the requisite features.

What makes OpenSim really interesting, though, is its ability to connect servers together in a "grid" mode. Once this is done, a virtual world is not limited to a single entity's server (or imagination). Servers across the net can be interconnected into a single, larger world. This is the feature which has the potential to take OpenSim from another interesting project into something which transforms the net.

There are a number of people organizing grids with OpenSim now; there is a list of public grids on the OpenSim site. Some of them appear to be relatively proprietary operations offering the opportunity to buy virtual land - though subprime loans are unavailable. Others allow anybody connect their server into the grid and become part of the whole. These grids appear, in general, to be in a sort of early adopter state at the moment, but much of the fundamental functionality is there. How hard could it be to make it all work properly at this point?

The answer to that question, of course, is "quite hard." But the fact remains that people are working on this very interesting problem, and they are making significant progress toward solving it. These projects bear watching; they may well be planting the seeds of the systems we will all be using in the coming years.


(Log in to post comments)

Mono and Monodevelop on CentOS 5, Fedora, etc.

Posted Mar 27, 2008 2:58 UTC (Thu) by jhs (subscriber, #12429) [Link]

I do some work using the libsecondlife project, which is a free low-level client API to Second Life. Newer versions of libsecondlife, a component of OpenViewer require Mono 1.9, so I took the liberty of posting a procedure for installing Mono 1.9 and Monodevelop 1.0 on CentOS and Fedora. It's not terribly earth-shattering, but it might save people some tedium.

(I apologize for the poor formatting. I am in the process of moving this documentation and more into the excellent Sphinx system.

Toward a free metaverse

Posted Mar 27, 2008 5:02 UTC (Thu) by wahern (subscriber, #37304) [Link]

Anybody care to comment why the Croquet Project doesn't have more mindshare? I realize that
the "best" technology doesn't always win, but if we really want to move to a massive
multi-user virtual world without the threat of centralized control, seems to me we should be
investing more effort in Croquet. Maybe I don't understand the issues well enough. I humbly
request to be schooled.

Toward a free metaverse

Posted Mar 27, 2008 11:45 UTC (Thu) by faassen (subscriber, #1676) [Link]

Second Life is attractive because of content. Second Life actually is something you can log
into and for all it faults, it works, and has a vibrant culture. It offers a whole host of
content-creation tools. It also has a lot of content creators who create content and either
sell it or give it away. You have subcultures creating anything from virtual architecture,
virtual fashion and streamed in live music. The content makes the system way more attractive
than Croquet. How would I go about actually logging into a Croquet environment? Can I find
anyone there to talk to? Does it look nice? Could someone, say, get a virtual house and buy
virtual fashion?

Thanks for this review

Posted Mar 27, 2008 7:17 UTC (Thu) by robla (subscriber, #424) [Link]

Thanks for taking another look in this area. I regretted the way I handled the previous conversation, and I'm glad to see a more detailed look here. For those just joining us: I work at Linden Lab (the people who make Second Life).

A couple more things to state about Second Life: we're working pretty aggressively toward opening up the protocols and formats via the Second Life Grid Architecture Working Group, which has pretty robust community participation. We've also released the source code for some key bits of our server architecture, which turn out to have usefulness well beyond virtual world technology. Eventlet is a coroutine-based library for implementing non-blocking I/O in Python, which we use extensively for protocol development. Mulib is library using Eventlet, which makes it really easy to implement web services.

As a longtime free software advocate, one of the things I find the most interesting about Second Life as an open source project is that it flipped from proprietary to open source from a market-leading position. This is quite different from how corporate open source is often done; it's usually either as an underdog or as a former market leader trying to revive the magic. I'm really hoping the free software community sees the opportunity in starting from a market leading position rather than having to claw upward from almost nothing. There's a lot of work to be done before Second Life is fully open, and the community will need to keep us honest on this front, but I believe we'll get there much more quickly working together than we will by taking a scattered approach.

With respect to stability and graphics cards, the issue there has much to do with support for OpenGL in the driver, which varies pretty widely from graphics card to graphics card. On my machine at work, I'm able to run Second Life quite well under Linux, and it's what I use for my daily work now (we have distributed offices at Linden Lab, and thus meet quite regularly in Second Life in the course of doing business). Hopefully the presence of more and more 3D graphics on the Linux desktop (e.g. Compiz and apps like Second Life) causes more attentiion toward fixing driver issues.

Thanks for this review

Posted Mar 27, 2008 11:17 UTC (Thu) by dvrabel (subscriber, #9500) [Link]

Second Life is hardly "market-leading" in the MMO space.

Thanks for this review

Posted Mar 27, 2008 15:23 UTC (Thu) by smoogen (subscriber, #97) [Link]

It is in the area of businesses doing business online. I don't know of many IBM, Novell,
Embassy of Out Slovobia's in World of Warcraft or the other game worlds which are the lion
share of MMO.

Market leading general purpose virtual world

Posted Mar 27, 2008 16:54 UTC (Thu) by robla (subscriber, #424) [Link]

There are fixed-purpose games (e.g. World of Warcraft) that are larger, but I don't believe
there are any general purpose 3D platforms that are.

Thanks for this review

Posted Mar 27, 2008 15:10 UTC (Thu) by jimparis (subscriber, #38647) [Link]

Hopefully the presence of more and more 3D graphics on the Linux desktop (e.g. Compiz and apps like Second Life) causes more attentiion toward fixing driver issues.

Oh, there's plenty of attention. But there's nothing that our attention can do for the proprietary drivers for the cards you list as a requirement. If there are issues with open-source drivers, that's another story, and we'd love to hear and fix them.

Open source drivers

Posted Mar 27, 2008 17:03 UTC (Thu) by robla (subscriber, #424) [Link]

We don't purposefully restrict Second Life to certain drivers; it's just that our tech support
people aren't eager to advertise support for drivers that either are known buggy or that our
QA folks haven't had a chance to test.  If there's a video card/driver combination that you
personally know work with the Second Life viewer despite not being advertised, let us know by
filing an bug report against our website here: http://jira.secondlife.com 

The OpenGL support in the open source drivers is already known to be well behind the
proprietary drivers, sadly.  Fortunately, the source code for the Second Life viewer is all
there for debugging/fixing purposes, and we'll gladly accept patches that fix the problem.

Re: Thanks for this review

Posted Mar 30, 2008 16:20 UTC (Sun) by Kamilion (subscriber, #42576) [Link]

"Hopefully the presence of more and more 3D graphics on the Linux desktop (e.g. Compiz and
apps like Second Life) causes more attention toward fixing driver issues."

"Oh, there's plenty of attention. But there's nothing that our attention can do for the
proprietary drivers for the cards you list as a requirement. If there are issues with
open-source drivers, that's another story, and we'd love to hear and fix them."

In my opinion as a long-time Second Lifer and 3D gamer, it's my firm opinion that Intel
integrated graphics hardware has been utter crap. Yes, Intel is releasing their driver source
early and often, but if the hardware performance is so abysmal, it's no surprise applications
like Second Life require a *REAL* GPU (That doesn't lack serious functionality like hardware
geometry processing: no hardware texture and lighting or vertex shaders in the GMAs based on
the 9xx series, which is most of them) from the likes of nVidia or AMD/ATI. Personally, I'm
stoked about AMD/ATI's 'new' stance on FOSS drivers, as well as the eventual promise of
nouveau and Gallium3D. I've got one of the new G780s on order, and I'm itching to stuff it in
a case, install Hardy on it, and fire up SL to see how it compares against my current laptop,
a fujitsu lifebook S2020 with a ATI Radeon Mobility U1 / IGP320M, which is basically a Radeon
7000 stripped of it's hw T&L. Fortunately, Mesa takes up the slack and all is well. It should
be noted SL won't run *at all* in windows with this laptop, whereas even with software
fallback texture and lighting in Mesa, I'm pulling 10-16FPS with Second Life's recent
windlight addition which added 2D avatar impostors. Now if I could only replace my own avatar
with a 2D impostor I'd be getting over 25FPS with mostly software rendering!

Also, Rob...
Subscriber #424? Wow. Never knew you read LWN! I only recently could afford to become a
subscriber myself (Thanks to the income I bring in from scripting in SL!), this is my first
post as a subscribed reader, I'm not even sure what my own subscriber number is yet... :D

-- Kamilion Schnook, who feels very abused by the LSL scripting language...
My kingdom for a SWITCH/CASE statement, or at the very least hashes or nested arrays! I had to
write my own 'fake' associative hashes to implement YAML! MY MIND STILL BURNS FROM THE HORROR!
THE HORRRRRROR! :D

Wonderland/Darkstar

Posted Mar 27, 2008 9:12 UTC (Thu) by skitching (subscriber, #36856) [Link]

Another interesting project in this area is Wonderland:
  https://lg3d-wonderland.dev.java.net/
which uses
  http://www.projectdarkstar.com/
as its underlying engine.

A quick summary of darkstar can be found here (the actual project homepage is really hard to
get a good overview from):
  http://research.sun.com/projects/dashboard.php?id=168

This appears to be a pretty serious effort by Sun to build a highly,scalable system with the
same "grid" features discussed above.

Wonderland at least is under the GPL2.0.

I'm pretty sure I read earlier that darkstar is also under an open-source license, but cannot
find a clear link that states that at the moment.

Toward a free metaverse

Posted Mar 28, 2008 15:36 UTC (Fri) by nlucas (subscriber, #33793) [Link]

I would like to know more about why CrystalSpace [1] (the open source 3D engine behind
PlaneShift) doesn't have more visibility.

It seems a mature engine, and PlaneShift [2] seems good enough to atract attention, and even
is open source (but the graphics content is not).

I feel the fact the game is restricted to a specific gamers target, namely they overload the
role playing aspect, and the fact people inteact with NPC using the english language (meaning
non-native english speakers can feel a bit lost), is having a detrimental aspect on making the
game (and the engine) known to more people on the community.


[1] http://www.crystalspace3d.org/
[2] http://www.planeshift.it/

Toward a free metaverse

Posted Mar 28, 2008 19:39 UTC (Fri) by dark (subscriber, #8483) [Link]

Well, I can say that the non-free nature of the graphics is what turned me off from CrystalSpace. Without the graphics, it's just another 3D engine. And I'm a programmer. I can make code, I can't make graphics. I expect there are many free software programmers in this position. You really need free art to get the snowball effect.

another alternative: OpenVRML

Posted Mar 29, 2008 4:39 UTC (Sat) by roelofs (subscriber, #2599) [Link]

I'll just mention yet another alternative, OpenVRML (a.k.a. "libvrml97" in past years). It's not in quite the same space in that it doesn't explicitly address the networked multiuser aspect, but there were a number of projects a decade back that showed it was possible to build such things around VRML if you really want to.

More realistically, it's a nice environment for standalone worlds and models, including interactive effects (Java and JavaScript scripting) and various forms of multimedia. Also, VRML is a completely open standard. I haven't kept up enough with Second Life and the others to be able to say whether it's worth the effort at this point in time to learn VRML, but if you already know a bit about it or have an existing tool that can export to it, it might be worthwhile. And OpenVRML is LGPL'd and still under active development, albeit mostly by one person (who has an unfortunate love of the bleeding edge as far as build-dependencies go, sigh). I believe FreeWRL and a handful of X3D ("VRML 3.0") projects are also still being developed, though I haven't checked lately.

Greg

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.