John Carmack receiving his GDC Lifetime Achievement Award in 2010.

John Carmack

Engine Programmer of Doom and Quake

id Software’s engine programmer, who kept asking what a PC could draw before the next frame, then took that measuring habit into rockets, VR and AI.

Precompute the View
Moves work out of the frame: Doom’s BSP tree and Quake’s visibility sets are built before anyone plays.
Twenty Milliseconds
Counts latency from hand to screen, from QuakeWorld’s client prediction to VR’s motion-to-photons budget.
Ship the Source
Released the Doom and Quake engines’ code, with notes on his own mistakes, for others to study and rebuild.

John Carmack

Engineer of Real-Time Worlds

Start hereDoomid Software team; engine programming by John CarmackExplore project

John Carmack is the programmer who, at id Software, wrote the engines beneath Wolfenstein 3D, Doom and Quake. His recurring move was to find what a frame of animation could not afford to calculate, and calculate it somewhere else: in hardware registers, in a map compiled before play, in a cache, or on the player’s own machine while the server caught up. Because id released much of that code, and because he wrote down his reasoning in public .plan files, you can watch the decisions being made and see on screen what they bought. The games were team work; the engines are where his hand is clearest.

1970–1990

Scrolling a screen without redrawing it

Carmack was born in 1970 in Shawnee Mission, Kansas, and went to high school in the Kansas City suburbs. The best-known story of his adolescence is not flattering: at fourteen he joined an attempt to steal Apple II computers from a school, was caught, and spent a year in a juvenile home, as David Kushner recounts in Masters of Doom. After two semesters at the University of Missouri–Kansas City he left to program freelance, and work for Softdisk, a disk-magazine publisher, became a job at its office in Shreveport, Louisiana. There he worked beside John Romero, the designer Tom Hall and, later, the artist Adrian Carmack, who is not a relative.

His first celebrated trick answered a narrow question: could an ordinary EGA PC scroll a game world as smoothly as a Nintendo console? Redrawing all 320×200 pixels every frame was too much for the PC’s bus. Fabien Sanglard’s reconstruction of what is now called adaptive tile refresh shows the alternative. Keep a slightly larger picture in video memory; move the display by changing the card’s start address, in 8-pixel steps, and its pixel-panning register for the remainder; and when the view reaches the edge, redraw only the 16×16 tiles that differ from what is already there. Level designers helped by repeating tiles. For the player, the result was a side-scrolling world that moved without the PC’s usual judder.

In September 1990 Carmack and Hall used the technique overnight to rebuild the first level of Super Mario Bros. 3 with Romero’s Dangerous Dave character: an internal joke demo called Dangerous Dave in Copyright Infringement. Nintendo declined a PC Mario, but Scott Miller of Apogee offered an advance for an original shareware game. Commander Keen, designed by Hall and programmed by Carmack and Romero in nights away from their Softdisk jobs, went out in December 1990. Sanglard notes that only the first Keen trilogy used the tile trick; for the second, Carmack let the start address drift and wrap around video memory, drawing only the new leading edge.

Major games and software projects

  • 1992 · id Software team; lead programming by John Carmack

    Wolfenstein 3D

    Explore & play

    About this object

    PC CD-ROM · later retail reissue. A Dæmon display study using artwork from the work, rather than a reproduction of its retail label. A physical edition of this work is represented. The printed face uses existing work artwork as an interpretation, rather than claiming to reproduce that edition’s original label. A later PC CD-ROM edition is represented; the original 1992 game distributed on floppy disks.

    Artwork source · Physical edition

  • 1993 · id Software team; engine programming by John Carmack

    Doom

    Explore & play

    About this object

    PC CD-ROM · The Ultimate Doom edition. A Dæmon display study using artwork from the work, rather than a reproduction of its retail label. A physical edition of this work is represented. The printed face uses existing work artwork as an interpretation, rather than claiming to reproduce that edition’s original label. This is the later 1995 Ultimate Doom retail CD edition, including the original Doom episodes; the shelf dates the 1993 work.

    Artwork source · Physical edition

  • 1996 · id Software team; lead programming by John Carmack

    Quake

    Explore & play

    About this object

    PC CD-ROM. A Dæmon display study using artwork from the work, rather than a reproduction of its retail label. A physical edition of this work is represented. The printed face uses existing work artwork as an interpretation, rather than claiming to reproduce that edition’s original label.

    Artwork source · Physical edition

  • 1997 · id Software team; technology direction by John Carmack

    Quake II

    Explore & play

    About this object

    PC CD-ROM. A Dæmon display study using artwork from the work, rather than a reproduction of its retail label. A physical edition of this work is represented. The printed face uses existing work artwork as an interpretation, rather than claiming to reproduce that edition’s original label.

    Artwork source · Physical edition

  • 1999 · id Software team; technology direction by John Carmack

    Quake III Arena

    Explore & play

    About this object

    PC CD-ROM. A Dæmon display study using artwork from the work, rather than a reproduction of its retail label. A physical edition of this work is represented. The printed face uses existing work artwork as an interpretation, rather than claiming to reproduce that edition’s original label.

    Artwork source · Physical edition

  • 2004 · id Software team; lead engine programming by John Carmack

    Doom 3

    Explore & play

    About this object

    PC DVD-ROM · later BFG Edition. A Dæmon display study using artwork from the work, rather than a reproduction of its retail label. A physical edition of this work is represented. The printed face uses existing work artwork as an interpretation, rather than claiming to reproduce that edition’s original label. This represents the later 2012 BFG retail edition rather than the original 2004 CD set.

    Artwork source · Physical edition

Engineering beyond games