Playfulness in 3-D Spaces
"Put the trodes on and [you] were out there, all the
data in the world stacked up like a big neon city, so you could
cruise around and have a kind of grip on it, visually anyway,
because if you didn't, it was too complicated, trying to find your
way to a particular piece of data you needed." Every
six months or so, I find a reason to survey the state of VRML
(Virtual Reality Modeling Language; more info at
http://www.vrml.org/) and 3-D 'shared worlds.' I started these
semi-annual forays in 1994, while researching a book, "Voices From
the Net" (Ziff-Davis, 1994) , about online communities. In that
book, I concluded that the classic model of cyberspace, quoted above
from William Gibson's "Mona Lisa Overdrive", was not possible in
this century (a bit of a grandiose cheat, since the century amounted
to but a half-dozen years by that time), if at all.
Woe betide the prognosticator who puts a far-off date on computer
revolutions -- as the visual components of networking grew by leaps
and bounds, it looked like my predictions might be off the mark. I
kept hearing that VRML was at the edge of usability, and every now
and again would go exploring to see for myself. The improvements
from year to year were impressive, although they were due in part to
the rising tide of clock speed, which lifts all the boats. However,
they never seemed any closer to being something that someone would
use for anything other than a "Now, instead of just looking up the
info you want, you can actually fly through your company's parts
catalog!" trade show demo. It was always better than last time, but
never enough of a jump to actually be, in Alan Kay's famous words,
"good enough to criticize."
The Streets of San Francisco
VRML applications are the videophones of the Net -- something
that is possible in theory, but which excites designers far more
than it excites potential users. At one point, the height of VRML
applications was a 3-D Yellow Pages for San Francisco, the one town
whose 3-D shape was uniquely ill-suited to such an already
questionable endeavor ("Now, instead of simply looking up your dry
cleaner's phone number, you can search for it over hill and dale!").
Thus, I concluded, my Nostradamus-like powers were in no danger of
being upended by unkind reality. Any real example of 3-D space that
could be shared by multiple users and didn't involve an unacceptable
trade-off between appearance and speed, any 3-D space that had any
sort of visceral effect on the user, was still years away.
There was only one problem with that conclusion: I was wrong.
I have now found what I was looking for, and found it, to my
chagrin, years late. A networked 3-D engine with excellent shared
space capabilities, open source code, a well-published
world-building specification, an active development community, and a
project showing the kind of rapid improvement year after year that
comes from the best massively parallel design efforts, such as the
Web.
It is called Quake.
I know, I know. As they say on Usenet, "Quake? That's so 5
minutes ago!"
Quake (http://www.idsoftware.com), for those of you like me who
don't follow the PC gaming world, is a "First Person Action" game,
meaning roughly that the screen is your view of the world, and that
you pilot your digital self, or "avatar," through that world by
maneuvering through what you see on the screen. I missed out on
Quake when it was launched in the mid-'90s because as a general
all-around Serious Person, I don't play games, in particular games
whose ideal customer is less than half my age. I have now seen the
error of my ways. Quake solves the shared 3-D space problem far
better than any VRML implementation -- not despite being a game, but
because it is a game.
The Quake 3-D engine is for something, while VRML is a
technology in search of a use. The Quake engine's original use is
immaterial; once you have a world-modeling protocol that lets you
wade through a subterranean stream, picking up shotgun shells and
blowing up other people who are picking up rocket launchers and
trying to blow up you, you've got the whole ball of wax -- spaces,
movement, objects, avatars, even a simple physics. It would be
easier to turn that into a tool for shared corporate meeting spaces
than it would be to build the same thing in VRML, because once a
tool is good for one thing, it's easy to see how to make it good for
another thing.
On The Cutting Edge
This is one of the first axioms of creativity in this realm:
Solve something first, then apply that solution elsewhere. It
doesn't matter if the first stone was sharpened to kill animals or
cut wood, because once you have the principle down, making a knife
into a spear or a scimitar or a scalpel is just application-level
development. I have always been skeptical of any real possibility of
viscerally engaging 3-D spaces, but I believe that I see in Quake --
and its subsequent imitators and descendants -- the sharpened stone,
the thing that indicates the beginning of a new way of using the
network.
Quake is the real thing. It's a local solution to a local problem
(how to make a 3-D space realistic enough so that you can accurately
aim a double-barreled shotgun at a chainsaw-wielding ogre, while
both of you are running) that has global ramifications. I have seen
a lot of 3-D spaces over the years, and I have never run into
anything that gives as palpable a sense of place as this does.
(Before the objection is raised that Quake is software and VRML is a
protocol, consider that Quake, like VRML, always runs in
client-server mode and reads external data files, even locally, and
that the Quake client is one-fifth the size of the benchmark VRML
client.)
After playing with Quake for only a few hours, I found myself in
possession of an absolute and rigorous sense of the spaces it
contained: There was a moment, while I was off thinking about
something else altogether, when I realized that in one particularly
sticky part of the game, I could jump off a ramp and swim through
some water under a trap located in a hallway. This was as
matter-of-fact a thought as if I'd realized I could bring a big
package up the service elevator at my office; in other words, I had
a large, accurate map of an entire space in my head, not from having
studied it, but from having experienced it. I had derived, for the
first time ever, a sense of space -- not an 'as if' sense or a sense
of a metaphorical cyberspace, but of real space -- from a screen.
Here's why I think this matters: Though Quake isn't necessarily
the right solution for the 3-D shared space problem, it feels right
in a way that nothing in the VRML world does. Once you've seen it in
action, much of what's wrong with VRML snaps into focus:
Quake does something well instead of many things poorly.
This matters more than I can say. Despite all the theoretical
underpinnings we now use as a basis for our work as computing
reaches the half-century mark and networking turns 30,
world-shifting developments still often come from practical
solutions to simple problems.
The VRML community has failed to come up with anything this
compelling -- not despite the community's best intentions, but
because of them. Every time VRML practitioners approach the problem
of how to represent space on the screen, they have no focused reason
to make any particular trade-off of detail versus rendering speed,
or making objects versus making spaces, because VRML isn't for
anything except itself. Many times, having a particular, near-term
need to solve brings a project's virtues into sharp focus, and gives
it enough clarity to live on its own.
Quake puts tools in the hands of the users.
Id software, producers of Quake, started allowing its games to be
edited by users, and published a world-building spec so that users
could write their own editors as well. As with HTML, one can build a
variety of 3-D editors that can create a Quake world by simply
writing to the spec. This has led to a riot of sophisticated tools
for creating Quake "levels" like BSP and WorldCraft that would make
any VRML partisan drool, and has spawned a community of
user-engineers who are creating compelling worlds, objects, and
sometimes whole alternate worlds at a pace and with an intensity
that should make any VRML adherent faint. VRML is older than Quake,
and yet it has fewer tools and fewer users, and still exists at the
stage where the best examples of the technology are produced by the
companies selling it, not the users using it.
Quake has a simple model of compliance.
The problem of representing space, surfaces, objects and worlds
is almost infinitely vast. There was for some time in the AI
community a proposal to develop a 'naive physics' where every aspect
of physical organization of the world would be worked out in a way
that would let computers deduce things about their surroundings. For
instance, the naive physics of liquids included all sorts of rules
about flow and how it was affected by being bounded by floors, walls
and ceilings. This kind of elaborate modeling has been inherited in
spirit by VRML, which is so complex that rendering a simple piece of
furniture can bog down an average desktop computer.
Quake, on the other hand, adopts a breathtakingly simple attitude
toward physics. Quake has shapes like blocks, wedges and columns,
and it has materials like stone, metal and water. If you make a
freestanding column of water, so be it. The column will appear in
any space you create; you can walk into it, swim to the top, walk
out at the top and then fall down again. It does this simply because
a physics of liquids is too complex to solve right now, and because
Quake does not try to save users from themselves by adding layers of
interpretation outside the engine itself. If it compiles, it
complies.
Hacking X for Y
This willingness to allow users to do stupid things, on the
assumption that they will learn more quickly if the software doesn't
try to second-guess them, has given Quake a development curve that
looks like HTML in the early days, where a user's first efforts were
often lousy but the progress between lousy and good was not blocked
by the software itself. Quake encourages experimentation and
incrementalism in the tradition of the best tools out there.
I acknowledge, however, that the Quake format lacks the rigorous
throughput into VRML -- the comparison here is not architecture to
architecture, but effect to effect. I am not seriously suggesting
that Quake or one of its children like Quake II
(http://www.idsoftware.com), Half-Life
(http://www.valvesoftware.com) or Unreal (http://www.unreal.com) be
used as-is as a platform from which to build other 3-D shared spaces
(well, maybe I am suggesting that half-seriously). More important, I
am suggesting that there is a problem because the 3-D game people
aren't talking enough to the VRML people, and vice versa. Networking
has come so far so fast partly because we have been willing to say,
over and over again, "Well, we never thought of using X for Y, but
now that you mention it, why not?"
The Net is too young, and the 3-D space problem too tricky, to
shoot for perfection right now. What worries me most about my
belated discovery of Quake is that in years of looking at 3-D
spaces, no one ever mentioned it in the same breath as VRML and I
never thought of it myself, simply because of the stigma attached to
things that are "merely" games. Many of us, myself very much
included, have come to believe our own press about the seriousness
of our current endeavors. We have been adversely affected by the
commercial applications of the network, and have weaned ourselves
off the playfulness that has always produced insights and
breakthroughs.
It will be a terrible loss if those of us doing this work start
to take ourselves too seriously. Round the clock and round the
world, there are hundreds of people chasing one another through
rooms and tunnels and up and down staircases that don't exist
anywhere in the real world, a model of electronic space closer to
Gibson's ideal than anything else that exists out there, and we
shouldn't write those people off. Their game playing may look
frivolous to us Serious Persons, but they know a lot about 3-D
shared worlds, and it will be a terrible waste of everybody's time
if we don't find a way to tap into that.
|