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.

The id Software Interviews by David L. Craddock

Collecting multiple discussions with developers, The id Software Interviews throws back the curtain on id Software's early days for in-depth looks at Doom, the studio's latest anniversary, the importance of the Apple II to the studio's foundation, and more.

CURATOR'S NOTE

I'm proud of my title as the "foremost historian of first-person shooters" (so sayeth John Romero) and of the interviews I've conducted with id Software developers over the years. This book rounds up my favorites. -David L. Craddock, curator, StoryBundle

 
 

BOOK PREVIEW

Excerpt

David Craddock: To kick things off, obviously, we're doing this on the 30th anniversary of Doom's release. As you think back 30 years to this day, what are some of the first memories that come to mind?

John Carmack: For this day, it was always Romero being in charge of getting the final build together, getting it all ready and getting it out to people. But this was the culmination of almost a year of work at that point, and we knew we were on the glide slope to an explosive reception. We had had early alphas and tests out that different people had seen, and we knew what we had. It was kind of triumphant moment for us because we were proud of what we had done, and we knew it was gonna land really well. We probably couldn't have guessed that it landed as well as it did, but there was no doubt in our mind that it was great at that point.

John Romero: Yeah, it was [triumphant]. I remember that last 30-hour day. It was pretty crazy. We had the last bug, which had to do with the timer overflowing or under-flowing. That was a pretty cool bug to solve because you thought about it for a minute, like, why would it be freezing up on some machines [and not others]? You went over and looked at the code and when you fixed it; it was like, that's been in the game since day one when you put the timer interrupt in there.

Carmack: And there are related bugs I still see in some games where some of the shader effects start getting a little kitschy if the game has been running for multiple days without a reset just because floating point [numbers and math] winds up having issues when you keep time in seconds and never reset it. Those "let the game soak for multiple days at a time" bugs still bite people to this day.

Romero: It was definitely it's a very low-level bug, and the entire game was tied to it. But it was amazing to have the answer from a year-long project that quickly.

Craddock: I think one of my favorite stories from this time is you all trying to upload the Doom files to the University of Wisconsin's servers, but there were too many people logged on waiting, so everybody had to log out so the admin, David Data, could upload. Was that the first time any of you had seen that sort of reaction to one of your releases in real time?

Romero: With Wolfenstein 3D, we were up at four in the morning uploading it to a BBS, and I think the only reaction we saw was when we logged into the BBS, we saw "Wolfenstein 3D" scroll up in ASCII text and. We were like, oh, right, this is something people are going to be looking at. We uploaded it and went to sleep because we'd been up all night. But with Doom, it was the first time that we uploaded it to the internet. It was Jay Wilbur who did the uploading. We started at two in the afternoon because we had to get that last bug fixed and tested. So, that was the first time we had people waiting. In fact, I think the week before, we had people calling the office randomly, asking when Doom was gonna go up. And we're like, how do you guys even [have this number]. That was the first time we actually heard from people and could see people were really excited.

Carmack: The 90s really was an era of technical scaling issues yet to be addressed, where everything was very ad hoc. You can't break YouTube or Facebook today. A lot of these [these sorts of operations] were a specific machine sitting in a specific office with a specific network connection. It was a time where everybody would find it's like, oh, Doom blew this up or Slashdot blew this other thing up [by driving a lot of traffic to a specific machine host]. We were in an era standing on the shoulders of giants. Now, you can just drop worldwide releases that literally a billion people can get [simultaneously], but there was a lot of learning along the way.

Romero: Especially about networking, because that was when people first started getting network hardware at home and learning how it even worked with Doom supporting IPX on a local area network. That made many people learn a lot of stuff pretty quickly. [Author's Note: IPX, or internetwork package exchange, manages the transfer of data packets from one point to another.]

Craddock: As you said, Doom influenced many players to learn how to network their computers together to play deathmatch. There are many people who, by playing Doom and learning how to network, were encouraged to enter careers in game development and IT fields. When was the first time you realized that Doom was influencing people beyond simply enjoying a great video game?

Carmack: Doom encouraged people to figure out hardware things: how to upgrade hardware, how to install things. Especially the networking, where we had only had a couple of years of going from the earliest super-janky networks we had, like parallel port network adapters, and then finally getting the thin net coax Ethernet system set up. It really was early days, and many people landed in network administration posts, the network admin in their office wiring up computers. Many offices wound up having a suspect business case put forward for why they all needed networking shortly after Doom came out.

It's interesting to contrast with Quake, where that level of programmability [through innovations such as the game's built-in QuakeC language] launched a lot of game dev careers. But Doom launched a lot of IT careers.

Romero: Yeah, I've heard that so many times, people saying, "I got a job because of Doom" and "I had to learn how to network the computers and install the drivers." I meet those people at tech conferences nowadays, like WeAreDevelopers [conference] in Berlin—there's so many people there, and so many of them got their start because they needed to play Doom networked because it was cooler than [connecting over] a modem.

Craddock: I understand you had a conversation somewhat recently where you realized there was something that would have been possible in Wolfenstein 3D, but you didn't realize that until recently. What was that?

Romero: It just had occurred to me that the push-wall hack into the Wolfenstein engine that was inelegant actually could have been solved if we had treated the secret doors as regular doors and just have them open like a door, instead of having to push a block through the matrix. That would have been an elegant design solution for the way the engine already operated and would not have caused headaches.

Carmack: I look back at that as one of those kinds of growth moments for me. [When Romero and Tom Hall proposed secrets], I was like, this is going to be a mess to put this in. Tom and John were leaning on me about it, and I finally was like, "Oh, all right"—and it was absolutely the right thing to do. And yes, in hindsight, it would have been faster to just have it be a sliding door, but the grinding, push-wall sound is pretty iconic. I had to go through this learning process where I realized clean code isn't the point. The point is creating something of value for the users, and sometimes you really should just suck it up and do something that's a little bit ugly, because it's going to be awesome, and it's going to be worth it.

Romero: Yep. It was funny because before that, everything went so smoothly. The sidescrolling engines only needed so much functionality to enable so much to happen. We didn't really need [to figure out how] to do some crazy thing in parallaxing or whatever we were doing in Commander Keen because there was plenty of functionality there. But when we got to that point in Wolfenstein, we were like, "We're missing something, and that thing is secrets, and this [push-walls] is probably the best way to represent a secret in the world that we have."

Carmack: That was a case where Wolfenstein was done under these extreme, almost extraordinary design constraints; there just wasn't that much you could do. There was a clear sense of crossing a threshold with Doom where you went from something where there was just this tiny puzzle box you could mess with in Wolfenstein- and Rise of the Triad-type games, to the extra things that were enabled in Doom. They opened up a pretty much unlimited creative box, where again, we're still seeing levels where people are doing novel and interesting things with it. That's an interesting theoretical thing to contemplate. I talk about kind of the Turing completeness of a creative expression, where once you've got a certain set of tools, you can build an unlimited number of things versus just more stuff that looks exactly the same.

John Romero: And Doom's still being pushed today. People are still hacking the original data structure to do interesting things, which is pretty cool. I even did some new stuff with SIGIL that I hadn't seen in any WADs. I think that's one reason people are still making levels: [Making Doom maps is] the easiest way to make something that looks great. If you want to get anything more complex than this, you're talking 10 times the work, usually.

Carmack: It really was a painful step function for the people approaching the creative threshold with Quake, where it really was 10 times harder just to make something that looked decent versus Doom, this sweet spot of everybody being able to draw on this 2D view. Maybe we could have done a few more things, added curves or something in the [overhead map] view, but it was just this bad step function going to full, general 3D. That made it not something everybody could do just on a lark, but something you set out time to do, to almost trace a career arc when you want to start building mods for the newer games.

Romero: [laughs] That means it takes a really long time to use these edges today.