http://www.shirky.com/writings/quake.html
--<cut>--
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.
--<cut>--
--
J C Lawrence Home: claw@kanga.nu
----------(*) Other: coder@kanga.nu
--=| A man is as sane as he is dangerous to his environment |=--