Persona: Senior Software Architect & Game Development Historian
Abstract:
This postmortem, delivered by id Software co-founder John Romero, chronicles the 12-month development cycle of DOOM (1993). The narrative tracks the studio's transition from 2D side-scrollers (Commander Keen) to pioneering the first-person shooter (FPS) genre. Key technical milestones include John Carmack’s adoption of the NeXTSTEP environment for development and the implementation of Binary Space Partitioning (BSP) trees to optimize 3D rendering. The session details the creative friction between "realistic" design and the "abstract" level style that eventually defined the game, the decision to reject the Aliens IP license in favor of original content, and the frantic final month where network play (Deathmatch) and IPX support were integrated. The talk concludes with the technical hurdles of the December 10, 1993, release, including the crashing of the University of Wisconsin’s FTP servers and the surprising lack of formal version control during production.
DOOM’s Development: A Year of Madness – Technical and Creative Summary
0:53 – Origins and the NeXT Computer (Aug 1991): The team relocated from Louisiana to Madison, Wisconsin. During the 1991 holiday break, John Carmack purchased a NeXT computer for $11,000 (cash on delivery) and learned Objective-C. This environment became the foundation for DOOM's development tools, which were far more advanced than contemporary DOS environments.
3:11 – The Pivot from Commander Keen (Early 1992): After shipping Keen 6, the team abandoned a third trilogy to pursue 3D technology. This led to Wolfenstein 3D, developed in four months. The success of Wolfenstein provided the momentum to start DOOM as their fifth FPS project.
6:18 – The DOOM Bible and WAD Architecture (Nov 1992): Development officially began in Mesquite, Texas. Tom Hall authored the "DOOM Bible," a detailed design document. The ".WAD" file extension was created, standing for "Where’s All the Data," establishing a modular file structure for game assets.
11:06 – Physical Asset Scanning and Weapons: To achieve high-fidelity graphics, the team scanned physical models. Monsters like the Baron of Hell and the Spider Mastermind were sculpted in clay/latex by Greg and Dawn Punchatz. Weapons were based on toys, including a "Tootsie Toy" cap gun for the shotgun and a real "Eager Beaver" chainsaw.
12:09 – Breaking the 90-Degree Barrier: Early level design struggled to move past the 90-degree block walls of Wolfenstein 3D. Romero eventually developed an "abstract" design style (debuting in E1M2) that utilized varying heights, shadows, and non-orthogonal geometry to create a more immersive atmosphere.
15:52 – Rejecting the Aliens License (Mar 1993): 20th Century Fox offered the Aliens IP for a tie-in game. The team rejected the offer within 30 minutes to maintain creative freedom and include their own "demons and monsters" concept.
19:12 – BSP Trees and Technical Optimization (Apr 1993): Complex geometry, such as stairs, caused significant rendering slowdowns. John Carmack solved this by implementing Binary Space Partitioning (BSP) after researching a paper by Bruce Naylor. This optimization became a standard in the 3D gaming industry.
26:54 – Personnel Shift (Aug 1993): Creative director Tom Hall left the company due to creative differences regarding the game's direction. He was replaced by Sandy Petersen, who finished several of Hall's maps and accelerated level production.
28:55 – Sound Integration and DMX (Oct 1993): Because the engine ran in 32-bit mode, the team could not use their old 16-bit sound drivers. They integrated the DMX sound library, allowing Bobby Prince to finalize the iconic soundtrack and sound effects.
32:27 – The Deathmatch Revolution (Nov 1993): Multi-player functionality, including the term "Deathmatch," IPX support, and modem play, were all implemented in the final month of development.
34:42 – Release and Server Collapse (Dec 10, 1993): After fixing a 30-hour-old "freeze" bug in five minutes, the team uploaded the game to the University of Wisconsin FTP server. The sheer volume of users caused the server to crash multiple times before the game successfully propagated globally.
42:44 – Management of Source Code: During the Q&A, Romero revealed the team used no formal version control system. They managed the project using labeled floppy disks and a strict "ownership" policy where developers did not touch files assigned to others, avoiding merge conflicts through manual coordination.
Reviewer Recommendation
Target Audience:
Game Engine Architects: To study the historical implementation of BSP trees and early 3D optimization techniques.
Product Managers/Creative Directors: To analyze the impact of rejecting high-profile IP licenses in favor of original vision.
Software Engineering Historians: To understand the "no version control" workflow of early 90s high-performance software shops.
Aspiring Game Designers: To observe the iterative process of moving from rigid "90-degree" design to "abstract" world-building.