John Carmack

Everything About Fiction You Never Wanted to Know.
/wiki/John Carmackcreator

Pick a computer game from the past few years. Any one. Like, seriously, just name one.

There's a very good chance this man is responsible for the technology that makes that game run. There's a reasonable chance it even includes some of his code.

John Carmack is a game programmer (slash aerospace engineer) who works for Id Software. He co-founded the company with John Romero, and was the lead programmer for almost every game that company made.

He worked on a huge number of games in his prime (see the other wiki), but in later years his productivity declined due to having a second job as the owner of Armadillo Aerospace and then at Oculus. His most notable games, usually because they included groundbreaking technology that he pioneered, are listed below:

  • Commander Keen (1990): The "adaptive tile refresh" approach combined dirty rectangles, or redrawing only tiles that have changed since the last time the screen was drawn, with a single scrolling plane. It allowed cheap DOS computers to catch up with specialized console hardware.[1]
  • Wolfenstein 3D: Popularized raycasting (the technique itself is much older than Wolfenstein 3D). Allowed cheap DOS computers to compete with specialized console hardware. [2]
  • Doom: Vastly improved raycasting using techniques like blockmapping and binary search partition trees. Codified the FPS genre. Allowed cheap DOS computers to compete with specialized console hardware. (You might be noticing a pattern.)[3]
  • Quake: Invented surface caching, an essential part of full polygonal 3D. Used 16×1-pixel tessellation for perspective correction. Improved binary search partition trees. Was the first FPS to have fast enough netcode to be playable online (previous ones could only really be played over LAN). Supported a mod community that is still active today. Allowed cheap DOS computers to compete with specialized console hardware.[4]

Oh, and that bit about modern games including his work? That's not exaggeration - a lot of the technologies he developed, especially BSP trees, are practically essential to modern video games, even on consoles. And he's still at it - do a search for "sparse voxel octrees" if you want to see what the next generation of video game graphics will look like.

  1. For perspective, the Super Famicom was released only one month prior in Japan.
  2. For perspective, Super Mario Kart was released a couple months later.
  3. For perspective, Star Fox was released only 10 months before Doom.
  4. For perspective, the Nintendo 64, the first major console with perspective-correct polygonal 3D support, came out in Japan the same month. It couldn't handle textures as big as Quake's, and certainly couldn't handle running at 60 fps.