User: Password:
|
|
Subscribe / Log in / New account

Toward a free metaverse

Second Life is one of many multiplayer role-playing games springing up on the net. Unlike some others, Second Life gives its players a significant amount of freedom to create their virtual world; players also get ownership rights to their creations. The Second Life developers have made an effort to strengthen the ties between the virtual and real worlds; the idea of making a living in the Second Life "metaverse" is heavily promoted. Various "real life" personalities - Lawrence Lessig, for example - have made high-profile appearances there.

Like many such services, Second Life has built itself an infrastructure heavily based on Linux and other free software tools. Also like many such services, Second Life has returned that favor by providing clients for proprietary operating systems, but not for Linux. Until recently, that is. There is now an alpha-test Linux client available for free download. It is still very much a proprietary client - no source, x86-only, etc. But it is a start, at least.

Your editor would, of course, rather be reading memory management patches or following the interminable "bait Joerg Schilling" festival on linux-kernel. But journalistic ethics required that time be taken out from such rewarding activities to see how this new client works. LWN readers would expect no less.

Alas, no joy was to be found in that direction. This client, it seems, requires a 3D-capable graphics card. It also requires that the proprietary driver be installed for said card. Your editor is willing to make many sacrifices for the cause, but jumping into the world of binary-only kernel modules was pushing things a little too far. So no Second Life; there was real work to get done anyway.

An important thought came out of this exercise anyway. We, in the Linux community, will certainly want to be able to participate in this sort of virtual universe in the future. These worlds will only get more realistic, engaging, and compelling. They will host a growing number of real-world meetings and events. Even if we, personally, have no particular yearnings for a second life in the virtual world, we may well end up going there just for a chance to visit our children. So it is important that Linux users are not excluded from this sort of experience.

Unfortunately, the lack of free drivers for contemporary video hardware threatens to exclude us from that experience. Even those of us who see no need for a 3D version of vi (emacs, of course, will have a full 3D Lisp mode) may have the occasional desire to dress up as some sort of furry animal and commune with the virtual world natives. Much of what will be interesting in the future of computing will involve increasingly realistic interfaces - and that will require good graphics support. If Linux does not provide that support, people will use something else.

Assuming we will eventually get past that issue, there is another, more important question to be answered: why, exactly, should we build our virtual worlds on somebody else's substrate? Even if we "own" our creations, they run on somebody else's server (which they can unplug at any time), uses their currency (which they can degrade at any time), and is subject to their rules (which they can change at any time). A virtual world which is not free is, well, not free.

Instead, the creation of a true "metaverse" should be a project which is a natural for the free software community. A decent set of open protocols and libraries should make it possible for interested people to set up their own neighborhoods on their own servers and tie them all together into a distributed - but integrated - whole. The net was built on free software, and it has served as a platform for no end of interesting developments. If we build our virtual worlds on free software as well, people will, beyond doubt, create environments beyond our wildest imagination. It is hard to see why we would want it any other way.

There are some virtual world projects out there. MUPPETS is an academic project with an educational focus; its last release was last July. MUPPETS appears to be a Windows-only application, however. The Croquet project looks like it is oriented toward people who want to get some real work done, but it looks like it could be put to wider uses. The Open Source Metaverse Project is an attempt to make something very much like a free Second Life. This project appears to have stalled, however; there is still some life in its forums, but the last development release was in August, 2004. Solipsis is an attempt to create a true, distributed virtual world, but it is at a very early stage. Interverse has some nice screen shots, but the project appears to have come to a halt. Verse is a 3D-oriented network protocol associated with the Blender project; it looks like it could be a useful component. The Virtual Object System is a collection of projects around the 3D, virtual reality theme; it released version 0.23.0-pre1 in January. And so on.

So there's a number of projects out there, but it is not clear that any of them have truly reached a critical mass. One would think that such an inherently fun project would attract more developers. Evidently free software developers have other itches to scratch. So we may find ourselves, in the future, building our virtual worlds on non-free platforms and hoping that the Second Life folks live up to their hints that they might open up their protocols - in 2010.


(Log in to post comments)

Running the Second Life client

Posted Feb 16, 2006 2:54 UTC (Thu) by vmlinuz (guest, #24) [Link]

Uh... it doesn't require proprietary drivers.

I have a Radeon 9550 (or 9650, depending on who you believe - it's a marketing thing for ATI) running with the r300 driver barely included in X11R6.9, and the Second Life client runs. It doesn't run quickly - but then the driver is not finished and, as far as I know, has lots of acceleration work to go - and the fonts are messed up, which I attribute to the alpha-ness of the client, but it runs.

Things are far from perfect in the Linux 3D world, but they are not all bleak and hopeless - it seems that even as the clock runs backwards on availability of specs, and people get used to living with proprietary drivers, there are still people out there with the ability and will to do the old-fashioned reverse-engineering needed for useful free drivers. It may not be that big a deal, but it's the reason that the last 3 graphics card I've bought have been Radeons - and that the 3 before those were Matrox cards, when they were the state-of-the-art in freely-supported graphics hardware.

As for the open/closed worlds - I see Jabber as a beacon of hope. These 'metaverses' have a lot of similarities to the IM world, particularly when they are designed as spaces for communication and co-operation, rather than competitive games, and it would have seemed a couple of years ago that we were destined for a balkanised world of IM networks - yet in 2006, we have Google (far from the great white saviour, but, in general, better than the rest) apparently doing Jabber properly, apparently doing open VoIP, and still promising that they'll gateway their network with AIM/ICQ. If/when that happens, a very large minority of the IM world will be on, or at least have access to, an open distributed IM platform. It happened with mail - SMTP won, hands-down - it looks like it's happening with IM, and I hope it will happen with a more immersive virtual world.

don't forget the MOOs

Posted Feb 16, 2006 3:30 UTC (Thu) by joey (subscriber, #328) [Link]

There's an unconcious bias in this article toward 3d graphical worlds, and I think it's important to realise that that's not a necessary component of a virtual world, although it's certianly a component that will appeal to a lot of people and that fits in nicely with some current ways of working with computers -- ie, sitting in front of expensive screens weilding a mouse. Long ago we had MOOs, MUDs, etc, and they were text based. Just words, you know. And nearly all of them were free software. It might well be that text, or speech, or the like ends up being a better interface to virtual worlds of the future, especially if they are tightly integrated and layered on top of the real world.

And I'm increasingly convinced that if these worlds don't integrate into the real world, if the ideas that have been bubbling up out of ADVENTURE and the MUCKs and the MMORPGs and such don't spread out and become something larger and more inclusive than their own little pretend world, then in the end that whole area has been nothing but pointless games. Which I hope it hasn't, but perhaps I'm getting old..

Speaking of freedom, there are levels and layers, and it's possible to build the free on top of the non-free. After all, I'm typing this on a device that is present in the er, First Life, which is not particularly free in its implementation; it has non-free firmware and BIOS, and is composed of atoms of some substances that are less easily available than air, and which follow some annoyingly inflexible physical laws, and it needs a constant input of metered electricity to run. But on top of all that is some free code that gives me a measure of freedom.

Similarly, it would be possible to run free code in Second Life, and given how rare it is overall for such services to support coding at all, let alone explcitly give a program (or object's) creator the freedom to make it Free, that Second Life does so seems encouraging to me.

If we get a distributed standardized free online world by 2010, I'll be happy indeed.

(Disclaimer: I write text based MOOS, and have never used Second Life, though I chatted with someone there on the phone today.)

don't forget the MOOs

Posted Feb 16, 2006 6:18 UTC (Thu) by rknop (guest, #66) [Link]

Sure, you can build free on top of non-free, but the freer the better.

A free Second Life client that ran on Linux without having to resort to recent enough video cards that binary kernel modules are necessary would be nice.

Much nicer would be the "metaverse" described in the article, though-- where you can move between servers, where you can be part of the same "world" as other people without having to build all of your creations on some officially blessed server, but can choose your server, or run your own server hooked into the metaverse.

I don't think we even have that kind of "cyberspace alternate world" even in text, never mind with 3d virtual graphics. Yeah, there are probably lots of free M** type thingies, which you can download and set up servers for, but each one set up is a self-contained world. Ideally, when you leave one "room" or "continent" or whatever and go to the next, you move to the next server... and you can hook new servers into the "world" much as you hook any old Internet server into the internet, and have people be able to come into and interact in the new server space you've built.

The client and servers that did this would need to be free, and would need to come with a well-defined protocol... so that other clients and servers, in the future, could be written that interacted with the first.

Some year this will probably happen. Unless the telephone companies with their highly controlled internet, or the tech and media companies with their intellectual property fears, all manage to lock down the Internet into something where they can deliver "content" to "consumers", rather than something where people are individuals and can creatively be sources as well as purveyors of information.

-Rob

Toward a free metaverse

Posted Feb 16, 2006 7:50 UTC (Thu) by emj (guest, #14307) [Link]

Verse is one of the coolest project I've seen. It supports collaborating environment where you can meet and e.g. in realtime edit the texture of an object with gimp, and have it show up in all the other 3D clients. Somehow a live subversion for 3D, without the versioning.. ;-)

I think it's actually a separate project from Blender. It also seems to be one of the most longlived projects, I think I saw it the first time in 1998, and they still have active developers.

Toward a free metaverse

Posted Feb 16, 2006 14:16 UTC (Thu) by arafel (guest, #18557) [Link]

I'm surprised no mention was made of World Forge. It's a project to do exactly what Jon described.

Our vision is to foster an independent community in which many free games can develop and evolve with unique roleplaying-oriented worlds and rules, running on a wide selection of server and client implementations with a standard networking protocol tying everything together.

Our core focus is the construction of a complete system with all the tools, technology, content and artwork required to build complex persistent online virtual worlds.

WorldForge

Posted Feb 16, 2006 14:37 UTC (Thu) by corbet (editor, #1) [Link]

OK, I'll admit it: I had a different, not entirely correct picture in my mind of what WorldForge is up to. Guess I need to read the LWN Development page a little more carefully. Yes, WorldForge should certainly have been listed there; maybe I'll have to take a closer look at it for a separate article.

typo

Posted Feb 16, 2006 16:03 UTC (Thu) by tjw.org (guest, #20716) [Link]

following the interminable "bait Jeorg Schilling" festival on linux-kernel
I believe it's "Jörg Schilling". Or if you lack the character support, "Joerg Schilling".

Virtual-world realities

Posted Feb 17, 2006 0:09 UTC (Fri) by roelofs (guest, #2599) [Link]

Jon,

We, in the Linux community, will certainly want to be able to participate in this sort of virtual universe in the future.

Maybe, maybe not--there's participation, and then there's participation, and tens to hundreds of millions of dollars have already been lost on such assumptions. Are you certain we'll want it that badly? After all, the enabling technology for this stuff has been around almost as long as Linux itself; if it were that compelling, wouldn't you expect a little more progress by now? Heck, by five years ago?

Assuming we will eventually get past that issue, there is another, more important question to be answered: why, exactly, should we build our virtual worlds on somebody else's substrate? Even if we "own" our creations, they run on somebody else's server (which they can unplug at any time), uses their currency (which they can degrade at any time), and is subject to their rules (which they can change at any time). A virtual world which is not free is, well, not free.

Hmmm. Perhaps it will surprise you, then, to hear that these things have been the subject of extensive research and experimentation over the last two decades; it seems to be a far more complex topic than you make it sound. For example, free virtual property has been tried (Activeworlds and undoubtedly others); if you allow full delete/modify privileges, you end up with a lot of graffiti, defacement and ad-spam. If, on the other hand, you grant exclusive ownership the moment an object (pavement, wall/building, whatever) is laid down, you end up with the "coral effect," in which growth and renewal occur only at the ever-expanding edges, while the inner core stagnates and dies. If you don't enforce rules (whee, "freedom"!), you tend to end up with a bunch of "drive-by kiddies" who quickly destroy the community. And if you don't tie the currency to real money at some level, it has virtually no meaning (so to speak) whatsoever. (But if you do, then you're suddenly subject to additional "first life" laws; again, your freedom is constrained.)

Note that I haven't even touched on the topic of server and bandwidth costs, networking protocols and various forms of cheating, etc. There are as many different aspects to virtual life as there are to the real world, and simplistic expectations about how virtual worlds should work tend to collide rather painfully with reality, at least historically. That isn't to say that a truly free virtual world couldn't be made to work, but I believe it would take a lot of time, development effort, and trial-and-error experimentation, and I'm not sure the free software community has sufficient resources (i.e., interested manpower x willpower). Certainly the examples you quote at the end of the article seem to be short on both.

Here are some relevant links; they're not the complete word on the subject by any means, but they're a start:

Greg

Why do you need a server at all?

Posted Feb 17, 2006 11:46 UTC (Fri) by rwmj (guest, #5474) [Link]

A long time ago (back in 1998 ...) we worked on a proposal for
a true "peer-to-peer" multiplayer universe. The paper is here:

http://www.annexia.org/freeware/fleet

Rich.

But is 3D needed at all?

Posted Feb 18, 2006 13:59 UTC (Sat) by nlucas (subscriber, #33793) [Link]

Sometimes I think 3D is overrated. People were playing 3D games before there were 3D cards. They simply weren't full 3D, but enough to give the "impression" of 3D.

I see a lot of games requiring 3D that don't need it at all. They have a fixed camera and an isometric perspective of the world, meaning it all could be done with simple "sprites" animation and screen rotation techniques (which with modern PCs are just blazingly fast!).

Maybe we just need to go back to basics?

But is 3D needed at all?

Posted Feb 22, 2006 21:22 UTC (Wed) by amikins (guest, #451) [Link]

Techniques for 3d models of entities have progressed to the point where it is actually more effective and efficient to define a simple 3d model with textures and animate accordingly than produce the numerous single frames needed for 2d "sprites". The quality of image and smoothness of animation is increased even with a fixed camera angle.
Interestingly, with certain situations, it's possible to achieve similar quality to prerendered 2d sprites with an overall -lower- memory footprint; with pre-rendered images, if you have a sufficient number of possible options, you've got a lot of rastered images to throw around. With a 3d model, all you have to worry about is the model itself, the textures for the model, and the animation definitions.
The use of 3d for what traditionally was 2d is not that senseless.
That's not to say 3d isn't used inappropriately at times -- I, too, have seen many games using 3d hardware as essentially a blitting mechanism -- but there -is- value here, used correctly.

But is 3D needed at all?

Posted Feb 25, 2006 18:40 UTC (Sat) by nlucas (subscriber, #33793) [Link]

Thanks for your very good and informative answer.
I stand corrected.

But is 3D needed at all?

Posted Feb 28, 2006 1:40 UTC (Tue) by zblaxell (subscriber, #26385) [Link]

That's not to say 3d isn't used inappropriately at times -- I, too, have seen many games using 3d hardware as essentially a blitting mechanism -- but there -is- value here, used correctly.
Wait. Are you saying I can use the 3D hardware for more than just glslideshow and the "mplayer -vo gl" driver?

(ducking)

It isn't just games--there is an internal project at my employer which uses 3D hardware to alpha-blend photographs together (just that--there is some geometric transformation and scaling, but that is done in software). Hardware alpha blending is frankly not that much faster than a software implementation, but it doesn't work at all on non-GLX-capable X servers. :-P

Toward a free metaverse

Posted Feb 27, 2006 3:13 UTC (Mon) by petetron (guest, #8495) [Link]

Disclaimer: I'm the author of the Virtual Object System.

A few comments.

  1. The current business model of Linden Labs (creators of Second Life) is to "selling" virtual property on their servers. As such, they have a strong anti-freedom business motivation, as they wouldn't have a revenue stream if just anyone can set up a server. How far would the web have gotten if the only way to have a web page was to pay Netscape for the privilidge of hosting on their servers?
  2. The state of 3D hardware support on Linux doesn't help the situation much, but is essentially a separate issue. It is true an open source client means that features such as software rendering can be supported by people who need it.
  3. I think people vastly underestimate the scope and difficulty of the task. We're talking about an application that combines the most difficult parts of a 3D engine, database, network middleware, scripting langauge and end-user browser application. Just maintaining working cross-platform code can be a full time effort.
  4. "One would think that such an inherently fun project would attract more developers." -- People want something that works before they will contribute to it. However, due to the difficulty of bootstrapping even a minimal codebase (above, and discussed in detail here), it requires a heroic amount of time and effort just to get to the point at which one even has enough functionality around which a community can start to gel.
  5. World of Warcraft has probably done more to set back free metaverse development than anything else :-)


Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds