Twenty years ago, on December 10, 1993, John Carmack, John Romero and the rest of the team at upstart id Software unleashed a game called Doom upon the world. Twenty years later, both men have written about their favorite memories of the game for you and all fans of Doom to read. Here they are, in their own words...
In terms of setting this up, as many fans of Doom know, Romero and Carmack are in the post-Doom, post-id phase of their careers. Romero's an industry veteran with numerous games under his belt and many different gigs at the moment. Carmack is the chief technology officer at Oculus, the company behind the Rift virtual reality gaming headset.
Carmack and Romero haven't worked together for nearly a decade and a half. I'm nevertheless delighted to have them here on the same page, sharing some favorite memories about what it was like to bring Doom to the world.
Thank you to both men for agreeing to celebrate their great creation with Kotaku readers.
I still remember the day that multiplayer started just barely working in Doom. I had two DOS boxes set up in my office—in addition to my NeXT workstation—to test multiplayer. The IPX networking was forwarding user input between the systems, but there was no error recovery, so it was very fragile. Still, I could spawn two marines in a test level, and they could look at each other.
I was strafing back and forth on one system and looking over my shoulder at the other computer, watching the marine sprite slide side to side in front of the other player's pistol. I let it coast down, centered on the screen, and turned to the other computer. "Bang!" "Urgh!" Twitch. Shuffle. Big smile. :-) "Bang!" "Bang!" "Bang!" "Bang!" There was a consistency failure before the first frag was truly logged, but it was blindingly obvious that this was going to be awesome.
From that point up to the first public release, Doom used IPX broadcast packets to communicate between the players. This seemed like a good efficiency to me—a four player game just involved four broadcast packets each frame. My knowledge of networking was limited to the couple of books I had read, and my naive understanding was that big networks were broken up into little segments connected by routers, and broadcast packets were contained to the little segments. I figured I would eventually extend things to allow playing across routers, but I could ignore the issue for the time being.
Carmack: "I got chewed out by a network administrator who had found my phone number just to yell at me for my game breaking his entire network."
What I didn't realize was that there were some entire campuses that were built up out of bridged IPX networks, and a broadcast packet could be forwarded across many bridges until it had been seen by every single computer on the campus. At those sites, every person playing LAN Doom had an impact on every computer on the network, as each broadcast packet had to be examined to see if the local computer wanted it. A few dozen Doom players could cripple a network with a few thousand endpoints.
The day after release, I was awoken by a phone call. I blearily answered it and got chewed out by a network administrator who had found my phone number just to yell at me for my game breaking his entire network. I quickly changed the network protocol to only use broadcast packets for game discovery, and send all-to-all directed packets for gameplay (resulting in 3x the total number of packets for a four player game), but a lot of admins still had to add Doom-specific rules to their bridges (as well as stern warnings that nobody should play the game) to deal with the problems of the original release.
When you're making a game, you know everything about it, because you're in all of its code and data. This means there are rarely any surprises or mysteries in it. If you've made a lot of games, you get used to that and it's normal. Playing other people's games is when you get to experience something fun and new and unexpected.
I remember, though, when I played Doom during a period of time when its character emerged from the data and it was something new, and unknown and thrilling. This wasn't what one normally got to see during development, but it happened often after we got the monsters in the game—moving around and making their sounds in our brand-new levels.
It was incredible to play one of Tom Hall's new maps for the first time and not know what was around the corner or lurking in the darkness, because these sounds were new—the doors opening, the buttons and platforms, and the terrifying howls of wandering demons. They were new sounds in the world's most advanced game environment and it gave me chills to experience playing Doom the way everyone else later saw it, during this brief window of time when it was being born.
John Carmack, Kevin Cloud, Adrian Carmack, John Romero, Tom Hall, & Jay Wilbur. Picture via the 3DRealms website.
Have your own favorite Doom memory? Share it below.