andrew tanenbaum once remarked that “the network world is a jungle”
and back then he was referring to the plethora of network protocols to
choose from (anyone remember ISO CONS, TP4, X.25,
X.400, the ISO/OSI vs TCP/IP wars, ISODE? ah, those were the
days…) — a couple of years later (well, actually more than 20
years later, i’m showing my age) the jungle has become even denser and
sometimes it seems we are going to suffocate in it.
looking at virtual worlds, we don’t (yet?) have a jungle but there
sure are quite a number of virtual world systems and virtual world
“wannabes” out there — raising the questions which ones are really
virtual worlds (and which ones are just glorified 3D or worse 2.5D
chat systems) and which should we support?
virtual worlds & glorified chat systems
the first question — what features make a system a virtual world
system as opposed to a mere embellished chat system with avatars —
is, i admit, a bit of a challenge. intuitively, i guess, we are all
tempted to state, “i’ll recognise a virtual world when i’m in it.” —
which is probably true for most of us, but is not really a good
criterium.
what do we expect from a virtual world? well, it has to feel real;
that means, it has to be able to draw us in to the virtual world in
such a way that we no longer realize that we are not the avatar and
also forget that we in fact and in reality sitting in front of a
computer with just a tiny window into the virtual world and a rather
limited way of interacting with that virtual world — this being
drawn in is what we call immersive experience. for me an immersive
experience only occurs when i can interact with a credible, 3D
world. Credible in this context means that the virtual world at least
exhibits similar features to and “behavior” as the “real-life” world
i’m living in (is it real, though?):
- 3D: things and scenes before me appear to be three
dimensional[^1]
- free movement: i can move about a scenery as i want to and
change perspective as i want to
- impact: i can influence and change the environment i (or my
avatar) am part of
- interact: there are others “in-world” and we can interact with one another
(chat, take a walk together, do things together)
- create, sell & buy: i can create stuff, i can give stuff
away, accept stuff from other avatars, i can sell and buy stuff
- physics: the virtual world exhibits limitations[^2], either by
imposing “laws of physics” on objects or by restricting resources
(size of an virtual world space) or by restricting my abilities
(e.g., how far can i see? how far can i hear?)
those points, i think, establish a baseline of what constitutes a
virtual world system. anything below that baseline is a glorified
chat system at best, i’d say. anything above that baseline just
enhances the experience.
ideal virtual world systems & virtual universes
what would an ideal virtual world system look like? when can we talk
of a virtual universe?
obviously, an ideal virtual world should be more than just a virtual
world, so what are the features that (i think) make it ideal?
real word–virtual world interconnect: first, i’d like to be
able to link real world and virtual world. touching an object in
the virtual world, for example, could open a browser window (or map
a browser window into the virtual world); or the status of an object
in the real world should influence the status of one or more objects
in the virtual world.
internal & external APIs: then, second, we should be able to
program the virtual world system from the inside as well as from
the outside. this feature, requires that there are in-world and
real-world virtual world APIs that allow us to interact with the
virtual world at least on the same level as an avatar of that
virtual world.
property: an ideal virtual world system gives me control over
the stuff i own. i can take my belongings and make a backup onto
my backup service. i can take my belongings and leave (and join a
different virtual world). i can pass on whatever i own to another
avatar.
self-hosting: next, with an ideal virtual world system i can
host my own private virtual world and have complete say over who
can access and who cannot access it.
virtual universe grid: i can hook up to other, independently
operated virtual world systems of (at least) the same type and
create a virtual universe grid.
cross-platform & accessibility: an ideal virtual world aims for
cross-platform coverage and accessibility. i can run the
client on a windows system, on an apple OSX system, a linux system,
or on a mobile platform. if i’m blind i can use a text-only
client. when i’m away from broadband connections i can use reduced
graphics clients or even text-only clients.
open source: finally, an ideal virtual world gives me
open-source[^4] access to both the client and the grid (server)
code.
“so weit, so gut“… the next step will be to try and collect information about existing virtual worlds.
SecondLife, contender to the throne?
SecondLife seems to do quite well in the virtual worlds category. the source code to the client has been open-sourced by linden labs (who own the current SecondLife grid). the server code has been promised by linden labs but that so far has not happened. however, as tao takashi reported on his blog recently, linden labs have instantiated the SL Architecture Working Group recently and invited experts from all over (disclaimer: yours truly is part of it as well) and with the following vision (in the words of zero linden):
We imagine a future where Second Life is able grow beyond the borders of Linden Lab. We see regions running on open source, alternative simulators. We see web services that allow people to build mash-ups of Second Life and the Web. We see organizations being able to integrate their members and their members’ avatars. This is the vision of future Second Life Grid that we want to develop.
Last week we hosted the first Architecture Working Group meeting. Our aim is to build the technology and standards for such a vision by developing them through the direct involvement of Linden Lab, external developers, and the community. The initial group included Residents and organizations active in the technical development of Second Life, as well as virtual worlds in general. We hope it will be the first of an ever expanding process.
thus, we can hope for and, in fact, expect SecondLife to develop over the coming months and years into a fully fledged virtual universe!
OpenSim
OpenSim while in many aspects not quite on par with the SecondLife grid (but making steady progress) has already the concept of foreign grids, providing the first version of a virtual universe!
others…
still need to investigate ActiveWorlds, torque based VWs, & croquet. stay tuned