VRML 3 and Virtual Worlds

Toby Howard

This article first appeared in Personal Computer World magazine, July 1997.

PICTURE THE SCENE. You're sitting in your lounge, watching a movie on TV. The phone rings: a friend suggests she visits. You decline -- it's been a long day at work. Soon after, the doorbell sounds. Wearily, you answer it to find your old friend Henry on your doorstep. "I was just passing, thought I'd drop in", says Henry. Henry duly drops in, along with Max, his inquisitive labrador puppy. You serve Henry a beer, and Max a bowl of water. You and Henry chat, while Max scampers about occasionally barking for attention. After a while, Henry and Max leave. Only later do you discover the surprise Max has left for you behind the sofa. A fairly recognisable slice of life. Not quite: this is virtual.

In this evening in cyberspace, your lounge is a souped-up Web page, and Henry and Max are virtual visitors from their own patch of cyberspace. The image of Henry on your screen is his "avatar", which the real, embodied, Henry controls from his PC, wherever that might be. Max is a "bot", an object with a dog-like behaviour of its own, unpredictable once it's been activated by Henry.

Shared virtual environments on the Internet have been around for a while. One of the earliest was "Habitat", developed by Lucasfilm in 1985. Habitat ran on a centralised mainframe, accessed by a user's Commodore 64 home computer, connected by a 300 baud modem to the "QuantumLink" on-line service, a now-defunct subsidiary of AOL. Subscribers entered "regions" in the Habitat world, seeing themselves and others represented by cartoon-like avatars, and moving around using the Commodore's joystick. By typing simple commands you could pick up objects, read books, and talk to other avatars, with your words displayed in a cartoon bubble above your head:

At its peak, the Habitat-based Club Caribe system had an astonishing 15,000 users. When you recall that the Commodore was an 8-bit machine with 64K of memory, this is quite something.

With faster communication and more powerful machines, virtual environments have grown massively in complexity since the cartoon world of Habitat. Modern worlds, such as AlphaWorld, The Palace, and Worlds Away, and others indexed at www.ccon.org, offer rich interaction, and 3D graphics, allowing you to create your own buildings in the world, which persist after you leave. However, until now, the technologies used by most operators of virtual worlds have been proprietary, and mutually incompatible. Now, the race is on for standards, to allow existing, but quite different, multi-participant environments to be linked into an "electronic landscape" that will span the Internet.

One of the strongest contenders for providing a basis for standardisation is VRML, the Virtual Reality Modelling language. VRML (pronounced vermal) was born in early 1994, as a means for defining 3D worlds and objects on the Web. Originally based on the "Inventor" ASCII file format from Silicon Graphics, VRML 1.0 concentrated on defining the appearance of static objects -- their shape, colouring, surface texture, and so on. VRML 1.0 was superseded in 1996 by version 2.0, which is much more powerful, including mechanisms for giving behaviour to objects.

It's fun to experiment with VRML. You'll need a VRML plug-in for your Web browser, and Cosmo Player from Silicon Graphics (www.sgi.com/cosmoplayer) is one of the best. VRML is conceptually simple but can be cryptic, as the following example, which draws a purple cube, illustrates:

#VRML V2.0 utf8
Group {
	children [
  	Shape {
	   appearance 
	      Appearance { 
                 material 
                    Material {diffuseColor 0.4 0.1 0.9}}
	   geometry 
              Box {size 1 1 1 }
	}
	]
	}

The possibilities for supporting virtual environments begin in VRML 2.0. Objects can produce, and respond to, "events" which can be routed between objects. For give you a flavour, we can extend the cube example, using it as a switch to activate a light. We add a "TouchSensor" object, which generates an event called "isOver" when the user's mouse passes over it. The "ROUTE" command channels the "isOver" event to the light's "on" property:

#VRML V2.0 utf8
Group {
	children [
        DEF LIGHT PointLight {
           on FALSE
           color 0 1 0
           intensity 1
           location 0 10 10
        }
	Shape {
	   appearance 
	      Appearance { 
                  material 
                     Material {diffuseColor 0.4 0.1 0.9}}
	   geometry 
              Box {size 1 1 1 }
	}
	DEF SWITCH TouchSensor {enabled TRUE}
	]
	}
ROUTE SWITCH.isOver TO LIGHT.set_on

VRML 1.0 and 2.0 are single-user systems. When you visit a world (and there's an excellent list at vrml.sgi.com/worlds), it's downloaded onto your machine, and everything happens locally. The challenge now is to make VRML truly multi-user so that it will support shared virtual environments. There is intense activity to define what VRML 3.0 will do, and how objects such as avatars and bots will be represented and programmed.

Three groups are playing a major role. At an implementation level, the Living Worlds group is proposing standards for distributing data between multiple participants in a world; more philosophically inclined, the Universal Avatars group is concerned with devising standards for constructing avatars. Apart from visual representations, they worry about proving you are really who your avatar says you are, how to represent emotion, and what social constraints should be imposed on interacting avatars; Open Community, led by Mitsubishi, intends to combine ideas from Living Worlds and Universal Avatars, to create an open standard for cyberspace based on VRML 3.0 and Java.

Of course, the cynics are already scoffing: what exactly is it that we have to say to each other that demands we do it in cyberspace? The majority of cyberspace interactions currently revolve around role-play gaming and chit-chat. But if we can look beyond the current fascinations, we may see a fundamental new way to organise ourselves. Well, maybe.

According to the veteran iconoclast Noam Chomsky, all this is nonsense. Most of the the world's population, he points out, have yet to make a single telephone call, never mind wandering about in cyberspace, worrying about whether the pictures of their under-nourished children should be encoded as JPEGs or GIFs.

In saying that cyberspace is Western electronic elitism taken to extraordinary lengths, Chomsky may have a point. But, sharing virtual spaces needn't all be about chatting and playing games. Increasingly, for many scientists, the traditional laboratory is giving way to the "collaboratory". Much scientific research already depends heavily on the Web for collaboration and exchange of data. As national science budgets continue to decline, scientists are turning to virtual conferencing, and accessing and controlling remote equipment using the Web. A virtual "collaboratory" environment is a logical step.

Cyberspace may be the next Big Thing, and Big Business is rumoured to be waiting in the wings, quietly watching the Webheads putting the infrastructure in place. Then, the suits will simply take it over, to entertain us, and sell us things. On the other hand, cyberspace may never catch on, and remain forever somewhere to hang your anorak. Only time will tell.

Toby Howard teaches at the University of Manchester.