Before id
John Carmack grew up in Shawnee, Kansas, and was arrested at fourteen for breaking into an Apple computer lab at a nearby school. The juvenile judge required psychological evaluation; the evaluating psychiatrist concluded that Carmack lacked empathy in the clinical sense — that other people's emotional states did not register as primary data for him. Carmack has cited this assessment approvingly in interviews, treating it as a description of useful cognitive architecture rather than a pathology. Whether or not the clinical framing was accurate, the practical description fits: Carmack's attention to human systems — social hierarchies, office politics, interpersonal dynamics — was consistently secondary to his attention to technical systems.
He taught himself programming from library books and eventually found work at Softdisk in Shreveport, Louisiana, producing games for their subscription disk service. His productivity was exceptional and his methods unorthodox. Where most programmers of the era worked within established PC graphics conventions, Carmack approached graphics programming as a series of mathematical problems with solutions that he would derive from first principles if necessary. The technique he developed for smooth horizontal scrolling — adaptive tile refresh — was not discovered in a textbook. He worked it out because he wanted smooth scrolling and existing methods didn't provide it.
The technical breakthroughs
The progression of Carmack's graphics engines across the id years is a compressed history of real-time 3D rendering. Each engine solved a problem that the previous one had left open, and each solution defined what was commercially possible for games until the next solution rendered it obsolete.
The Wolfenstein 3D engine (1992) used raycasting: for each vertical column of screen pixels, cast a ray from the player's position in that direction and calculate how far it travels before hitting a wall. The wall height at that screen column is inversely proportional to the ray's travel distance. The technique produced convincing corridors at very high frame rates because it avoided computing actual 3D geometry — walls were always vertical, floors and ceilings were flat planes, and the calculations were simple enough to run quickly on 1992 hardware.
The Doom engine (1993) extended raycasting to support variable floor and ceiling heights, non-perpendicular walls, and outdoor sections, creating environments that felt genuinely architectural. It introduced binary space partitioning — BSP trees — to solve the rendering order problem: which walls and objects are in front of which others, from any player position. BSP trees, a computer science concept from 1969, had never been applied to real-time rendering before Carmack used them in Doom. The technique became standard in game engines for the following decade.
The Quake engine (1996) abandoned raycasting entirely for polygon-based 3D rendering — the approach that all subsequent game engines have used. Quake was the first id game to support OpenGL, running hardware-accelerated 3D on the 3dfx Voodoo graphics card. Players who could afford the $200 Voodoo saw Quake in hardware-rendered texture-mapped glory; players on standard graphics cards saw a software-rendered version that was slower and plainer. Carmack's recommendation to players who wanted the full experience was explicit and characteristic: buy the hardware.
The engine licensing model
id's practice of licensing their engine technology to other studios was not originally planned as a business strategy. Raven Software approached id after Doom shipped, asking to use the engine for a fantasy game. Carmack agreed. The commercial logic became obvious: other studios' licensing fees provided revenue without requiring id to publish or market additional games. id's technical reputation meant that a game built on their engine carried implicit quality signals for the underlying technology.
The Quake engine licensing deals were more formal. Valve licensed it for Half-Life, which became the best-selling PC game of 1998. Raven used it for multiple titles. Sin, Kingpin, and American McGee's Alice all ran on id engines. The licensing fees were significant, but the more important effect was the ecosystem: a generation of PC game developers learned 3D graphics programming on id engines, and the conventions Carmack established in how to structure a game engine — the separation of game logic from rendering, the data-driven approach to levels and assets — propagated through the industry.
Epic Games, watching the same market, built the Unreal engine (1998) on similar principles with better licensing terms and a more developer-friendly architecture. Epic deliberately invested in tools and documentation in ways that id did not, and the Unreal engine eventually displaced id Tech as the dominant licensed engine. Carmack's approach was always to build the technically optimal system and assume that technically optimal systems would find their users. The business of building ecosystems around technical systems was not his primary interest.
After games
Carmack joined Oculus VR as CTO in 2013, eighteen months before Facebook acquired the company. He had been interested in virtual reality since the early 1990s, had built prototypes, and saw the Oculus Rift as the first head-mounted display with specifications he considered adequate for real presence. His departure from id Software was unceremonious — the company he co-founded had been acquired by ZeniMax Media in 2009, and the relationship between Carmack and ZeniMax deteriorated as his attention shifted to Oculus. ZeniMax sued Carmack and Oculus after the Facebook acquisition, claiming he had stolen trade secrets. Carmack denied the allegations.
At Oculus and later Meta, Carmack pursued the same approach he had applied to game engines: identifying the fundamental technical constraints on virtual reality presence and working on solutions from first principles. He has described the rendering latency required for comfortable VR — the delay between head movement and the corresponding change in the displayed image — as the core problem, and has published his work on reducing it. He departed Meta in December 2022, citing the inefficiency of large organisations as incompatible with his working style. His departure note was characteristically direct about what he found frustrating and what he thought the company was failing to do.
Carmack is most accurately understood not as a game designer but as an applied mathematician who worked in games because games provided interesting optimisation problems. When the problems became less interesting — when the graphics challenges he had been solving for a decade became engineering execution rather than mathematical discovery — he looked for the next set of problems. Virtual reality, artificial general intelligence, and rocket propulsion (he founded Armadillo Aerospace in 2000, a private rocket company that operated until 2013) have all attracted his attention as domains with fundamental unsolved problems. Whether he will solve them is an open question. That he will approach them with the same first-principles intensity he brought to the Doom engine is not.