David L. Craddock writes fiction, nonfiction, and grocery lists. He is the author of the Gairden Chronicles series of fantasy novels for young adults, as well as numerous nonfiction books documenting videogame development and culture, including the bestselling Stay Awhile and Listen series, Shovel Knight by Boss Fight Books, and Long Live Mortal Kombat. Follow him online at www.DavidLCraddock.com, and on Twitter @davidlcraddock.

David L. Craddock writes fiction, nonfiction, and grocery lists. He is the author of the Gairden Chronicles series of fantasy novels for young adults, as well as numerous nonfiction books documenting videogame development and culture, including the bestselling Stay Awhile and Listen series, Shovel Knight by Boss Fight Books, and Long Live Mortal Kombat. Follow him online at www.DavidLCraddock.com, and on Twitter @davidlcraddock.

Rocket Jump by David L. Craddock

In 1992, Wolfenstein 3D ushered gamers into the ultra-fast, ultra-bloody third world of first-person gaming. One year later, Doom opened a portal to hell that flooded university and office networks with rocket launchers and cyberdemons. Then came Quake, a CD-ROM packed with slick 3D graphics and online-ready gameplay that shook the games industry to its core.

For some of the designers at id Software, Quake marked the end of an era. Others were just getting warmed up.

Rocket Jump: Quake and the Golden Age of First-Person Shooters explores the making of id Software's seminal trilogy, uncovers the internal culture that simultaneously shaped and fractured id Software, and reveals the indelible mark Quake left on game designers, computing technology, and popular culture.

CURATOR'S NOTE

Growing up, Quake was more than a game to me. It was the first virtual arena where I fragged friends over phone lines, the first esports scene I followed, the first time I rocket-jumped to new heights. I sought to recapture that awe and magic in Rocket Jump by interviewing as many developers from id Software—and other influential FPS-game studios—as I could. I hope you enjoy it. -David L. Craddock, curator, StoryBundle

 

REVIEWS

  • "The article grew into a whole book! I'm glad David persisted in prodding me to get thoughtful answers to his questions. "

    – John Carmack
  • "Again, David does an exceptional job. This epic effort was the result of a ton of research and it shows. Shacknews gets the scoop, and it's only fitting as that's where a lot of Quake's community came from."

    – John Romero
  • "I had read 'Masters of Doom' and was concerned that it was going to be more of the same, but there is a lot more here. Plus the extra content and interviews with others outside of id was great (Valve). I can't wait for the next Craddock book."

    – Amazon review
 

BOOK PREVIEW

Excerpt

IN THE SUMMER of 1996, Quake became the fourth jewel in Texas-based developer id Software's crown. Yet in a way, Quake had also been the second.

Commander Keen, a trilogy of smooth-scrolling platform games developed on PC, put id on the map in 1990. As Keen caught on, a buzz grew around id's next game, The Fight for Justice, teased by selecting Preview from Keen's main menu.

"The Fight for Justice was a top-down RPG," said John Romero. Along with John Carmack, Kevin Cloud, and Adrian Carmack (no relation to John), Romero was a co-founder of id Software and one of the company's most prolific level designers.

Id's design for The Fight for Justice stemmed from a Dungeons & Dragons campaign ran by John Carmack, dungeon master and technical wizard responsible for writing the engines that powered id's games. Carmack had hosted his D&D campaign for the other id developers since they had founded the company in Shreveport, Louisiana, back when they had been cranking out a new game every two months for Softdisk magazine's Gamer's Edge subscription disk. Every weekend, the id crew would take a break from developing their latest game and gather around a table where Carmack directed their latest adventure. As his campaign unfolded, Carmack paired up his friends' characters with bands of heroes such as the Silver Shadow Band, who rode on the back of a silver dragon and scouted for monsters and other perpetrators of injustice. "You wouldn't be able to see them because they were above the clouds, and they would dive down and solve a situation, and then get out. They were all insanely high-level characters," Romero continued.

Quake, the leader of the Band, was, as Romero put it, "a really amazing badass." In The Fight for Justice, players would assume control of Quake and wield the Hammer of Thunderbolts—think Mjolnir, the mythical hammer carried by Marvel superhero Thor, only 10 times more powerful.

Romero and the others had a vision for how Quake's adventures should play out on the screen and got to work on The Fight For Justice in January 1991. Unfortunately, the technology of the era did not measure up to their imaginations. Rather than press on and release a game they weren't happy with, the team mothballed The Fight for Justice and got to work on Dangerous Dave and the Haunted Mansion, a 2D platformer built using Commander Keen's tech.

The guys at id had dropped their RPG-inspired romp in less time than it would have taken to change a t-shirt. No one gave it much thought. Among the team, such changes of heart were known as bit flips, a programming joke referencing a state in a computer's memory that could only store one of two values: on, or off.

"We used to just say, 'We are the wind.' We'll change our mind like that on anything," Romero explained. "We did that so many times: We made a decision that would immediately and absolutely change the course of the company."

FOUR YEARS AND a string of best-selling games later, id Software sat perched at the top of the games industry. Commander Keen had been a big hit, but 1992's Wolfenstein 3D and 1993's Doom had forever altered the course of the studio, and the gaming industry.

Inspired by Castle Wolfenstein, a stealth game on the Apple II where players crept through the corridors of Adolph Hitler's Nazi fortress, Wolfenstein 3D had traded sneaking around for blisteringly fast run-and-gun action from a first-person perspective, popularizing the first-person shooter. When Doom's shareware episode uploaded to University of Wisconsin's servers in December '93, online deathmatches brought network traffic to a standstill on college campuses and in offices around the world.

Commander Keen, Wolfenstein 3D, Doom. Three big hits, the latter leaving an indelible mark on popular culture. The studio's reputation and deep coffers, combined with its status as an independently owned and operated studio, afforded id the freedom to pick and choose what game to work on next.

Romero and the other designers harnessed Doom's toolset to build maps for a sequel. Doing so was not an arbitrary decision. They had made a follow-up to the Commander Keen trilogy and a prequel to Wolfenstein 3D, Spear of Destiny, by harnessing each game's respective engine and toolset. Because the team was familiar with a game's technology by the time they were finished, they were able to deliver sequels in record time. Case in point: Where id had taken nearly one year to develop Doom's engine, the DoomEd level editor, and the game's 27 levels, Doom 2: Hell on Earth blasted onto store shelves nine months after the original game. Doom 2 featured more: more maps, more weapons, more monsters, more speed, more weapons, more power-ups, and, inevitably, more custom levels built by Doom's community of fans thanks to free editing tools that enterprising users would base on id Tech 1—known as the Doom engine until it was retroactively branded the first generation of id Tech in order to more easily classify subsequent versions of the tools and programming code that powered id's shooters.

Meanwhile, Carmack set about researching and writing a brand-new engine. Although Wolfenstein 3D and Doom let players move freely through environments, the games were not truly three-dimensional, nor were they strictly 2D. Doom's engine is pseudo-3D, referred to by many as 2.5D. Under the hood, Carmack had pulled off a high degree of artifice to generate the illusion of 3D movement and terrain. Although levels are rendered as three-dimensional spaces, Doom's action takes place on a 2D plane, like graph paper with X and Y coordinates. The engine plugs in height information to apply textures to walls, floors, and ceilings, then stretches and projects them. The rendition is convincing. Stairs connect higher and lower floors, and elevators run players up and down shafts.

Id Tech 1's sleight of hand came with limitations. Floors and ceilings could not be sloped. Players climbed staircases to different floors, but they may have noticed that those floors never overlapped. The reason is that objects such as rooms and bridges could not be placed directly above or below one another. Because all data existed on a 2D plane, any rooms or corridors stacked vertically would occupy the same space on the grid even though they appeared to be distinct locations.

Carmack's goal for id's next game was to write a bona fide 3D engine featuring six degrees of freedom: The ability for objects to move in any direction over three axes, adding the depth of a Z axis to X and Y.

Instead of returning to Wolfenstein, Doom, or Keen, the id developers dusted off The Fight for Justice, which they would call, simply, Quake. "The first rumblings were Carmack talking about his six-degrees-of-freedom game," level designer Sandy Petersen, who had joined id Software in 1993 midway through production on Doom, recalled of starting on Quake. "That was the focus. Then, when we got to the point of designing it, the two Johns sat down and said, 'It's going to be based on this D&D guy.'"

The two Johns were Carmack and Romero. They had been the perfect team dating back to Softdisk, before id's inception. Carmack was a technical genius able to build game engines from the ground up, while Romero wielded programming savvy and a flair for designing levels that squeezed every last drop of performance from Carmack's code. At Softdisk and during development of Keen, Wolfenstein, and Doom, the two Johns had matched each other beat for beat. Everyone at id expected them to work in sync again on Quake: Carmack writing the engine, and Romero building custom tools such as editors, and leading design efforts to bring their weekend sword-and-sorcery-exploits from the tabletop to computer screens.

"I remember us wanting to explicitly jump from genre to genre to show that we could," John Carmack told me. "We went from cartoons to WWII to space marines, so we wanted to jump to fantasy next. We leapt... and missed."

BY THE TIME Doom 2 shipped in 1994, id Software staffed nine people, then its largest size. John Cash and Dave Taylor programmed alongside Carmack. Romero and Sandy Petersen designed levels and, for Doom 2, welcomed aboard American McGee, a designer who got his foot in the door at id by living in the same apartment complex as John Carmack. McGee came in as game tester before proving his worth as a level designer and contributing maps to Doom 2. Adrian Carmack and Kevin Cloud drew and rendered most of the characters, items, and environmental textures that went into id's games, while Jay Wilbur oversaw publishing efforts and other business matters.

Others had come and gone. Tom Hall, id's fifth co-founder, had been the lead designer on Commander Keen and Wolfenstein 3D. During Doom's development, Hall had grown dissatisfied after it dawned on him that his coworkers seemed intent on making first-person shooters heavy on action and light on storytelling for the foreseeable future. His peers were likewise frustrated with his work. In a classic example of id's bit flip, the other four co-founders called Hall into a meeting and informed him that he was fired.

No matter how large id's team was at any given time, no matter who had flipped bits or had bits flipped, one practice remained constant. Technology was king. "We don't say, 'We're going to make this tech, so we have to make this kind of game,'" said Romero. "We knew that tech was a really big deal for us. We knew we could design anything. Designing a game around tech is far easier than making the tech, so we just started with the tech. The tech came first, because there's where John had his fun: Creating this great new tech."

"The whole thing [Quake] was being driven by the tech, by John Carmack trying to solve the issue of presenting a truly 3D environment with six degrees of freedom and at a reasonable framerate," added American McGee.

One of the first items on Carmack's agenda was writing data structures to hold information such as level boundaries. Once he understood what data these structures needed to encapsulate, Romero embarked on creating QuakeEd, the editor he and the other designers would use to build levels.

The first few iterations of QuakeEd, compiled over January and February 1995, were rudimentary. That was because Quake's game engine—retroactively named id Tech 2—was rudimentary. Carmack needed to figure out how to represent levels mathematically so that they could fit in memory. While Carmack defined and redefined data structures, Romero added and revised attributes of QuakeEd: windows, walls, surfaces to hold textures such as grime, blood, slime, dirt, stone, metal, brick, moss, wood—whatever the artists and level designers wanted to represent Quake's medieval world.

QuakeEd presented a top-down environment where designers could draw lines and plant vertices, points where lines meet. Carmack added a 3D view so they could get a firm idea of how levels would look in first-person, the perspective that players would see. "I just needed to get basic stuff working so American could create basic levels that John could use to get the engine [developed] faster and figure out the architecture," Romero explained.

On Wolfenstein 3D and Doom, Romero had been the one experimenting with features and piecing together levels that made Carmack's engine sing. McGee took on that role during early stages of Quake's development. "There was a lot of work that was built and thrown away, built and thrown away," McGee recalled.

"I could usually count on American to throw a test map together for me whenever I needed it, even if it was throwaway work that would never wind up in the game," Carmack said.

"But it all happened very fast," added McGee. "We're talking a matter of months for him to arrive at the theories which then became the working model for how the engine editor led to [level] geometry, which led to the representation of that data so it could be inside the game."

Carmack and McGee had grown close outside of work. Following the success of Doom and Doom 2, they had bought houses in the same neighborhood, right beside one another. McGee soon gained insight into Carmack's work process: He never stopped working. He barely seemed to sleep. McGee's doorbell would ring at 10 or 11 o'clock at night. He would open the door and Carmack would stride in, talking a mile a minute about his proposed solution to a lighting problem that had been gnawing at him for two days, or how to handle ray tracing, the process of calculating the path of a light source and simulating light's encounters with geometry and actors such as characters.

If McGee's doorbell didn't ring late at night, his phone did. "There would be times when I would go over there and I felt like I was a monkey listening to Einstein spout off about the mechanics of the universe," McGee remembered. "He would be talking on a level of mathematics or problem solving that was just so far beyond my comprehension, and yet I kind of felt obligated to sit there and nod my head and say, 'That sounds good.'"

McGee embraced his role as Carmack's guinea pig. The earliest iteration of id Tech 2 consisted of data structures with just enough meat for Carmack to build a working model of a true-3D game and for McGee to put that model through its paces. "It was a lot of just building very simple boxes, and then boxes with boxes inside of them," continued McGee. "At some point we got a player-character in there that was a ball, and then there was another character for multiplayer, so we had two balls running around shooting balls at each other."

"When you're building a new technology from the ground up," Romero added, "it's a ton of work because you're having to decide, how are we going to represent the world in this 3D space? What kind of data describes a surface, and how do I create tools to create that data? You've got to create tools to build a world and generate data that probably gets baked by some programs, so the data the game wants can be read in and draw the screen really fast."

Planning and implementing Quake's pipeline was the biggest technical challenge Carmack had faced to date. Building Wolfenstein 3D and Doom had entailed sophisticated tech that ultimately boiled down to simulations of three-dimensional spaces. Writing a 3D engine was uncharted terrain. Drawing surfaces loaded with data necessitated the birth of a new process called surface-refresh cache, called into action to redraw areas that were supposed to display light on their surfaces. The lighting was baked in rather than rendered in real-time, but id Tech 2 still needed a renderer to divide the workload.

McGee cranked out testbeds, but he could not converse with Carmack about the nitty-gritty elements of 3D engines. When Carmack got stumped, he turned to id's newest hire and one of his heroes. "What happened is that John Carmack was lonely," said Petersen. "He wanted someone he could talk to, and he was trying to do this new game that was true 3D. So, he hired Mike Abrash, essentially, to have someone [around] who knew so much about programming that he could talk to John Carmack on his level, and also help design things."

Abrash wrote the book on graphics programming. Literally. Amateur game developer turned Microsoft coder, Abrash published articles on assembly language programming in hacker periodical Dr. Dobb's Journal that opened Carmack's eyes to more efficient ways of throwing images onto the screen. But the real breakthrough for Carmack came when Romero gave him a copy of Power Graphics Programming, a tome written by Abrash that divulged how he tackled advanced visual processes. As if the two Johns had not worshipped Abrash already, the knowledge Carmack gleaned from Power Graphics Programming had gone on to form the backbone of Commander Keen's graphics engine.

In 1995, Carmack wooed Abrash to id Software to assist on writing Quake and id Tech 2. Abrash, long intrigued by the prospect of writing a true 3D engine, accepted. With Abrash digging into ways to optimize id Tech 2's assembly code and devising algorithms to solve issues, Carmack was able to split his focus between graphics and other engine components. He wrote an in-game console that let designers—and later, players—type in commands to change data value as they played Quake. "You could pull it down, look at variables, change them, all that good stuff," Romero said. "That led to [discussion of], 'How cool would it be to have our own scripting engine in the game as well?' The designers could just modify stuff and not have to recompile [game code]."

Carmack's scripting language became QuakeC. With it, designers could create weapons, modify game rules, even alter logic or physics for specific actors or levels. "The game has gravity because it has physics in it," Romero continued. "Five minutes and a few changes to QuakeC later, you can change gravity. Things like that don't take long to do when you have a [flexible] language and a means of exposing variables to the language. Those were really cool experiments."

QuakeC demonstrated forward thinking. Carmack had made a habit of releasing his source code to game engines such as Doom and Wolfenstein 3D. Users could download the code for free, dissect it to gain an understanding of how it worked, then build on it to release new maps, campaigns, weapons, and features, dramatically expanding the original game beyond what its creators had made.

"With Doom, there was a program called DeHackEd that knew the locations of variables in memory when the Doom [program] was running," explained Romero. "It would let players create files that would overwrite values in memory to do very slight hacking of Doom, but it wouldn't let you do all kinds of stuff. With QuakeC, after seeing all of the stuff people were doing in Doom, we decided we didn't want people punching numbers into memory while Quake was running. That's why QuakeC was there, and we wanted to use it ourselves as well."