This is going to be a story about me and about games. But mostly it’s going to be about 1992.
1992 was when it all changed. It was the year when texture-mapped 3D graphics became up close and personal, no longer just a collection of flat-shaded polygons viewable through the windows of airplanes in flight simulators and tanks in military simulators, instead offering a down-and-dirty first-person view that remains the standard in computer graphics to this day.
Two very different yet equally important games appeared in the spring and summer of that year. The first was Ultima Underworld: The Stygian Abyss from Blue Sky Productions, an early incarnation of Looking Glass Studios, which would go on to create both the System Shock and Thief series. Underworld was only nominally an entry in the long-running Ultima line of RPGs. It was a standalone role-playing game where you explored a multi-level dungeon, the “abyss” of the title, in its full, three-dimensional glory. Technically, it was so far beyond anything else being done at the time that nobody even attempted to imitate it, and it remains one of the greatest CRPGs ever published.
Three-dimensional dungeon crawls weren’t entirely new. Games like Dungeon Master (which I’ve written about before), and Dungeon Master clones like Eye of the Beholder, used a kind of stepwise 3D to simulate a four-way perspective view of a dungeon, but the smooth gliding movement of true 3D was conspicuously lacking. Even earlier, games like Wizardry, The Bard’s Tale and Might and Magic did something similar, but with less high-resolution realism. Ultima Underworld, though, was the real deal.
Yet it was eclipsed only four months later by a game less radically innovative but far more influential: Wolfenstein 3D. Its creator, Id Software, set their sights much lower than the creators of Ultima Underworld, but in terms of both popularity and influence what they achieved was considerably greater. They created a new genre, the first-person shooter, and imitations flooded the market for the next year and a half, until Id upped the ante again with the considerably more ambitious Doom. But Wolf3D was where the 3D revolution really began, for two reasons: It was easy to imitate and the gameplay was startlingly fast, even on 33mhz 80486-based PCs. Some players complained that running down endless hallways shooting at Nazis gave them motion sickness; now that’s realism! Never mind that those Nazis were flat cartoons pasted on top of the 3D background like sprites in an arcade game. The sheer exhilaration of the gameplay was something new under the gaming sun. Wolf3D was fast. It was addictive. It changed the way gamers looked at games.
Let me back up for a moment. To the extent that I’ve had a career in the gaming industry it involved writing books about it. In late 1991, while I was serving as a moderator on the Compuserve Game Publishers Forums, I ran into an editor/publisher named Mitch Waite, who owned a company called Waite Group Press and was looking for someone to write a book about programming flight simulators. I had strong coding skills honed through years of programming as a hobby and I’d experimented a bit with 3D graphics — I’d managed, at least, to create a three-dimensional cube with multicolored sides that I could rotate on my computer’s screen — so I rashly volunteered to write it. To my surprise, I found myself almost immediately with a contract in hand for a book to be called Flights of Fantasy.
Mitch Waite wanted a book about flight simulators, but I was in touch with enough aspiring game programmers via Compuserve that I knew the market was ready for a lot more than that. I took writing Flights of Fantasy as an opportunity to teach both myself and other self-taught programmers how to create a wide variety of games with professional quality code. The irony was that I was not a professional programmer myself, unless you counted the programs I’d published in my earlier books for young adult readers, but Compuserve put me in touch with enough people who developed games for a living that it was fairly easy for me to learn how to write fast, optimized code for DOS-based animation. What I couldn’t learn from other programmers I could learn from books, many of them intended for advanced college courses in computer science. And what I couldn’t learn from books I could figure out by myself. Not to brag too much, but Flights of Fantasy was the first book that contained all the information programmers needed to write commercial games and I’d like to think I helped set a generation of young programmers on the road to doing precisely that.
My friends on Compuserve knew what I was working on and were eager to see the results. Just as I was putting the finishing touches on the book I logged on to Compuserve’s PC Forum and found a copy of the shareware version of Wolf3D, which had appeared without any advance publicity, in their download libraries. Somehow it had failed to appear in the gaming forum libraries and a few days later it wasn’t available on Compuserve at all. The company’s German branch had complained about the Nazi iconography that Id had liberally sprinkled about — swastikas and pictures of Adolph Hitler — and demanded that the game be taken down. But it was too late to prevent the game from becoming a juggernaut. Wolf3D was the talk of the summer.
It blew me away. My friends on Compuserve’s Flight Simulator Forum scoffed at it. Wolfenstein 3D wasn’t a true three-dimensional game, they complained. It cheated by using a 2D map and translating it into a three-dimensional image through some simple algorithmic trickery. To my mind, that missed the point. Computer games were all about illusion and the fact that Wolf3D created the illusion of high-speed 3D movement was enough to start the revolution in gaming graphics that the slow-moving, if engrossing, Ultima Underworld had failed to ignite.
Flights of Fantasy found an audience large enough to place it on computer-book bestseller lists for several weeks. (I should add that it would never have been finished without the help of my online friend Mark Betz, who wrote the flight model and designed the dashboard graphics while I wrote the 3D engine. I have no idea where Mark is now, but I owe him a debt of gratitude for helping me out on the most difficult book project of my career.) As it became apparent that Flights of Fantasy was a success, I suggested to Mitch Waite that I should follow it up with a book that demonstrated how Wolf3D and its imitators worked. The result was Gardens of Imagination, which wound up hitting bookshelves just a little too late in the curve to draw the audience that its predecessor had. Flights of Fantasy demonstrated that there was a huge audience for books on game programming and other publishers had already jumped into the fray. I’d created a field that was already too crowded for me to compete in.
Yet Gardens of Imagination was a lot more fun to write because it turned out that a Wolf3D-style graphics engine was remarkably easy to program. Even before I agreed to write the book, I created a prototype game in C++, using a simple trick called raycasting to simulate Id’s graphics. Like Minecraft three decades later, Wolf3D created its world out of blocks, much larger blocks than Minecraft uses, large enough to simulate walls and hallways, and drawing those walls on a video display involved a few simple trigonometric stunts that cast visual rays outward from the position of the player — hence the term “raycasting” — to determine what pixels those rays encountered as they snaked their way across the floor, up the walls, and back across the ceiling. It took me about three hours to get my first raycasting engine running, minus floors, ceilings and any kind of texture mapping on those surfaces. It was the kind of elegant programming that I found exciting because the code practically wrote itself. Adding texture mapping was more complicated, but it was still simple and elegant. The hardest part was making it run fast enough for realistic animation, which took me several weeks, as I rewrote a few key parts of the code in assembly language and unrolled loops into inline code, because by then my programming time was being eaten into by the task of actually writing the book.
But enough about me (for now, anyway). Anyone who was playing games in the period between Wolfenstein 3D and Doom remembers how raycast games suddenly flooded the market, many of them using Id’s own graphics engine. Raven Software, a company that was immensely skillful at taking other programmers’ ideas and making them look a thousand times better, created Heretic (for Id) and Shadowcaster (for Electronic Arts) using a modified version of the Wolf3D engine. When Id struck out on their own, their former publisher Apogee launched its own raycast shooter franchise with Blake Stone and the Aliens of Gold, but it came out just before the entire game changed, as it were, and never caught on.
That period BD — Before Doom — seems distant and nostalgic now. Doom, released in shareware form in December of 1993, was so much more sophisticated than Wolf3D had been, using programming tricks so clever that I tried to imitate them in Gardens of Imagination and failed, that it encouraged developers to create increasingly advanced 3D shooters that always seemed a step behind Id’s brilliant lead programmer John Carmack — e.g., Bethesda Software’s Terminator Rampage and The Elder Scrolls: Arena, which seemed locked into the period between the two Id games in terms of their graphic capabilities. (Arena did essentially invent the 3D open-world game, but I’ve written about that elsewhere.)
With the arrival of 3D graphics accelerators like the 3DFX Voodoo cards in 1996 and 1997, and the publication of games like Quake that could be modified to take advantage of those cards, computer gaming entered a new era of graphical realism, one that finally seems to be nearing its apex more than two decades later with games like The Witcher 3: Wild Hunt, Metal Gear Solid 5: The Phantom Pain and Far Cry 5, which contain such vividly rendered worlds that it’s hard to imagine that 3D gaming is going to get any better on a technical level in the years to come. All that’s left is for developers to find increasingly inventive ways to use the graphics tools at their disposal. And, with the cheap and ready availability of gaming engines like Unreal and Unity, even small teams of indie developers can contribute to the continuing three-dimensional wave. Games like Gone Home, Dear Esther and Firewatch show how much can be done with a relatively tight budget and a lot of stylish ingenuity. But you can trace that wave straight back to 1992, when it first began surging toward the distant shore, that it finally seems to have reached, of photorealism.
With the publication of Ultima Underworld and Wolfenstein 3D, 1992 was when 3D gaming began. And I’m glad that, in my small way, I was there.
NOTE: I’d be remiss if I didn’t point out that Wolfenstein 3D didn’t really originate the first-person shooter; it just popularized it. The original FPS was probably Id’s earlier raycast game Catacomb 3-D, first published in the floppy-based magazine Softdisk in November, 1991, an EGA shooter with a dungeon setting. But C3-D lacked the public visibility, as well as the 256-color VGA graphics, of Wolf3D and barely made a ripple in the computer-gaming pond.