CHAPTER 18

Aftershocks

Quake wasn’t going to be shipping in the first quarter of 1996, so I needed to focus on generating sales for that quarter and the next. By this time, I knew the extent to which Carmack and I felt differently about sustaining our bottom line and growing the business. I hadn’t realized how far apart we were until the recent meeting, of course, but that didn’t change the fact that we’d have nothing new coming out and no new income coming in if I didn’t get something rolling, and besides, the engine still wasn’t ready.

Hexen was a hit with players, and Raven had been fantastic partners. Having worked with them on two games so far, I figured I could be relatively “hands off” on any new projects to appease Carmack. So, I got Raven to head down two separate tracks at the same time: First, I wanted them to create two additional episodes for Heretic. We would bundle those two episodes with the original three in a new big box, Heretic: Shadow of the Serpent Riders. At the same time, I got Raven started on the sequel to Hexen. I had some ideas about how to mirror Dungeons & Dragons more closely—adding another character class, going deep on how the characters increased their abilities—and I designed a more advanced level hub system. I decided to name the game Hecatomb (Heretic and Hexen started with an H, and I wanted to continue the pattern). Raven began on the games in early November 1995. Eventually, I figured we would also need a level pack for Hexen. On the spot, Sandy even came up with a great name for it: Deathkings of the Dark Citadel. His years in pencil-and-paper games paid off.

I truly believed that the huge success of Heretic and Hexen was because they were far and away the best, highest-speed, real-time representation of the feeling people experienced when they played Dungeons & Dragons. At the time, these games were as close as anyone had gotten to fast-action fantasy gaming. Sure, it was arcade-like in its design, but it had magic and swords and medieval monsters galore. Casting “freeze” on your enemies and shooting them into frozen bits had never looked or felt so good. These games delivered gameplay in a way Ultima Underworld couldn’t.

Feeling good with those games heading down the pike, in early November, I discovered a post in a DOOM editing mailing list where people were talking about the imminent release of a thirty-two-level, full-replacement data file—a WAD, short for “Where’s All the Data”—for DOOM II titled TNT: Evilution. It caught my eye. It had been created by a team of experienced modders, all with good reputations in the community, who were also known to have had good quality control, giving each other critical feedback to improve the playability of their levels. I felt like this could be a possible id game, especially since I knew that we needed more early 1996 releases. I immediately contacted the ringleader, a person named Ty Halderman. I told him I would love to publish TNT: Evilution in a box on store shelves, but he doubted he could stop the release—it was rolling like a freight train at that point. They had been working on the project for so long, and they were all excited to see it released on the internet for free. I convinced him that it would be far more helpful to his team if they were published by id Software and paid for their work. Also, they would be reaching a bigger audience. The people who bought their megaWAD would be those who didn’t have much experience finding and downloading levels off the internet. Ty had an emergency meeting with the team, and they voted not to release their work, and allow me to take it to retail. We called it Final DOOM. I was delighted to add another relatively “hands off” game to the mix and to secure a continued income stream for the first half of 1996.

A week later, after eleven months of development, John Carmack and Michael Abrash declared the Quake engine ready. It was a Herculean engineering success. The pivot to gameplay code would now begin, and the plans for the game’s design were finally going to become a reality. We knew we wouldn’t be able to do all the things that were dreamt up, because when it comes down to actually implementing a game’s design, there are always compromises. However, we would start work on the preestablished pillars: a medieval world, D&D-style enemies, Quake and his hammer. Of those, Quake and his hammer were the most important since the design of the levels was predicated on that play. After that, everything else would fall into place.

Designing in 3D is where most level designers start nowadays, but in 1995, all of this was new; our R&D phase gave us much-needed experience and mastery in building 3D spaces that provided opportunities for player exploration and challenge. We had learned to craft environments and use light in ways that showed off the game engine’s innovative lighting, and we figured out what the scale of the world in relation to Quake was going to be. I was excited to see this design take shape in the engine.

In mid-November, we gathered in the big open area between our offices and had a meeting to discuss the direction of the game.

“Now we can get busy! We can finally do this!” I told the team. I wasn’t cheerleading; I was genuinely full of excitement. “We can make an awesome game with this engine.”

I didn’t get an immediate response. I saw Dave and American looking at each other, then at me, and American said, “I just spent a year mostly making levels that I had to throw away, and these latest ones are good for a shooter, not a hammer-pounding game.”

Dave followed with, “Yeah, really, I think the hammer is just cheesy.”

I looked at Carmack.

“They do have a point,” he said. “Most of the level work done up to now has been geared toward a DOOM-style game.”

I didn’t hold back.

“Right, because that’s all they know. That’s all they had to build with. We haven’t done any experimentation with this new type of gameplay. We’ve been talking about the design publicly for a year. Playing as Quake. The hammer was on the cover of PC Gamer, for fuck’s sake!”*

Much of our intended design was hardly a secret, and players were looking forward to it.

“Even Hexen’s sprite-based hammer is cool,” I added. “And I know ours would take it to the next level. We need to put the effort into game design that we put into technology—that’s how we create cool new things!”

Adrian agreed with me: “I’m with John on this. We can’t keep making the same game.”

I looked at Kevin.

“I can see both sides of this,” he said. “We’ve made several shooters, and this new engine is an opportunity to try something different. But we’ve spent the equivalent of the entire DOOM development cycle creating just the technology. To get a game done faster, making a shooter and using the levels y’all have created seems less risky to me.”

This was such a wild moment. I had been looking forward to this day for a year, but never once did I foresee this conversation. This was the moment to pick up our shovels and dig in. Instead, people were leaning against the metaphorical walls and debating whether we should dig at all. id Software’s games had always been defined by their technology and their design. We had to push the game design, too. I mean, Carmack just spent a year on the engine. Why didn’t people want to give the design its due?

Carmack spoke up.

“I am on the fence regarding this point,” he said. “I see the obvious benefit of doing what we already know and creating a shooter. It’ll be better than DOOM because of the new engine, and it plays over the internet. I also see how trying something new could be a fruitful exercise as well.”

Seriously? I don’t know how I looked to others, but on the inside, I was wide-eyed with shock and surprise.

Sandy, sensing my growing frustration, chimed in. “I can go either way. I’m just here to make games.”

American drove the nail in the coffin. “We’re just burned out, John. We want to make this game and get it over with. We should just put DOOM weapons in the game and call it done.”

The design team and art department had spun their wheels for the better part of a year. We had designed about fifty R&D levels during that time, and while the experience was critical toward building our understanding of crafting play in a 3D space, the levels themselves were essentially experiments that lacked the necessary gameplay code to make them useable in the version of Quake we envisioned. That work would need to be remade or abandoned since the engine had been under development and changing constantly. The code team was worse for wear, too. Michael Abrash had had to rewrite his highly optimized renderer eight times. John Cash had written a bunch of network code, some of which Carmack didn’t like, and so Carmack rewrote it over a weekend. The team was brittle.

It wasn’t a team that was ready. It was a team that was done.

At the same time, I wasn’t done, and I couldn’t believe what I was hearing. It was opposite of the innovation that had defined us. I’d discussed necessary explorations once the tech was ready: We had opportunities for characters to engage in melee combat, possibly in third-person perspective. I planned to explore using a first-person perspective for aiming and shooting a crossbow. I wanted to experiment with new ways of playing in a true 3D world.

Perhaps American, Sandy, and Dave were feeling that way because they hadn’t been through a full dev cycle with us before. They didn’t understand how exciting and dynamic it would be when Carmack and I got together to start working on the gameplay. In Commander Keen, in Wolfenstein 3-D, in DOOM, this collaboration resulted in amazing moments that defined a genre. American and Sandy advocated just sticking to our old DOOM combat formula.

“We don’t need new weapons,” Sandy said.

“Let’s just make DOOM III,” Dave offered.

Had we really come all this way to simply clone our own game?

The rebellion was in full effect. Sandy and American didn’t have it in them to start again again. Despite their reluctance, I kept urging us to strive for an innovative game design. Why would we take a brand-new engine and reuse an old design? I couldn’t wrap my head around it. It was so antithetical to the core of id Software, to the core of everything Carmack and I had ever done.

To me, this was a decision that the owners should make, but I didn’t want to say that and make everyone who wasn’t an owner feel called out. We had to make this game as a team. Telling them that their opinions didn’t matter would not be helpful, and ultimately, their opinions did matter. Trying to get people to do something they didn’t want to do would not make a great game. Still, I imagined how Carmack would respond if his tech plans were shot down by Dave, Sandy, or American. At best, he would ignore them and walk away.

After taking a whole year to get his programming vision together, Carmack was now entertaining talk about stopping any similar exploration of design using his engine. It was a painful moment for me. In that room, with everyone standing around, I realized that our shared vision was over. After five years of dedicating equal importance to his tech and my design—a formula that always pushed for equal innovation and absolutely worked—Carmack was listening to people who hadn’t seen us go through a new engine cycle, and who were too burned out to put in the effort it took to reach for the stars. Merely copying design ideas of the past was not what I was here for. And with the loss of design’s importance, id lost me.

I stood in silence for a moment to collect my thoughts. “As a team, we’ve reached a decision. I’ll redesign Quake as an FPS and use as much of the game as we’ve made so you guys don’t have to redo everything.”

I knew this decision was necessary. I couldn’t push for innovation with a burned-out team. We had to accomplish what they were able to accomplish, and an FPS design was something they could get excited about. Despite the loss I was feeling, from a game direction perspective, I knew everything there was to know about FPS design, and so I knew I could direct a great game, even if it wasn’t as innovative as I had hoped it would be. I’d get to work and do what had to be done. I don’t want to understate the grief I felt here, though. On the drive home that night, I rode in silence the whole way just thinking about it. Together, Carmack and I had built some great games and a lot of great memories. Now, our paths were beginning to diverge. When I got home, I sat in the driveway for a long time. I didn’t want to talk about it once I was inside either.

The next day, I got to work. I had to pivot a team to work around a new FPS design. There was no point in sitting around and being frustrated about it. If this is what we were going to do, at least we were going to do it well.

My first task was to get an FPS design written up as soon as possible so the level designers knew what was going to happen with their levels. The enemies and weapons needed to be defined, too, so the art team had goals. Carmack and Dave needed plans for gameplay.

I spent the next week and a half assessing everything that had been created to date. I played through all the R&D levels to see what fit in an FPS, determined what needed to be edited or finished, and decided what was going to be left on the cutting room floor. We’d need some new levels to fill out the four episodes we had planned. When the level review was finished, I began the process of writing extensive docs to describe the map and item assignments for both the shareware and registered versions, in addition to writing detailed descriptions of every map in the game.

During this time, and to get things out the door quicker, we pulled Sandy back from his quasi-production role on Strife, and we decided to bring on Tim Willits, a level designer who was wrapping up work on Strife, too. Tim started coming in at night a few weeks earlier and was learning QuakeEd. By the time I was done the FPS redesign, he was on the team.

By now, a lot of the tension in the office had dissipated, and things were feeling if not normal, at least decidedly better. One night after work in late November, Adrian, Kevin, and I left the office together. We ended up sitting on the floor in the lobby of Town East Tower. We were shooting the shit about everything, and a lot of it was about the journey we had been on the last couple of months.

“Having the team sitting around for almost a year was a horrible decision,” I said. “Of course, it’s easy to see this now.”

Adrian and Kevin agreed. None of us knew the engine would take as long as it did, and we didn’t realize that having our team spin its wheels, making things only to abandon them with each engine upgrade, would hurt morale and performance as much as it did.

“I think if we had two teams, it would have gone better,” I said. “Team one would be an engine team—keep American with Carmack, John Cash, and Michael Abrash, and maybe another programmer—and let them do R&D. Meanwhile, the rest of us should have been using the DOOM engine we already had to make a new game.”

That way we would have been optimizing our resources and building a new release that would make money while the engine team spent a year creating the new Quake tech. We could have spared everyone almost a year of angst and divided our team on purpose instead of having it happen as a consequence.

Eventually, as the clock ticked past 1 a.m., Kevin, Adrian and I prepared to leave, having allowed ourselves a moment of reflection. In the years that followed, we’d read a lot of things, some from people who hadn’t even been at the company at the time, saying we could have done this or should have done that. Surprisingly, some even commented on things as if they had been there since the beginning. But you know, we did the best we could at the time, and even if our goals weren’t 100 percent aligned, everything we were doing was in—what we thought—the best interest of the company we had built from scratch.

In early December, I had completed my review and the new FPS design direction. Here’s a summary of that initial write-up which was divided into an eight-level shareware episode with twenty-two registered levels:

The eight-level shareware episode contains:

• An intro Military Base level that leads to a second Base level, then the rest of the levels are medieval style.

• Two dimensional-teleporters called Slipgates that require specific keys to use them: an Amber element for one, and an Emerald element for the other. Slipgates were a new design element.

• Non-linear level progression with some backtracking to get the Amber element.

• A medieval level that has an Old One (“Shantak”) imprisoned within a quantum gravity cage that is sapping its power.

• A Shalrath as an end boss attacking the player with mind-control rays; just before he’s killed, he summons the Diabolord from the lava, and he disappears. The player must defeat the Diabolord to finish the game.

The twenty-two registered levels contain:

• Several more Slipgate elements to get: Chromite, Tektite, Onyx, and Malachite.

• Several keys needed to release Old Ones (“Yog-Sothoth,” “Hastur,” and “Ithaqua”): the Freedom Cube, Freedom Sphere, and Freedom Pyramid. These are found in levels connected to mini-hubs.

• A level layout with a lot of small hubs connected to two levels. Ultimately, progression is linear, but you need to visit every level that’s not on the main path through the game.

Shalrath as an end boss, who will take a ton of damage before morphing into his true form, Shub-Niggurath.

• Levels that are not separated into episodes, but they are grouped by designer, so all of my levels would be played, then American’s levels would be played, then Sandy’s levels would come right after.

We also needed enemies in the game, so I came up with a list:

• Military Base enemies (shareware): Guard dog, Soldier, Enforcer

• Medieval enemies: Ogre, Thrasher, Glop, Shambler, Garpike, Diabolord

• Registered enemies: Duke of Sheol, Mobula, Dracosaur, Vomitus, Shub-Niggurath

• Non-combatant characters: Shantak, Shalrath, Yog-Sothoth, Hastur, Ithaqua

Each character was researched quickly and then given a name based on its hopeful appearance and function. For example, the Diabolord rises up out of a field of lava, and he’s a boss monster. So Diabolord sounded like a perfect mix of “diablo,” the Spanish name for “devil,” and “lord,” appropriate for his status as a boss.

The team gathered in the meeting room to review the docs, and I explained the structure of the game, the levels, their ordering, and their assignment. People asked questions and made comments. As we read over the doc, some of that old familiar energy returned: people seemed happy with the new direction of the game and ready to work toward their goals. So, united around this new FPS design, we got to work. Between Carmack and I, we focused on what needed to be done. No previous design ideas were brought up—this was a new game, and we agreed it was the best route forward.

Things seemed to be settling into a rhythm for us, and people were excited to be moving forward. And you know? I was right there with them. As much as this pivot wasn’t something I welcomed, in the end, I was making an FPS and making a game, and if making games is fun, making an FPS game is pure destructive satisfaction. During these days of creating production levels, I needed to make some rules to establish a performance and quality bar for the levels.

• Rule one: If any room in your level could have been made in DOOM, you need to keep working on it until it’s uniquely Quake.

• Rule two: Look up. Your ceilings need to be interesting, and if you can see the sky outside, that’s even better.

Rule three: Try to place lights behind some geometry so it can cast shadows to look cool. This is a uniquely Quake design feature, so let’s use it. Our levels will be instantly recognizable.

These rules are evident in my E1M1: The Slipgate Complex level, and even in the “Start” level where you choose the episode you want to play. In E1M1, the first room has an angled floor, platforms you can see under, a first jump that rewards you with secret armor, a complex base door that looks cool opening and closing, and quickly you find yourself outside, where you can see the sky and cross a bridge over a river. The rest of the level is all about showing the differences in Quake levels versus DOOM levels. I wanted players to get an immediate sense of innovation in the gameplay space.

We started taking over the sixth floor of the Black Cube in Mesquite, slowly easing out all the other companies (except for the dentist, because we liked him). Once we took over the old accounting firm’s corner office, our corporate game of territorial acquisition was complete. Expanding into the rest of the sixth floor, we began demolition, pulling down the temporary walls and leaving electrical wires and network cabling hanging through holes in the ceiling where the tiles were missing. Our demolished corner office quickly looked like a barely started construction project.

In December 1995, Carmack wanted to move everyone into that area, call it the War Room, and enter crunch mode to finish Quake there: that’s seven days a week, twelve hours a day minimum. We never had mandatory crunch mode at id before this, but we wanted to finish the game, and we knew being together in the same room would allow us to finish the game faster, so we agreed. In a sense, the War Room was a reflection of the team it housed. It worked, it did what it needed to do—but it was frayed and, well, wasn’t what it used to be.

We kitted out the War Room with cheap forty-dollar tables and lined them up along the walls. Wires trailed all over the carpeted floor, and old sheets of drywall were exposed where facing sheets had been torn down.

The layout of the War Room was mostly a big L, with Carmack and me at the corner. Our proximity to each other allowed us to make sure design and tech decisions happened quickly with no need for meetings. To my left were level designers Tim, American, and Sandy, and to Carmack’s right were Abrash, Kevin, and Adrian. John Cash set up a desk in the center of the room to be closer to American and Carmack. Alone on another wall was Dave Taylor. Most days, Carmack worked until after midnight and would come in around noon. The rest of us worked 10 a.m. to 10 p.m.—or later, if we were working on something we wanted to finish or push a little further. Every day, when I got to the office, I would play music on my stereo for everyone. I turned it off as soon as Carmack came in. Then, the office went silent, and we put on our headphones. All hands were officially on deck. Well, almost.

With Quake entering crunch mode, and Sandy back on our team, the Strife project struggled to wrap up. I was concerned about Strife, with its DOOM-era graphics, color palette, art style, and generic personality. The development problems and the team’s learning curve took a toll on the game and delayed Strife’s release into 1996. Playing it through, it just didn’t feel like an id Software game, and it would be up against strong competition: Hexen, Star Wars: Dark Forces, Duke Nukem 3D, Heretic: Shadow of the Serpent Riders, Final DOOM, and our own upcoming Quake. I just didn’t see how we benefited from its release. Hoping to break even on our investment, Jay sold the game to San Francisco–based game publisher Velocity, Inc.* Playing the game now, I can see its merits, but in 1995, it was a liability for id Software. We needed every new IP to be forward-looking.

As the holidays neared … it didn’t matter. We were in crunch mode and gave ourselves only Christmas Day off—no vacations. It was a tough time. We worked many long nights. We got the game together. Every single person on the team wanted to make Quake the best FPS it could possibly be—that was obvious—but that thing that we had, that comradery, the incredible fun we had in the long nights of Keen, or DOOM, that just wasn’t there anymore, and I think we knew it.

I began to prepare myself to leave id. Only my desire to see Quake through, to make my last id game a great one, kept me going. I was determined to go out on an exceptional game, and I felt confident we had everything we needed to make that happen. Sometimes I considered staying. I’d think of how much I enjoyed working with this team, and all we had built together. When I thought about what we might make next, though I just didn’t see myself in that picture. It was clear that design no longer had equal footing at id, and I didn’t want to keep making games without innovative design. The team had begun to splinter. It was no longer a fun place to make fun things.

In late January, I picked up the phone and called Tom Hall.

“I’m done at id,” I told him.

There was silence for a moment, and then Tom said, “Whaaaaaat did you say?”

“I’m done at id.”

Another person might have thought my comment was a prelude to a rant about some momentary frustration, but Tom knew me, and knew id, having been one of its co-founders, and because of that, knew differently. At the time, Tom was still at Apogee, which had by then begun shipping games under the 3D Realms label. He had shipped Rise of the Triad and was working on his next game, Prey.

“What happened?” he asked.

“Well, the hope of doing new design R&D on Quake ended up with a burned-out team wanting to make another FPS like DOOM,” I said. “I’ve decided to leave after shipping Quake. What do you think about joining me to start a new company where design drives the games? Tech will have to work with our design, not the other way around.”

“That would be a dream,” Tom said.

With that plan in my back pocket, I focused on finishing Quake. We remained in crunch mode, working twelve hours a day, seven days a week from December into June. As with previous id releases, I was responsible for the direction, design, levels, and getting the game out the door.

At the time, I was working on my first deathmatch-only level DM3: The Abandoned Base. I created one room that was filled with a mainframe computer. The mainframe itself is made up of a whole bunch of rectangular computers that the player can run around in, sort of like a maze. The plan was for me to change the computers to C-shaped Cray supercomputers when the deal with Cray was completed. The maze of hardware had buzzing overhead fluorescent lights, and I hid ammo and health below in the darkness. I imagined desperate deathmatchers hunting for those and hiding from their potential killer below the mainframe. I placed a super nailgun on top, and a tricky jump to a Megahealth around the corner. The room also had a path that ran along the walls so players could shoot anyone trying to hide in the shadows—anyone trying to survive.

As the team hit its groove, I did some calculations to see when we might be finished with the game. At our current velocity, the pace that we were creating finished levels and animated models, it would take the entire year to create all the game elements and figure out how to convey the story. Since story didn’t work well with DOOM, it wasn’t going to work in Quake as an FPS, either, so I decided to remove all the items that added complexity, particularly the legacy RPG-style ones. I removed the amber and emerald elements, almost all of the Old Ones, and I arranged the levels into distinct episodes, making them completely linear. This would be the way to get the game on a clear, simple path to completion in the shortest time possible. I sent these design changes to the team:

Four distinct episodes with seven levels per episode. The first and fourth episodes have eight levels each.

• A Start map that connects to all four episodes, and an End map to finish the game is connected to the Start map, revealed only when the player finishes all four episodes.

• Specific bosses assigned to Episode one (“Chthon”) and the final boss in the End level (“Shub-Niggurath”)

• Some renaming of enemies as follows: Thrasher is now Fiend, Shalrath is now Vore, Glop is now Spawn, and Duke of Sheol is now Scrag.

• Enemies that are removed are the Dracosaur [the dragon people saw in the screenshot], Vomitus, and Mobula.

• Other characters (Old Ones) that you would have seen that are removed: Shantak, Yog-Sothoth, Hastur, and Ithaqua.

• Shub-Niggurath as the final boss is only killable by a telefrag in the End level.

Since we had four episodes, we needed to tie them all together. We were hurrying to get the game done, and the central hub area with the visibility into other paths would take too long. So I decided to make a small hub level whose only focus was to present the episodes of the game. To move from the hub to the episodes, I created a new design element: the Slipgate, a dimensional teleporter. This meant the different texture sets each of us designers had adopted would make even more sense, since our levels would be located in different dimensions. The hub level would have all four design styles in four paths that lead to those episodes through Slipgates.

Since Quake was now an FPS, and not a medieval splatterfest, we said goodbye to Quake and his hammer, and I turned the player into a space marine with guns. Sandy came up with a compelling story that an enemy codenamed Quake was using Slipgates to teleport into our bases to destroy our military and steal our weapons. Our scientists have determined that Quake is not from Earth, but from another dimension. The player is in charge of a new military directive, Operation Counterstrike: Find Quake and stop him. Tying the four episodes together would be done through military bases, so I asked Adrian for a Base texture set. We brainstormed for about ten minutes and came up with the various textures to create these bases.

In spite of the progress, the momentum we had felt around the new direction a month ago dissipated. It now felt arduous and like actual work. The pressure of working constantly, in a ruined room, no less, affected everybody. As we got closer to finishing the game, I wanted to keep everyone on track and focused. I understood the team’s attitude. I was worried that any disagreements about the game could blow up and jeopardize Quake ever getting out the door.

We felt ready to get some external feedback and to test the networking code at scale, and so on February 24, 1996, we uploaded QTEST, a test version of our internet multiplayer feature with some early deathmatch-only levels: DM1 (Tim), DM2 (American), and my new DM3. Players marveled at how easy it was to connect to each other, and they loved the look of the game, the weapons, the movement, and deathmatch gameplay. Releasing QTEST was also exactly what we needed for team morale. All the hard work of getting the client-server architecture in place and functional, the hardest part of creating QTEST, worked well the first time it was played by a massive audience—tens of thousands of players. Although we had released only three deathmatch maps, we included all the weapons, and also accidentally included the models for some of the monsters from our single-player maps. Since QTEST had QuakeC with it, the modding community immediately jumped into action, and many mods for QTEST were created in the short time between March and Quake’s eventual June launch. This was a great indicator—people were modding our game, and it wasn’t even released yet!

We were ecstatic about the results and decided to bring some deathmatchers on site to watch them play Quake. A few days later, seven highly skilled DOOM players came into our War Room around 8 p.m. and got on PCs with our QTEST version running. They reinforced what we’d collected from the online QTEST and sampled the single-player game, as well. Some weapon balance needed to be adjusted, but overall, they had a great time.

As the testers left that night, we heard the things we wanted to hear:

“We can’t wait until it’s released, man.”

“Can I be in the next test?”

“That was fucking awesome!”

It gave us a much-needed boost. Even the news we got days later couldn’t damper that feeling: On February 27, just as DM3 had made its player debut, Silicon Graphics, the company that built the workstation that Kevin was using for 3D modeling, bought Cray Inc. Our deal was now off, so Quake would continue sporting rectangular mainframe computers. We weren’t disappointed that the computers wouldn’t be in the level. Rather, we were disappointed they wouldn’t be in the office. There was no time to dwell on it, though.

I remained Quake focused in full-on crunch mode even after another difficult shareholder meeting in March. At that meeting, Carmack declared that when a shareholder got fired, their stocks would lose 50 percent of their value (if the stock was worth $2, it was now worth $1). It was a bizarre idea. Our previously allotted shares were a done deal. Why would they lose their half their value? I shot the idea down on principle, and all the others agreed with me. However, it gave me pause. It was an ominous suggestion.

In March, GT Interactive offered $100 million to buy id, and we turned them down. It was a lot of money, certainly, but it was not an inconceivable amount of money compared to what we felt we could earn. We were in complete crunch mode and could not make any kind of rational decisions at the time. Discussions about selling the company would derail the fast track that we were on to finish the game. $100 million or not, we just wanted to get it done.

In April, Michael Abrash was having some trouble while testing his code. Occasionally, when he was moving around in the game, the screen would show a completely random view that was from a totally different location for a split second. He debugged all the way down to the exact instruction that was responsible, but determined it was impossible to get the calculation result that would produce that random viewpoint. Carmack looked over the code as well, and this error didn’t make any sense. They were confident that there was not an error in the code. So Abrash called a friend who worked at Intel to come check it out. His friend saw the error happen, closely inspected Abrash’s code, and noticed that a floating-point instruction was causing the trouble. He then asked Abrash what kind of processor he had in the PC. It was an overclocked 100Mhz Pentium. As it turned out, there was a hardware-level bug in the Pentium’s floating-point divide instruction (FDIV)—if he divided certain pairs of numbers, it would return incorrect results. This calculation was responsible for the player’s viewpoint angle. Abrash modified the calculation so it wouldn’t run into that problem again. This Intel Pentium hardware error is known as the FDIV bug. It remains one of our favorite debugging stories.

Though we were feeling frayed, the game was shaping up well. We decided to focus on putting together a Quake beta, containing all the close-to-final levels we had, to test the flow and feel of the single-player game. We were gaining momentum, and the community was posting nonstop about the game’s promise. I worked thirty-eight hours straight, without sleep, creating the beta. I was in the home stretch, at some point, I just decided to stay awake until it was done. We were nearing a major milestone and working extra-long hours seven days a week.

This was the first of three betas we needed to create to keep us focused on our launch target. The testing for these betas was internal only, but it was a great measure of our progress. We invited a collection of local players to the office and watched over their shoulders as the game came to life in front of them. At the time, we already had lists of what was left to do, and these betas helped us collect feedback, tie up loose ends and complete things faster.

One night in late April, I got a call from a friend at 3D Realms, Mark Dochtermann. He was wondering if I could swing by. It was only midnight, and I had done a lot of mapping that day, so I drove over and found three other developers at his place: Jim Dosé, Tom Mustaine, and Rob Atkins (a longtime friend of Adrian’s). At the time, they were working for 3D Realms on Duke Nukem 3D. The shareware version had launched on January 29, and they wanted to start their own company after they shipped the full retail version. I told them I could help them out if they made a level pack for Quake as their first project. We talked until 4 a.m., laying plans for their company’s founding, their first project, and possible ideas for the pack. It was the beginning of Hipnotic Software (eventually renamed Ritual Entertainment).

The next day, I brought it up to Jay, Kevin, Adrian, and Carmack. They were all excited about having an official map pack developed by a talented team, and Jay took over the communication from there. Their Quake pack would be named The Scourge of Armagon.

April was busy as we were wrapping up more levels, testing them, and adding more enemies. Since we were taking some of our early experimental level work and incorporating it into final production levels, I decided to pick one of my early Quake maps and make it part of the last level of my Episode 2 series, E2M6. Because the level was made before we had established the proper scale for the character in relation to everything else, I had to do quite a bit of reworking to get most of the level feeling good. Then, to finish E2M6 I added a couple of major new sections and a bridge that rotated as you progressed. One section is a submerged piece of a castle with jumping involved to get into it from the water. The last two rooms were designed as an homage to Disneyland’s Haunted Mansion elevator—when the player gets in, bars slam shut, and the floor starts descending. Shamblers and other monsters teleport in while spikes are shooting into the room. At the bottom, two Vores, an enemy players hadn’t encountered up to this point, start attacking with player-seeking missiles. The level had a good flow and a challenging ending.

Soon after finishing E2M6, I was at the office late and running through my levels. It felt to me that E2M6 needed to be a bit longer. So, I spent the next several hours making a new entrance that was dark and wound around an uphill cave system, ending in the room that was the original start. Playing the new beginning felt great, with just the right amount of challenge and puzzle solving. When I was finished, I looked at the file size. It was close to 2 MB. A few months earlier, however, we imposed a rule that levels could not be bigger than 1.4 MB, so they could fit in memory. It was clear that I could not keep this new level start, so I reverted back to the earlier version. It didn’t faze me, because the creative process is full of moments like this. “Throwaway” work is never truly throwaway. I learn from the experience, and should I create something like it again, it may be even better.

The weapons were also evolving. I added a unique superpower for the lightning gun—if you fire it while you’re in the water, all the damage you release will hit you and everyone in your view. It’s Quake’s version of the DOOM BFG, but dangerous to you, too. American and I worked for a bit on sound effects. I added all the water and sky sounds; teleporter sounds; pickup sounds for the Quad, Pentagram, Megahealth, and other items; the gib sounds; and the leg-splintering sound when you fall too far. American created and added additional audio for the monster and weapon sounds. He also added the sounds Trent Reznor created for the player character.

A concept-to-launch development cycle is an endurance trial, especially when you’re creating your own engine. It was particularly challenging for those experiencing it for the first time, and after some work on the sounds, American took needed time off. I got the other level designers to finish what was left of his levels. American was, and still is, an amazing level designer. Of all his levels in Quake, E3M4: Satan’s Dark Delight is my favorite. It has a great sense of space with some great traps like an Ogre that comes down underwater on a lift. It has multiple floors that connect in interesting ways, and some great puzzles. You could sense the humor in American’s designs, and that’s something I’ve always valued.

In the end, Quake’s levels were divided among the four designers:

• American/Tim co-created: 1 level

• Sandy Petersen: 7 levels

• American McGee: 9 levels

• Tim Willits: 10 levels

• John Romero: 11 levels

It’s a tremendous credit to the entire team that Quake was as great as it was, particularly given that it was redesigned from an action RPG to an FPS with just seven months to go. At this stage, the game felt good, there was no denying it. By now, we knew shooters, and I felt confident that each member of the level design team was bringing their best. I played all the levels, of course, and offered feedback. Others did, too.

One of the enhancements that fell by the wayside was a visual and atmospheric improvement I loved. I had long known that motion was an integral factor in making a 3D game feel real. When a player stopped moving, the small, 320x200 pixel static screen revealed the blemishes of our art—for example, images in the distance were not clear. Still, the player might not really notice the blurring while on the move because as they approached an object, its detail came into focus. I thought making the player’s viewpoint move ever so slightly would have a realistic effect and would provide a cover for the clarity issue. Even if a player stopped, the screen itself would have a fractional ebb, like a faint breeze. I mentioned this to Carmack, and he coded a sinusoidal function that created a smooth back-and-forth motion to make this happen. His demo set the movement rate higher than I wanted, so the movement wasn’t quite as ambient as I’d envisioned, but you could see the concept would work.

“This is the idea,” I said, showing the demo to Adrian, “but we can set the movement to just a fraction, so it is barely perceptible.”

He looked at the screen for about five seconds. No doubt his mind was racing, knowing that whatever rate we decided on would mean more work; we’d still have to monitor every second of the game to make sure nothing looked off.

“That makes me sick, like motion sick,” he said.

That was all I needed to hear. “Okay,” I said. “I’ll set it to zero.”

As it turns out, the functionality is still part of the Quake engine, and I did sneak the slight motion into the game—it appears on the intermission screens after you finish a level and a player’s time, secrets, and kill scores are listed.

As we headed into the home stretch, the atmosphere in the War Room was constantly tense. We tended to focus on what we had to do individually and tried to avoid talking too much, to just get through this game and move on to whatever lay on the other side of release.

As part of the process of fixing and polishing everything, mouse control needed to be fixed. Carmack and I talked about allowing the mouse to control not just left and right, but also up and down by moving the mouse in both axes fluidly. The idea would be to move the mouse around like you do on a desktop, but instead of moving a mouse pointer you would be moving your “eyes” in the game, looking in all directions. Moving the mouse left and right would look around like Wolfenstein 3-D and DOOM, but moving the mouse forward and backward would let you look straight up at one extreme and straight down at your feet at the other. Moving the mouse along each of those axes would feel like you’re looking around in 360 degrees, just like in real life.

Carmack spent about ten minutes programming the new axis of control into the game. When it first got into the latest build it felt bizarre. It was dizzying to look around with the mouse while at the same time moving around with the keyboard—I wondered how players would ever get used to it. It felt like the right way to solve the problem, though. This was the birth of what’s now called “mouse-look” and is a staple of all mouse-controlled 3D games. We kept the feature in but kept it inactive by default.

Around this time, my new house in Frisco was finally completed and ready for occupancy. We moved all our stuff from Plano and started decorating. I still remember the feeling of walking through the door for the first time. Two-story-high ceilings, giant fireplaces, a spiral staircase leading upstairs. On the one hand, it felt amazing to set foot in a house that I had designed. Everything was exactly as I wanted it to be. On the other hand, it felt like I was walking into someone else’s life. No one I knew had a house like this—no one in my family, anyway. It even overlooked a golf course and waterfall! But I’d have to put off enjoying those things until later—right now I was focused on one thing only: delivering Quake. Everything else could wait. Beth was fine with my schedule, and she was busy doing her own thing. I don’t think either of us realized it at the time, but we were growing apart, living our own lives in the same house yet separate from each other.

June rolled around, and Quake was nearing completion. We were exhausted in every conceivable way, but we could see the finish line. Almost all the levels were complete; the game flow worked so players could get through all four episodes in order, then access the final level from the start map. Saving and loading progress was tested over and over. Deathmatch on all our custom deathmatch maps was tested especially well, and the co-op mode worked great in the single-player levels. The final assets I needed to get in were the music tracks, which we didn’t have from NIN yet. Jay got in touch, since American was gone, and pushed the legal licensing process through as quickly as possible. The problem was that twelve different signatures were required to clear the music through NIN’s label, Interscope Records. Then, at the last minute, an unfortunate issue appeared: The music tracks could only be licensed as CD-audio tracks. This was a major setback, as the best way to play the music in Quake was as streamed songs installed along with the game. By limiting access to the music as playable solely on CD, only players who left the Quake CD in the drive would hear the music! Few people would leave the Quake CD in the drive, as it turns out. We had to scramble to get CD-audio playing code in the game and mapping the song tracks to the levels. It was the final holdup to releasing the game.

As we were wrapping everything up, the mood was somber. There weren’t the usual exclamations of excitement when cool things were put in or long-term issues were fixed. We were just executing our work the way we knew how, almost like we were robots on autopilot. If the team was burned out at the beginning of crunch mode in December, we were dead at release. What should have been an exciting, thought-provoking, hard-but-fun process became one of the hardest grinds of my game-dev life, and that’s probably true for everyone on the team. When the work on Quake was completed, nobody in the office really acknowledged it.

On Saturday, June 22, 1996, I came in to the office and was alone. The previous day, I told the team that since the game was finished, I’d be in the office the following day to upload the shareware version. Quake was ready to be unleashed, and none of the others were there. That’s how burned out and disconnected we’d become. It was both surprising and sad. Every id release before Quake was a company-wide, sometimes industry-changing, event. It didn’t matter if it was four in the morning, everyone was there to watch our games launch. Newsgroups and bulletin boards provided us with a live, interactive feedback loop. We could see the reactions. We’d celebrate.

I got on IRC and saw the #quake channel had hundreds of people in it, waiting for any news of Quake’s imminent release. Days earlier, I told people in the channel that Saturday was release day. As soon as I typed into the channel, it started flooding with people as word got out that it was time. Because so many people logged onto IRC #quake, the channel split several times to handle the load. Watching the screen, you could not tell what was going on, as hundreds of people all typed at once. It was madness. I told everyone I was working on getting Quake ready for upload.

In the end, it took me about three hours, for a couple of reasons. The first was that I wanted to be completely thorough—I was on my own, and I didn’t want to upload something that had any issues. The internet never forgets, and any screwed-up version would become official and never disappear. The second was because Quake was the first game we created that had multiple folders and subfolders. All our previous games were contained in a single folder. As a result, I needed to run a compression program on Quake, but I couldn’t use the highly popular PKZIP because of legal issues that were being raised at the time.* I found out that LHA.EXE could compress and decompress files in folders, but there was no manual for it, so I had to hack at it until I figured it out.

I knew it was going to be an important moment in time, and since the team wasn’t there, I decided to call a friend to be there during the upload. I called Mark “NaTaS” Fletcher, an incredible DOOM deathmatcher and one of those who tested Quake back in February. Mark and I tested the game installation about five times on different computers to make sure everything was good, and we found no issues. I hopped on IRC and told everyone the upload was about to begin.

It was pandemonium.

I uploaded the game to our usual FTP location with no issues, satisfied the hordes, and played some deathmatch with Mark to celebrate.

Even with all of Quake’s development challenges, I was exceptionally proud of the FPS we had created. As a game designer, level designer, programmer, and hard-core player, I recognized that we had created something that would make players forget everything else for a long while, including our past games.

With all our previous releases, there had always been some sort of celebration, even if that was just us turning our chairs to face one another to talk about what we had done and what we would do next. The empty office was, in a sense, a reflection of the energy we had left. It was unfortunate that no one else was there to celebrate the release of the game that would redefine the modern shooter. Truly, there was a lot to celebrate, with features like internet multiplayer, a true 3D world with fast perspective-correct texture mapping, level design that took advantage of the engine’s capabilities, an in-game console for executing commands into the game, mouselook for viewing the true 3D world in a new way, and a programmable QuakeC language that allows modders to create anything they like in our game.

I took two weeks of vacation, relaxed, and enjoyed spending time in our new house. I was so exhausted, I have little recollection of it. When I returned, I was ready to master Quake’s retail shareware CD. This one was different, however, and a challenging job. Mike Wilson had the idea to store all our games encrypted on a single CD and then sell them all from the CD itself. This retail CD would be placed in every 7-Eleven store in the US. The shareware version was freely available on the CD, and the retail version, including all our other games, was unlocked via purchase from a unique interface designed for that purpose. GT Interactive was handling the retail big box, which contained only the full version of Quake.

The response was through the roof. Sales rolled in. Critics lauded the game. Here’s one I especially like from Computer Games Magazine:

Satan, your game has arrived. It spits up blood and pisses vinegar. It sprouts horns from its head like the proud minion of evil that it is. It shoots lightning bolts, for cripes’ sake. It’s a game of pure evil, and even purer entertainment. It’s also the best action game on the planet.

The week after shipping Quake, a couple of friends of Michael Abrash showed up at the office. They were starting a new game company and wanted to license Quake. The two guys were Gabe Newell and Mike Harrington, newly minted Microsoft millionaires, and their new start-up was named Valve Software. Abrash introduced us, and I spent several hours with them talking about building a team to create a game like Quake. I explained how the art and level design pipelines worked using NeXT computers and Silicon Graphics Indigo workstations. Most importantly, I told them they needed a lead game designer to manage a design team to come up with everything that the rest of the group would create.

They took lots of notes, we had a good, long chat, and they went back to Washington State with a Quake source code CD in their hands.

American returned to the office, refreshed. It was perfect timing. I was ready to discuss our next game, and so I held a design meeting with the level designers to talk about ideas for Quake II. The earliest ideas had gameplay taking place in extradimensional mines that players would Slipgate into. Since Quake established the franchise as an FPS, it would remain so. Although I planned to leave and was even looking forward to working with Tom again, I think a part of me also didn’t accept that I was going to do that. My DNA was in id, and I felt as connected to it and what we had built as I did to some members of my own family. So, while I knew that we had reached a turning point, I think a part of me rejected that and kept going, id all the way. I didn’t see the paradox.

After mastering Quake’s retail CD, I planned to start calling publishers to let them know that I was looking for funding for a new company I was founding with Tom Hall—Dream Design was the initial name we came up with. My first call was to Ron Chaimowitz at GT Interactive. I thought he’d be gung-ho to back me. id Software had just signed a deal with Activision to distribute all future titles; Quake was the last game Ron would get, so I figured he’d be looking for new partners. We talked about our initial plans—that I was looking to fund multiple projects, one for me and one for Tom, and I wanted to build a studio on new IP. Obviously, I asked for the conversations to remain confidential. Later that day, however, I’m guessing word got to id Software. Adrian was even called back from vacation for an emergency meeting that very day.

The next day, I walked into work and John Carmack demanded my resignation, accusing me of all kinds of things, denigrating my job performance and claiming I had hurt the company. Adrian, Jay, and Kevin didn’t say a word; they looked somber. To me, it was a mind-boggling rewrite of history and my contributions to the company. I stood there, taking it in, thinking. I was surprised and angry. I worked seven days a week on Quake for seven months after redesigning the game around an FPS core. I created more levels than anyone else and I had reviewed all their levels, too, levels we made with my editor! I’d even shipped the game by myself and gotten the retail versions ready.

“Really?” I said. “I worked seven months in crunch mode and I am hurting the company?”

“That’s where we stand,” Carmack replied.

We stared at each other. I thought back to the division that had grown between us over the company’s goals. I couldn’t believe we had reached this moment.

(I remind readers that we were in our twenties, working around the clock for months at a time, and both Carmack and I agree this situation could have and should have had a different outcome.)

In assessing the power dynamic at the time, I suspect my cofounders knew that if they didn’t agree with Carmack forcing me out, Carmack would likely leave the company. id Software was known for cutting-edge technology, and so they sided with him. As far as I was concerned, I was already on my way out—I made that decision back in January. I had already put the wheels in motion with publishers. Nonetheless, it was a horrible, painful moment, a moment that Adrian and I have talked about many times since then. He felt like I felt when we decided to ask for Tom’s resignation. I didn’t accept that I hadn’t worked enough because I had worked nonstop before and after Quake’s pivot to an FPS. I’d even delivered millions into the company while its engine was in development. To me, it was too much of a coincidence that forcing me out took place the day after I talked to GT Interactive about leaving and publishing my next game (and to be clear, I’m not saying that anyone I talked to said something; it could have been anyone who knew of our plans).

I truly believe my working dynamic with Carmack was critical to the original id, and I think our collective ability with design and tech was responsible for our major advances. He trusted me because I also knew how to code, and we fell into an easy partnership. At the same time, I think it’s fair to say I was the only one who ever argued with or challenged him. In development, our friction produced designs and technological advances that were perfect pairings. In business, I pushed to get Adrian an equal cut in the company. I continually advocated expanding id and handling our own distribution. I fought for Tom, demanding he get a second chance. I single-handedly pushed to develop Heretic and Hexen. The rest of the company kept their heads down and did the work. Now, with me gone, id was Carmack’s company.

I left id on August 6, 1996.

Under the terms of our buy-sell agreement, I returned my stock to id Software immediately, and they paid me for it over the next five years. The stock price was calculated based on the collective sales the company had made over the previous 365 days multiplied by my percentage of ownership—for every dollar sold, I got a percentage. I’m grateful for the work I put into releasing products during Quake’s long development as it meant that there was company income to have a percentage of. I couldn’t have known it at the time, but my desire to expand the business’s bottom line and to ensure its security ended up ensuring mine. As it turned out, I saw no money from Quake.

Despite our team’s fractured state, our arguments, and our overall solemnity, there is this undeniable fact: The incredible discipline we had as a team allowed us to create and publish thirty-two games in six years. Something malevolently magical happened between us, and I believe that my creative drive was the heart of Carmack’s machine. We changed the world for the better.

As I write this, a quarter century has passed since I left id. Throughout the last couple of chapters, I mentioned that I would share some thoughts on what we might have done differently with Quake, with our divergent company strategies, and with our eventual irreconcilable differences. We know it didn’t have to go as it did. Of course, that’s the benefit of both maturity and hindsight.

Regarding Quake, Carmack recently suggested to me that he thought we could have split Quake’s technology advances into two games. The first game would have used the DOOM II engine with a new client/server networking model and a DoomC programming language. The second game would have been Quake with the true 3D world and advanced lighting. That idea makes a lot of sense to me and would have allowed us to progress more quickly. In a similar vein, it also seems that putting aside some new engine features and moving onto gameplay code at an earlier point would have allowed us and the rest of the design team to progress the gameplay much faster. Both of these methods would have kept everyone fully tasked and allowed for new products to come out. As I mentioned earlier, Adrian and Kevin agreed that we should have been working on something as a team, perhaps using the DOOM II engine, while the Quake engine was in R&D.

Regarding our misaligned company goals, I suspect it’s obvious to readers that this difference only grew over time, and that something was going to give. We might have seen it, too, or managed it far better, if we hadn’t been under extreme pressure, working constantly and caught up in some kind of success tornado. I believe we could have grown the business and had me on Quake too. As a hard-core programmer—and Carmack’s programming partner for six years—we should have hired someone to take on all this extra work, particularly The Ultimate DOOM, Heretic 2, and maybe even QuakeEd, so that I could focus exclusively on engine code with Carmack and then exclusively on gameplay code and design. We had done that for all our previous games. Our collective expertise in tech and design pushed engines forward and revealed new forms of gameplay. It had always worked that way and worked well. That daily back and forth with another programmer fully immersed in the project would have been invaluable, not to mention having two full-time programmers on the engine. Bringing in that continued income was important. It gave id a good, long runway, created new IPs and made it so that we never had to make difficult decisions. I suspect my drive to strike when the iron was hot was also spurred on by having never had enough before. I couldn’t accept that it wouldn’t just go poof in short order because I’d seen that happen again and again in my personal and professional life.

Last, the homegrown development process that worked so great for us when we were small needed to evolve as we grew larger and our games became more complex. We were following a method that had served us well since 1990: The intended design is understood by the team, we put stuff in, take out stuff that doesn’t work, and iterate toward perfection (or as close as we can get, anyway). It had worked great with Wolfenstein 3-D, DOOM, and DOOM II, not to mention all our games prior to those, and nothing was making us think, You know, we really should consider changing this. Adding a producer might have gone a long way toward alleviating the pressure and making sure people felt like they had enough direction and something to do. Communication is always important, and even more so as teams scale. You may be happy to know that today my games have extensive design docs, an absolute necessity as teams grow. I still believe in the game as the living doc, though. It holds the truth the documents cannot reveal.

Regarding the meeting where it all ended, well, by the time we reached that meeting, I don’t know that there was another course. We’d missed several red flags at that point. Like Carmack said, “That is where we stand,” and he was right. We had already built different paths without each other. It was only in that moment that those paths became apparent to everyone else. As much as I can’t forget the past (literally), I can move past it. I recognize the incredible time that we had creating some of the coolest shit ever coded, and I am so incredibly grateful for it. We both are. Maybe that was all we were supposed to have. It was certainly enough.

In the years that followed, I have remained a supporter of id Software and its products, and become a part of the community itself, creating mods for DOOM and DOOM II, one of which id licensed for inclusion in its releases of DOOM. “SIGIL” was the unofficial fifth episode for DOOM, released in 2019. I am still friends with my fellow cofounders Carmack, Tom, Kevin, Jay, and Adrian. Our games will carry on.

 

* The October 1995 issue of PC Gamer featured a hand gripping Quake’s powerful hammer and touted a first look at Quake’s design.

* Velocity, Inc. is defunct and the name is now being used by an aerospace company. To my knowledge, there is no connection between the two.

* PKWARE, the maker of PKZIP and PKUNZIP, were being sued by the author of ARC, a competing compression method that did not approve of PKWARE supporting their compression method. Why buy ARC if you could get ARC compression and ZIP compression in the same program? We didn’t want to get dragged into any legal mess, so I avoided using ZIP for Quake.