Somewhere in Britain, a teapot spins across a computer screen. This teapot began life in the computer science department of the University of Utah - where some may have thought it was a coffeepot (like so much in the illusory world of computer graphics, potness is largely in the eye of the beholder). This teapot exists to spin. It is not valued for itself, but by spinning it provides an archetypal measure of a computer's ability to draw, shade, and colour three-dimensional surfaces moving through space. And what's really cool about this particular teapot, spinning across this particular screen, is that it is spinning like something dropped off an astronaut's tea tray, smoothly, majestically, and without a flutter.
Teapots don't usually spin that way on the screens of domestic PCs. Such computers aren't supposed to have the oomph to draw and colour the curves of a teapot's surface. They usually draw slowly and jerkily. For the sorts of animation we've come to expect - the logos that glide across television screens or the dinosaurs loping through Jurassic Park - the pros use dedicated machines costing thousands of pounds, like Silicon Graphics Indies or a Connection Machine or two. Nothing else, they will tell you, cuts it, teapot-wise.
But this little teapot cuts it. And while it's running on a not-exactly-slow PC (it's a Pentium), it's not top-of-the-line, either - you can buy one for about £1,500. The teapot is particularly fine: with the colouring and consistency of teak. Pressing the mouse button, I can whip it around, smash it, or drop it and not see a flicker. Inside this PC runs a rendering engine: machine code that can take the mathematical representation of objects in 3-D space and draw and light them, in real time, in software. It can create teapots, Christmas trees, dwarves, and sports cars, of all shapes and colours, right there on the screen, real as life.
This could, in the next few months, start to have a mould-smashing impact on the way we use computers. If what I'm being shown is as fast as it seems, then three-dimensional graphics is about to be unleashed on domestic computers. If that's the case, you'll see it everywhere. The teapot engine is a tool already available for other software houses to buy. Games manufacturers will use it to build computer games that look every bit as spectacular on a home or office PC as those created for the new generation of high-powered games machines now being launched by Sony, Sega, 3DO, and others. Spreadsheets, databases, and online service managers will start sporting virtual worlds of data. Chat rooms will become chat landscapes. And why not? Three-dimensional graphics is a gimmick, but it is a gimmick that everyone loves. And soon everyone will have it.
There's a certain historical inevitability to what will happen next. Circuit-card manufacturers will create chips which, by etching the logic of the rendering engine into silicon chips, will speed up the engine's work. Three-D accelerators will then come built into computers, as sound cards often do now. Three-D graphics will insinuate everything; once-flat computer screens will gain depth and perspective. And the programmers who created these wonders will become millionaires. And, fittingly for a world in which success or failure is measured by the rise and fall of teapots, most of the would-be millionaires are British.
Rendermorphics, a firm composed of two programmers in an office just off London's Farringdon Road, was purchased by Microsoft after just 18 months in existence. But Microsoft has also done a deal with Argonaut of Colindale, London, the creators of the Nintendo 3-D game Starfox.
Meanwhile, in Guildford, the two programmers who founded Criterion have the backing of Canon, and they have just cut deals with several major game developers and systems providers. Everybody seems to want British 3-D engines. And, while the software developers are polishing their code, other Britons are building the hardware to make it run faster. Britain's 3-D Labs designed circuit boards for US video-card manufacturers Creative Labs and S3. Videologic, based in Kings Langley, Hertfordshire, is working on a chip set for NEC.
All of which leads to several questions. Who will be successful? And what are they all doing here? Why do so many of those who really understand 3-D have a British accent? What is it about the British and their teapots?
Neat hacksJez San sits in front of me for the first time in 12 years. Last time we met, he kidnapped me, dragged me into a cave, forced me to commit unspeakable acts against my will, then killed me. San was then the hacking and slaying terror of Essex MUD, the first-ever multi-user adventure game. And he's been hacking ever since.
Ten years ago, San became famous, although very few people knew it. He and a few friends cracked one of the first televised demonstrations of e-mail, on BBC-TV's Micro Live. As millions of viewers gazed on, Ian MacNaught-Davies and Lesley Judd attempted to divert attention back to the practical applications of such an exciting new field, away from a screen that cheerily scrolled up cheeky salutations and all the verses to the The Hacker's Anthem by The Cheshire Catalyst. It was a historically neat hack, and, quite anonymously, San's gang became heroes to teen computer enthusiasts all over.
Three years later, San took the US hacking convention Hackers 1.0 by storm with Starglider, a 3-D game he wrote for the Atari ST. Although it was only simple, black-and-white 3-D, it blew the American audience away. Jerry Pournelle wrote a paragraph on him in BYTE. More recently, San followed up Starglider with Starfox, a colour 3-D game for the Super Nintendo Entertainment System. (See US Wired 2.01, page 76.) To make the graphics really hot, San's company, Argonaut, had quietly designed and marketed one of the first cheap mass-market RISC microprocessors, the SuperFX chip - just to do a game.
Success has mellowed San, somewhat. As he describes Argonaut's product strategy, he also shows me a day-glo Slime-like plaything from Japan. He has a new game coming out. FX Fighter is a 3-D punching and kicking game for the PC, much like Virtua Fighter in the arcades. FX Fighter looks good - although it was too early for me to judge whether it plays as well as it looks (they were still fixing one of the character's high kicks when I visited). But FX Fighter is about more than beating up pixels; it is also a marketing Trojan horse for San's 3-D graphics technology.
Before FX Fighter even hit the shelf, San was selling other game companies its guts, the 3-D-rendering technology known as BRender. Given that BRender is everything that makes FX Fighter look cool, this looks like a bargain at £16,000. Or at least San hopes so. "We've been designing chips to do 3-D for quite some time now," he says. "There is no market to sell a 3-D accelerator unless there are games available that use it. How do we get people to write games for it? We design a 3-D environment. How do we get people to adopt it before the chip is out? We sell them something cheap that runs well without the hardware, and runs even better with it."
For San, hardware and software are complementary halves of the same product, and the same market. "Our rule has always been, why do something in hardware when software can do it better and cheaper? Our chip design is lead by the programmers. The idea is that the hardware is there to run the software." Others are playing on that duality, too.
Servant of the empireThe hardware doesn't run the software for Servan Keondjian, either. Indeed, he works for the man who put software in charge. Keondjian, one of the original two developers of the Microsoft Rendermorphics Reality Lab engine, is back in the country after a visit to Redmond. He's staying here. Kate Seekings, his partner in Rendermorphics, is moving to Seattle. I was confused; I thought they were all going to Microsoft. "Servan's still firstname.lastname@example.org as well as email@example.com," says Seekings patiently, down the phone from the Microsoft campus. "I'm firstname.lastname@example.org." I'm about to comment on how @microsoft.com has the same ring as "of Borg" does, but I sense Seekings won't like the joke.
Not that she's not funny. Her whole background is funny. Before Rendermorphics, she was working in TV sitcoms with Humphrey Barclay Productions. Then she moved into 3-D. Seekings does the marketing for Rendermorphics, and she has a marketer's ear for ambiguous comments. She met Keondjian through mutual friends. He showed her his prototype 3-D engine. "It was just the coolest thing I'd ever seen. TV seemed so ossified, so stratified next to it. So, I quit my job in television, and took a MSc in Computer Graphics so I could bring myself up to speed." Three-D does that to people. They only have to see it on a screen and they want to be involved.
Keondjian and his partner were working at a company called Magnetic Scrolls at the time. Keondjian had been employed by them because they were impressed with the 3-D engine he'd been working on throughout his time at Imperial College in the late 1980s. But because Mag Scrolls did text-based adventure games rather than 3-D, the engine languished.
Keondjian, his partner, and Seekings ran away to form Rendermorphics, where they designed their engine - and its 3-D development system - to work on all kinds of platforms, and slowly began to tout it around.
About that time, Microsoft realised it needed an engine for Windows 95. Bad. If 3-D was coming, then the time to jump aboard was now. Windows NT already supported 3-D, though that only runs on machines that are powerful enough to cope with it. Win 95 needed an engine. Argonaut was too big to be eaten whole; Criterion, the other player in this young industry, was held by Canon. Rendermorphics, however, was just the right size. "They came knocking on our door. Once we'd picked our jaws off the floor, we went into the room and made deals."
But why did Microsoft have to come all the way over here to find people to write fast, tight code? "Why are all the 3-D people British?" echoes Seekings. "I've been collecting a list of people's reasons: Jez San says it's because we don't have any decent beaches over here so we stay in and work on the code. Microsoft's people say it's because we're too poor to afford nice 3-D computers."
Five thousand miles away, Keondjian is explaining why Microsoft might be right. In the States, home computers came later, he points out, and they could afford to drop in better hardware without losing their customers. But they dropped in sprite chips - chips that were good at 2-D Space Invaders games. So everyone went off and did those. The only people who did 3-D were academics and they had ma-chines you would never dream of owning.
Meanwhile, we had Spectrums, or, if we were posh, BBC Micros. British hardware wasn't going to help much with graphics, so the programs had to be good. "I had a BBC Micro," Keondjian says, "and I spent most of my time writing high-speed polygon fills and sprite routines." But then, as San said, why do something in hardware when you can do it better in software? The hackers sat down to write code that academics wouldn't believe was possible.
Will code for foodI'm sitting in Criterion Software's coffee room with another pair of programmers. Adam Billiard, the programmer behind Criterion's Renderware engine, is recalling his own uneasy beginnings. "I really didn't know how well we were doing at all, so I posted a message to the Net. I said that my engine was doing 40,000 polygons a second on a Sun Sparc 1 and 486/33 PC with no added hardware, and was that any good?" Good? said the gurus of comp.graphics. Good enough, you liar!
"Anyone who claims that is seriously out to lunch," one replied. "I suppose you know," said a friendlier voice, "that no one believes you." "I wasn't bragging: I just didn't know," pleads Billiard three years on. After all, nobody in his office at that time knew anything about 3-D. Most of them didn't even know why Billiard was there, including, to a degree, Billiard's manager, David Lau-Kee.
"I met him in Pittsburgh, at a conference," says Lau-Kee. "We'd met before, at college. The moment he saw me, he ran up, shouting hello, waving madly, long hair and beard flying. He'd run out of money, and couldn't get home."
Lau-Kee got him home, and when Billiard's post-grad degree crashed and burned, snuck him into his workplace - Canon Research Europe. Everybody else in the office was working on image processing, but Billiard had become obsessed with 3-D. So Lau-Kee gave him three months and the worst machine in the building to come up with something.
"I didn't have anything for him to do. I employed him because what he did made me feel completely incompetent at programming," says Lau-Kee. A month later, the office gathered around the black-and-white monitor of a Sparc 1. On it was a goblet, close cousin of the teapot. And the goblet was spinning.
That year, Billiard and Lau-Kee went to Siggraph '89, the international graphics summit, the first of the British teams to visit the academic community. They came back in shock. "Everyone else was wrong. They were throwing bits of hardware at it. But as soon as the CPU got faster, our code got faster. Their hardware stayed the same. There was an accelerator chip for the Sun there. It beat us on a Sparc 1. We beat it on a Sparc 2. In the long term, we'd always win. No one understood what we were doing." What they were doing, what all the British programmers were doing, were neat hacks.
If you're an academic or a hardware designer, you think of the 3-D engine as a neatly ordered sequence of steps. First you take the numbers that define the shape of say, your teapot, in the three-dimensional space - like map coordinates define the shape of a mountain. This is the geometry of the world: these numbers give the position of every facet and every angle of that teapot. Those facets then get put through a series of mills which grind them into the appropriate perspective, light them correctly, and clip any that are currently unseeable by the viewer. Then what's left, if need be, is converted into pixels.
Each of those formulae takes place one after another: geometry into perspective into lighting into clipping into rasterisation (which draws pixels on the screen). If you're building hardware to create 3-D, you build little chips or bits of chips to do each of those actions, in turn. If you're writing a program, different bits of your program follow the pipeline, in turn.
Billiard and Lau-Kee, San and his team, and Keondjian and his partner were messing about with this. One part of the pipeline would start before the other was finished. If rasterisation knew something lighting needed, lighting would kick rasterisation into action and nick it before clipping even knew what was happening. The processes scrabbled with one another for resources, like urchins fighting for scraps. Lau-Kee leaps in: "People went mad. They said we were cheating, but all graphics is a cheat. Reality is not made up of polygons. And given that we're cheating already, as long as it looks like a teapot, what's the bloody problem?"
Billiard sits back. Criterion is now a spinoff of Canon's R&D department. As makers of one of the first engines to appear on the market, Billiard and Lau-Kee have a number of lucrative contracts under their belt. Billiard has had his hair cut. "Programs jump around. If you're writing in a straight line, you're not writing a program, you're writing hardware. You have to set yourself free from the hardware." After all, why do something in hardware when you can do it better in software?
A hard rainBut this still leaves a nagging question: why are so many of the people doing it better in software doing it in Britain? "Well," says San, "it rains a lot, and you've got to have something to do."
"I have a theory," says Seekings. "My theory is Elite." Elite was a game for the BBC Micro, which came out in 1984. It sold well over 100,000 copies, a ridiculous amount for the time and the user base. Written by two programmers, David Braben and Ian Bell, it fit in 32K, was cheap, addictive, and beyond anything anyone had seen.
San confirms the theory. "There had been other 3-D games, but they were wireframe: you could see through the objects. Elite had a solid feel to it. And when I realised that by being solid, by removing the lines that the eye couldn't see, it was actually faster, I was hooked," says San.
"I played Elite for a long time," says Keondjian. "I was still at school and working on a sideways-scrolling game. I dumped it and moved on to 3-D when I saw Elite." Braben and Bell never released the code. San got nearest: he wrote the display routines for the Commodore 64 version. In return, Elite's publisher gave him a contract to write a game of his own - Starglider. Braben's still writing. He writes games. He worked alone for almost a decade on Elite 2.
He's currently undergoing a lot of criticism for an early, buggy release of Elite 3. "Everyone I've spoken to," says Seekings, "mentions Elite. Someone has to say what an important influence Braben was. He created the whole industry."
So there it is. The reason for Britain's 3-D anomaly: two guys' dream, released onto a local computer. Thousands of young, hopeful coders see it and aspire to write the same. Because of the restrictions of the local computing scene, they learn to program small, well, and sneakily. Soon, they reach out beyond the simple emulation of their heroes and herald in a new age of computing. It's nothing to do with national characteristics, just an accident of geography.
Or at least mostly an accident of geography. Before I leave Criterion, I ask Billiard about Elite. "I've no idea about Elite. I was in America at the time. I spent my formative years in the United States, and came back for university. I was born in Britain - I just haven't spent much time here." Maybe there's some genetics involved here, too?
Dan O'Brien is a writer, actor, and a regular contributor of Wired UK.