Skip to content
Portrait of John Carmack

John Carmack

Co-founder of id Software (Doom, Quake) and pioneering game engine developer.

By Updated

Who is John Carmack?

Co-founder of id Software (Doom, Quake) and pioneering game engine developer. Later CTO of Oculus VR.

Category
Founder
Born
1970s

Part IThe Story

The Thermite Window

The plan, as David Kushner reconstructs it in Masters of Doom, was clever in the way that only a fourteen-year-old's plan can be clever. A group of boys in suburban Kansas City wanted the Apple II computers sitting inside a nearby school. John Carmack, the smartest of them, worked out how to get through the glass: a paste of thermite and Vaseline that would melt a hole in the window without the noise of breaking it. The chemistry worked. The logistics did not. One of his accomplices could not fit through the opening, reached in to unlatch the window instead, and tripped a silent alarm. The police arrived, Carmack was arrested, and a psychological evaluation went badly enough that he was sentenced to a year in a juvenile home.
It is an odd origin story for a man who would become one of the most admired engineers of his generation, but it contains most of the elements that would define him. He wanted better tools than he was allowed to have. He solved the technical problem first and thought about everything else later. And he had a habit of treating rules as one more constraint to engineer around, a habit that would take decades, a jury trial, and a great deal of money to temper.
Within ten years of that night, Carmack would be the lead programmer of Wolfenstein 3D, Doom, and Quake, the three games that turned the first-person shooter from a curiosity into the dominant genre of PC gaming. He would pioneer real-time 3D techniques that the rest of the industry spent years absorbing, give away the source code to his engines, fund a rocket company out of his own pocket, help bring consumer virtual reality into existence, and then walk away from all of it to work on artificial general intelligence. Through every one of those chapters, the working method stayed the same: find the hardest technical problem in the room, sit with it for as long as it takes, and ship the answer.

By the Numbers

Carmack's Career in Figures

Feb 1, 1991Date id Software was founded in Shreveport, Louisiana
Dec 10, 1993Date the Doom shareware episode was uploaded to the internet
4thCarmack's place in the Academy of Interactive Arts & Sciences Hall of Fame (inducted 2001)
$350,000Lunar Lander Challenge Level 1 prize won by Armadillo Aerospace (2008)
~$2BPrice Facebook agreed to pay for Oculus VR in March 2014
$20MFirst funding round for Keen Technologies, his AGI company (2022)

A Kansas City Kid and an Apple II

John D. Carmack II was born in August 1970 in Shawnee Mission, Kansas, the son of Stan Carmack, a local television news reporter, and his wife Inga. Most references give his birthday as August 20; Carmack himself has said it is the 21st. He grew up in the Kansas City metropolitan area and, like many children of that era, was introduced to video games in arcades. Space Invaders and Pac-Man left deep impressions, and he would later name Nintendo's Shigeru Miyamoto as the designer he most admired.
The machine that mattered was the Apple II. Carmack taught himself to program on it and grew frustrated with how little of it he could access. The frustration was not abstract. The break-in was an attempt to get more hardware, and the year in juvenile detention that followed cost him time he considered precious. He attended Shawnee Mission East High School in Prairie Village, Kansas, and later Raytown South High School across the state line in Raytown, Missouri, where he is listed in the class of 1988.
School did not suit him. He spent a short time at a university in the Kansas City area (accounts differ on which) before withdrawing to program full time as a freelancer. He wrote small games and utilities and sold them to the computer magazines and disk publishers that were then the main outlet for independent programmers. One of those buyers was Softdisk, a company in Shreveport, Louisiana, that shipped monthly collections of software to subscribers. Softdisk liked his work enough to offer him a job.
The move to Shreveport put Carmack in a building with the people who would become his partners. There was John Romero, a prolific, fast-talking programmer and designer who had already published dozens of games. There was Tom Hall, an inventive designer with a comic sensibility. And there was Adrian Carmack, an artist with a taste for the grotesque who, despite the shared surname, was no relation. Softdisk assigned the group to a new, short-lived subscription product for IBM PC users called Gamer's Edge. They were meant to ship a game every couple of months. In practice they treated the office as a laboratory.

Smooth Scrolling and a Letter from Nintendo

In 1990 the IBM PC was a poor machine for action games. Its graphics hardware was built for spreadsheets, and it could not do what the Nintendo Entertainment System did effortlessly: slide a detailed background across the screen at a steady frame rate while characters moved over it. Redrawing the full screen every frame was too slow. Carmack's solution, which he called adaptive tile refresh, was to redraw only the tiles that had changed and to use the display hardware's own scrolling capability to shift everything else. It was a trick of bookkeeping rather than brute force, and it made console-style side-scrolling possible on ordinary PCs.
To prove the point, Carmack and Tom Hall stayed up one night in September 1990 and built a copy of the first level of Super Mario Bros. 3 running on a PC. Romero saw it the next morning and, as he later recalled, immediately wanted to start a company. The group sent the demo to Nintendo in the hope of winning a contract to bring Nintendo's games to the PC. Nintendo declined; it had no interest in its franchises appearing on someone else's hardware. The demo sat in obscurity for decades until a copy surfaced publicly in 2015.
Rejection by Nintendo turned out to be useful. Around the same time, Scott Miller of Apogee Software in Texas had been trying to reach Romero, sending a stream of fan letters under different names because Softdisk screened its employees' mail. When Romero realized all the letters came from one address, Miller explained that he wanted the team to make games for Apogee. Apogee sold through shareware: the first episode of a game was given away and copied freely, and players who wanted more mailed in money for the rest.
The team took the scrolling engine and built Commander Keen in Invasion of the Vorticons, released through Apogee on December 14, 1990. Keen was a hit by shareware standards, and the royalty checks made the math obvious. On February 1, 1991, Carmack, Romero, Adrian Carmack, and Tom Hall formally founded id Software in Shreveport. The name came from the group's earlier moniker, Ideas from the Deep, with letters dropped.
For a while, id was still bound to Softdisk by contract, turning out small games for Gamer's Edge while making Keen episodes for Apogee. In September 1991 the team relocated to Madison, Wisconsin, at Hall's suggestion. The Midwestern winter was miserable, and the group spent it indoors, working. In April 1992 they moved again, this time to Mesquite, Texas, near Apogee, where Miller had agreed to raise their royalty rate so they could concentrate on their next game.

Into the Third Dimension

Carmack had been experimenting with 3D rendering since the Keen days. Hovertank 3D, released through Softdisk in 1991, used a technique called ray casting: for each vertical column of the screen, cast a ray from the player's eye into a two-dimensional map, find the first wall it hits, and draw a vertical slice whose height depends on the distance. Because the map was a flat grid and all the walls were the same height, the computation was cheap enough for the PCs of the day. Catacomb 3-D, released later in 1991, added texture-mapped walls after Carmack saw what Blue Sky Productions was attempting with Ultima Underworld and decided he could get texture mapping without sacrificing speed.
The engine that emerged powered Wolfenstein 3D, which Apogee released as shareware on May 5, 1992. The game dropped the player into a Nazi castle with a pistol and asked them to shoot their way out. It was fast, violent, and unlike anything most PC owners had seen. The design was simple by modern standards: flat floors, uniform ceilings, doors that slid sideways. What made it feel new was that the world moved around the player smoothly enough to create a sense of physical presence. Earlier first-person games, including id's own Catacomb titles, had pointed in this direction. Wolfenstein was the one that found a mass audience.
The game also made id's first real money and first real controversy. Its Nazi imagery ran afoul of German law, and the Super Nintendo port that id later handled had its swastikas, blood, and attack dogs stripped out at Nintendo of America's insistence. The dogs became giant mutant rats. For Carmack, the more consequential outcome of the Super Nintendo port was technical. Wolfenstein's ray caster ran too slowly on Nintendo's hardware, so he went looking for a better approach and found binary space partitioning, a technique from the academic graphics literature that precomputes how a level's geometry divides space. He would soon need it for something much bigger.

Doom

Doom was designed to go beyond everything Wolfenstein could not do. Floors and ceilings could be at different heights. Rooms could be lit unevenly, with flickering lights and dark corners. Walls could meet at any angle. The setting was a military base on a moon of Mars overrun by demons, and the tone was closer to a horror film than a war movie.
Early in development, Carmack's renderer slowed to a crawl on Romero's increasingly elaborate level designs. The fix was the binary space partitioning approach he had first used on the Super Nintendo Wolfenstein. By preprocessing each level into a tree that sorted its surfaces, the engine could walk through the geometry in front-to-back order at run time and draw only what the player could see. Doom became the first game to use the technique, and the choice of an obscure research method to solve a practical speed problem became one of the most retold stories about Carmack's engineering.
The project also broke the original id partnership. Tom Hall had written an elaborate design document for Doom with characters and a story. Carmack thought the story was a distraction from the game he wanted to build, and his view prevailed. Kushner's book records his summary of the matter in terms that have followed him ever since.
Story in a game is like a story in a porn movie. It's expected to be there, but it's not that important.
— John Carmack, quoted in David Kushner's Masters of Doom, 2003
Hall was forced out of the company in August 1993 and joined Apogee's in-house studio, later known as 3D Realms. Sandy Petersen and Dave Taylor were hired to fill the gap.
id published Doom itself, without Apogee, using the same shareware model. At midnight on December 10, 1993, after a final thirty-hour testing session, the team uploaded the first episode to a University of Wisconsin FTP server whose administrator had volunteered to host it. So many people were already waiting that id could not log in, and the upload went through only after other users were kicked off. When it finished, the flood of downloads crashed the server. Within days, university networks were restricting Doom's multiplayer mode because the traffic was swamping them.
That multiplayer mode was one of Doom's quiet revolutions. Up to four players on a local network could cooperate or fight each other in what the team called deathmatch. Another was the decision to separate the game's engine from its data. Levels, sounds, and graphics lived in files that players could replace, and within months a community of amateur designers was producing new levels by the thousands. id encouraged it. Carmack believed players who could modify a game would keep playing it, and that some of them would become the next generation of developers. Many did.
Doom made id rich and Carmack famous. By mid-1994, Kushner reports, he had bought two Ferraris. He also had a reputation for working hours that few colleagues could match and for treating every other concern, from office politics to press requests, as an interruption.

Quake and the Cost of Obsession

For the next game, Carmack wanted a truly three-dimensional world. Doom's levels were fundamentally flat maps with heights attached; you could not stack one room directly above another or look straight up. Quake would have polygonal models, full freedom of movement, and a renderer that treated space in three dimensions. Carmack brought in Michael Abrash, a respected graphics programmer and author, to help with the optimization. Among the techniques Carmack developed was surface caching, which precomputed lit textures so the engine could apply lighting without recalculating it for every pixel each frame.
Quake shipped on June 22, 1996. Its engine was a leap. Its development was, by nearly every account, grim. The team had planned an ambitious game with a new kind of design; the technology took so long that the design collapsed into something closer to a darker Doom in three dimensions. Tension between Carmack, who wanted to focus on the engine and ship, and Romero, who wanted to lead a larger creative vision and was spending time on outside interests, came to a head. Romero left id after Quake's release. Others followed. Carmack later described Quake's development as traumatic and said id could have split the game in two and shipped sooner.
Quake's lasting contribution was the internet. Doom had been a local-network game; Quake was built around a client-server model that let players connect to servers over the internet. A follow-up release, QuakeWorld, added client-side prediction so that players on slow dial-up connections could move without waiting for the server to confirm every step. Clans formed, leagues organized, and an early competitive scene took shape. At the Red Annihilation tournament in 1997, Carmack gave away his own Ferrari 328 as the prize. Dennis Fong, playing as Thresh, won it.
The engine business grew alongside the games. id had licensed its technology since the early Keen days, and the Quake engine became one of the most influential in the industry. Valve's Half-Life was built on a heavily modified version of it, and later id engines powered games in the Call of Duty and Medal of Honor lineages. Carmack professed little interest in running a licensing operation; he preferred building the next engine to supporting the last one. But licensing kept id small, profitable, and independent while its technology spread far beyond its own titles.

The .plan Files and the Open Code

For much of the 1990s and early 2000s, Carmack communicated with the world through a file on id's server. On Unix systems, a user's .plan file was displayed to anyone who ran the finger command against their account, and Carmack used his as a work log and essay page. He wrote about what he was building, which techniques had failed, which graphics hardware he liked, and why. His late-1996 critique of Microsoft's Direct3D interface, and his preference for the open OpenGL standard, was read closely by hardware makers and developers at a moment when the industry was deciding which graphics interface to support.
The same impulse toward openness shaped his view of source code. Carmack released the source for Wolfenstein 3D in 1995 and for Doom in 1997, the latter first under a restrictive license and then under the GNU General Public License in 1999. When Quake's source leaked in 1997 after a licensee was hacked, a programmer named Greg Alexander used it to build a Linux port and sent Carmack his patches. Rather than pursue him, id used the work as the basis of an official Linux version. The source for Quake followed under the GPL in 1999, Quake II in 2001, Quake III in 2005, and Doom 3 in 2011. The rough rule was that an engine's code would be released once it was about five years old and no longer commercially important.
The releases made id's code some of the most studied in the industry. A famously terse routine for computing inverse square roots, which surfaced in the Quake III source and spread across the internet as an example of programming wizardry, was popularly credited to Carmack; when asked, he said he had not written it. Years later he said he wished he had released the code under a permissive BSD-style license instead of the GPL, whose requirements he came to see as a net negative, though he acknowledged his partners would not have agreed.
His stance on software patents was the mirror image of his stance on source code. Carmack regarded patents on programming techniques as a tax on logic. The issue became personal during the development of Doom 3, when a shadow-rendering method he had worked out independently, later nicknamed Carmack's Reverse, turned out to overlap with a patent held by Creative Labs, and id had to resolve Creative's concerns before the game and its engine could ship.
The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.
— John Carmack, Voodoo Extreme interview, 2000

Hardware, Rockets, and the Limits of Software

By the late 1990s, 3D graphics cards had arrived, and Carmack's work shifted from squeezing pictures out of general-purpose processors to exploiting dedicated hardware. Quake II (1997) and Quake III Arena (1999) pushed colored lighting, curved surfaces, and shader effects; Quake III dropped software rendering entirely and required a 3D accelerator. Doom 3, released in August 2004, unified lighting and shadowing across the whole scene in a way that took years for commodity hardware to handle comfortably. After Doom 3, id's pace slowed. Rage, built on a new engine with a texture-streaming system Carmack called MegaTexture, took about six years and arrived in 2011 to a respectful but muted reception.
Carmack's long-standing refusal to name release dates, summed up in the phrase "when it's done," had once been a point of pride at id and was adopted by its partners at Apogee. In a 2019 interview with Joe Rogan he said he now largely rejected that philosophy and that id should have done whatever it took to ship Rage two years earlier. It was a notable reversal for a man whose reputation rested on refusing to compromise.
Around 2000, he picked up a childhood interest in rocketry. He began by funding a few local amateur engineers and soon formalized the effort as Armadillo Aerospace, based in Mesquite. By his own account he spent something north of a million dollars a year of his own money on it. Armadillo built vertical-takeoff, vertical-landing vehicles and iterated on them relentlessly, flying, crashing, and rebuilding. In October 2008 it won the $350,000 first prize for Level 1 of the Northrop Grumman Lunar Lander Challenge, a NASA-funded competition run by the X Prize Foundation, after two years of near misses. In 2009 it completed the harder Level 2 and took a $500,000 second-place prize. Carmack said the aerospace work was simple compared with the software he wrote for games; the difficulty lay in hardware, money, and regulation. In 2013 he put Armadillo into what he called hibernation mode after a vehicle loss and a failure to find outside investment.
Meanwhile, id itself changed hands. In June 2009, ZeniMax Media, the parent of Bethesda Softworks, acquired the company. Carmack stayed on as technical director. The terms included payments to him that would later become the subject of a lawsuit.

The Duct-Taped Headset

In 2012, Carmack became preoccupied with head-mounted displays. He had tried consumer and professional headsets and found them lacking: narrow fields of view, heavy latency, and motion tracking that made people sick. On an enthusiast forum he encountered Palmer Luckey, a teenager from California who had been building prototype headsets with wide-angle lenses and inexpensive phone displays. Luckey lent him a prototype, and Carmack wrote software for it.
At the E3 trade show in June 2012, Carmack showed journalists a headset held together with duct tape and a strap, running a VR-enabled build of Doom 3 BFG Edition. He called it probably the best VR demo the world had ever seen. The coverage helped launch Luckey's Kickstarter campaign for the Oculus Rift that August, which asked for $250,000 and raised about $2.4 million. Carmack's endorsement was a large part of its credibility with developers.
On August 7, 2013, Carmack joined Oculus VR as chief technology officer. On November 22, he resigned from id Software, the company he had co-founded twenty-two years earlier. His explanation was that ZeniMax had not been willing to support the Rift, and he wanted to work on VR full time.
In March 2014, Facebook agreed to buy Oculus for about $2 billion in cash and stock. Mark Zuckerberg described VR as the next computing platform. ZeniMax sued in May 2014, arguing that Oculus had built its product on work Carmack did while at id and on confidential information shared under a non-disclosure agreement. The case went to a jury in Dallas in early 2017. The jury found that none of the defendants had misappropriated trade secrets but awarded ZeniMax $500 million on claims that included breach of the NDA, copyright infringement, and false designation of origin. The court's final judgment found Carmack liable on a conversion claim related to files he had copied, with no damages awarded. Carmack disputed ZeniMax's characterization of his conduct. In 2017 he separately sued ZeniMax for $22.5 million he said was still owed from the id acquisition; the parties settled in 2018, with Carmack stating that ZeniMax had fully satisfied its obligations to him.

Latency, Phones, and the Quest

Inside Oculus, Carmack focused on the problem he considered most fundamental: the delay between a person moving their head and the image in front of their eyes catching up. In games, a few dozen milliseconds of lag is an annoyance. In a headset, it breaks the illusion of presence and can make people ill. Carmack attacked it from every angle, including techniques that warp an already-rendered frame to match the latest head position just before it reaches the display.
He also bet early on mobile VR. Rather than wait for powerful PCs to become common, he worked with Samsung on the Gear VR, a headset that used a phone as its screen and processor. The results were limited, but they taught Oculus how to run VR on mobile chips with strict power budgets. That line of work led to the standalone Oculus Go and then to the Oculus Quest in 2019, a self-contained headset with inside-out tracking that needed no PC and no external sensors. When Carmack left, he wrote that the Quest 2 was almost exactly what he had wanted to see from the beginning.
His relationship with Facebook, later Meta, was more complicated. He stayed in Dallas rather than moving to Menlo Park, worked mostly on technical problems, and delivered long, unscripted keynote talks at Oculus developer conferences that sometimes criticized the company's own priorities. In November 2019 he stepped back to a consulting CTO role so he could spend more time on artificial general intelligence. In December 2022 he left entirely. His internal farewell post, which leaked and which he then published in full, was unusually blunt about the organization he was leaving.
We have a ridiculous amount of people and resources, but we constantly self-sabotage and squander effort.
— John Carmack, internal post on leaving Meta, 2022
In the same post he acknowledged that his limited influence was partly self-inflicted: he could have moved to headquarters and fought battles with leadership, but he had been busy programming and assumed he would hate that kind of work.

Keen

Carmack's interest in artificial intelligence had been growing for years. By his account, it was accelerated in part when Sam Altman tried to recruit him to OpenAI. He declined, and instead began reading research papers with the same concentrated intensity he had once applied to graphics.
In August 2022 he announced that his new company, Keen Technologies, had raised $20 million in a round led by Nat Friedman and Daniel Gross, with participation from Patrick Collison, Tobi Lütke, Sequoia Capital, Capital Factory, and chip designer Jim Keller. The name echoed his first hit. The company was based in Dallas and set out to pursue AGI through a small team rather than the massive compute budgets of the large labs. In September 2023, Keen announced a partnership with Richard Sutton, one of the founders of reinforcement learning, with the stated aim of demonstrating signs of general intelligence by 2030. Sutton and a colleague left in 2026 to start their own lab in Toronto, saying they wanted to take a different research path.
Carmack's public explanations of his approach sound like his descriptions of engine work. He has said he maintained roughly sixty-hour weeks throughout his career and that he periodically takes solitary week-long retreats in a hotel to learn a new field or attack a single problem without interruption. He has argued that small, incremental steps guided by local information are the fastest route to large breakthroughs, and he has compared that process to gradient descent, the optimization method at the heart of modern machine learning.

The Engineer as Institution

The honors arrived steadily. In 2001 Carmack became the fourth person inducted into the Academy of Interactive Arts & Sciences Hall of Fame. He received a lifetime achievement award at the Game Developers Choice Awards in 2010 and the BAFTA Fellowship in 2016, the British academy's highest honor. In 2017 the University of Missouri–Kansas City gave him an honorary doctorate in engineering.
The more telling measure of his influence is how much of his working method became standard practice. Separating engine from content, shipping modding tools, releasing old code, and writing openly about technical decisions were unusual when Carmack did them and are unremarkable now. The first-person shooter, the online multiplayer game, and the licensed game engine all bear his fingerprints. His intolerance for story and his early refusal to set deadlines have aged less well, and he has said so himself.
What remains consistent is the temperament. Carmack is an optimizer in the literal sense. He looks at a system, whether a renderer, a rocket, a headset, or a corporation, and sees wasted cycles. The boy who melted a school window to get at better computers grew into a man who could afford any computer he wanted and still spent his days trying to make them do more with less. The targets changed. The method did not.

Part IIThe Playbook

John Carmack's career is unusually legible as a set of engineering habits, because he wrote so much of his reasoning down in public. The principles below are drawn from how he built id's engines, how he ran Armadillo and his Oculus work, and what he has said in his own logs, talks, and memos. They are the habits of a technical founder who kept his hands on the keyboard for four decades.

Principle 1

Solve the enabling problem before anything else.

Every major id game began with a technical question that, if unanswered, would make the rest of the project pointless. Could a PC scroll like a Nintendo? Could it render texture-mapped walls at playable speed? Could a level have rooms of different heights and still run on a 386? Carmack worked on those questions first, often for months, before design and content work ramped up.
The logic is simple risk management. If the enabling technology fails, everything built on top of it is wasted. By front-loading the hardest problem, Carmack found out early whether a project was viable, and the team built levels and art on a foundation that already worked. The flip side, visible in Quake, is that when the enabling problem takes too long, the design around it can wither.
Tactic: For any new product, name the one technical or operational question that would kill it if the answer were no. Put your best person on it first and set a date by which you will either have an answer or change the plan.

Principle 2

Borrow from the research literature.

Binary space partitioning was not Carmack's invention. It had been described in academic papers and standard graphics textbooks for years. His contribution was recognizing that an obscure technique solved his specific speed problem and implementing it well under severe hardware constraints. The same pattern recurred with texture mapping, lighting, and later with his self-directed study of machine learning.
Practitioners often assume the academic world is too far from their problems to help. Carmack treated papers as a toolbox that most of his competitors were not opening. The advantage came less from brilliance than from the willingness to read dense material and translate it into working code.
Tactic: When a problem resists your usual approaches, spend a day searching the academic literature for it under several names. Someone has often solved a cleaner version already, and adapting it is faster than inventing from scratch.

Principle 3

Prove it with a demo, not a pitch.

The Super Mario Bros. 3 clone did not win id a Nintendo contract, but it convinced the team itself that they could build something commercial, and its technology became Commander Keen. Two decades later, a duct-taped headset running Doom 3 at E3 did more for consumer VR than any slide deck could have. In both cases a working prototype made an abstract claim concrete.
Demos are persuasive because they remove the listener's need to imagine. They also force the builder to confront what actually works, rather than what should work in theory. Carmack's instinct was always to build the thing, however roughly, and let people try it.
Tactic: Before asking for money, partners, or internal approval, build the smallest version that lets someone experience the core idea for themselves. Put it in their hands and say as little as possible.

Principle 4

Separate the engine from the content.

Doom's architecture kept the program that ran the game apart from the files that described its levels, sounds, and graphics. That separation let id's designers work in parallel with its programmers, let players replace the content with their own, and let id license the engine to other studios who wanted to make entirely different games with it.
This is modularity applied to a creative product. The same codebase became a game, a platform for amateur designers, and a licensed product. Each use reinforced the others: licensees and modders stress-tested the engine, and the engine's reputation drew more of both.
Tactic: Look for the part of your product that is generic machinery and the part that is specific content. Draw a clean boundary between them, and ask who else might pay to use the machinery.

Principle 5

Give the community the tools.

id did not merely tolerate players who modified its games; it designed for them. Doom's data files were easy to replace, Quake shipped with a scripting language, and the company released editing tools and documentation. The result was an enormous volume of free content that kept the games alive for years, and a pipeline of amateur designers who went on to professional careers.
Carmack's view was that players who could shape a game would feel ownership of it. That sense of ownership converted a product into a community, and a community into a durable advantage that competitors without the same openness struggled to match.
Tactic: Identify what your most engaged users are already trying to customize. Make that easier officially, publish the formats, and highlight the best work they produce.

Principle 6

Release what no longer earns its secrecy.

Carmack released id's engine source code once it was roughly five years old and no longer commercially important. The code cost id little to give away at that point, and the releases produced ports to new platforms, educational use, goodwill, and a generation of programmers who learned their craft by reading his work.
The principle reflects an honest accounting of what a secret is worth over time. Most proprietary advantages decay. Holding onto them past their commercial life yields nothing, while releasing them can create reputation and influence that outlast the code itself. Carmack's later regret about the GPL shows he also thought about how to release, not just whether.
Tactic: Once a year, list the internal tools, data, or code whose competitive value has faded. Decide which can be published, and choose a license that maximizes the good it can do.

Principle 7

Think out loud in public.

Carmack's .plan files turned private engineering notes into a public conversation. He explained what he was trying, what had failed, and why he preferred one approach over another. Hardware makers read them to anticipate what the most influential game programmer wanted, and developers read them to learn.
Writing publicly forced clarity and created accountability. It also gave Carmack leverage he would not otherwise have had: when he argued for OpenGL over Direct3D, the argument reached the whole industry at once. His Meta departure memo, published in full after it leaked, applied the same candor to organizational problems.
Tactic: Keep a running work log for your current project and share a version of it with the people who depend on your decisions. Explain the reasoning, not just the conclusions.

Principle 8

Protect long blocks of focus.

Carmack has said he sustained roughly sixty-hour weeks for most of his career and has described week-long solo retreats where he isolates himself in a hotel to learn a new field or solve one problem. He treated uninterrupted time as the raw material of his output and guarded it accordingly, including by staying in Dallas rather than moving to Meta's headquarters.
The payoff of deep work in technical fields is nonlinear. Some problems cannot be solved in fragments, because the solver needs to hold the whole system in mind at once. Carmack organized his life around creating those conditions, and accepted the trade-off that he would have less influence over organizational politics as a result.
Tactic: Block at least one multi-hour period each week with no meetings, messages, or notifications, and assign it to your single hardest problem. Once a year, consider a longer retreat dedicated to learning something new.

Principle 9

Iterate on hardware the way you iterate on code.

At Armadillo Aerospace, Carmack applied a software developer's rhythm to rockets: build a vehicle, fly it, watch it fail, fix the failure, and fly again. The company crashed and rebuilt vehicles repeatedly and took years of near misses before winning the Lunar Lander Challenge. The approach was expensive in hardware but cheap in time compared with trying to design a perfect vehicle on paper.
This short-loop approach, closely related to iteration velocity, works best when each test is affordable and teaches something specific. Carmack's willingness to fund the program personally let Armadillo test more often than a conventionally financed venture might have. The limit came when the scale needed for the next step outgrew what one person's money could support.
Tactic: Reduce the cost and time of each test until you can afford to run many. Measure progress by how many informative failures you have survived, not by how long you have spent designing.

Principle 10

Attack the bottleneck the user feels.

In VR, Carmack concluded that latency, not resolution or graphics fidelity, was the problem that most determined whether people felt present or felt sick. He focused his work there, on the gap between head movement and display update, because no amount of visual detail could compensate for a world that lagged behind the viewer.
The discipline is to find the constraint that governs the whole experience and ignore improvements that do not address it, which is the essence of the theory of constraints. Engineers are often drawn to the problems that are most interesting to them; Carmack's strength was identifying the problem that mattered most to the person wearing the headset.
Tactic: Watch real users with your product and note the moment where their experience breaks down. Make that moment your team's primary metric until it stops being the worst part of the experience.

Principle 11

Know when perfectionism becomes a liability.

For years, Carmack refused to commit to release dates, and the policy protected quality in id's early games. By the time of Rage, which took about six years, the same policy had become a trap. Carmack later said he largely recanted and that id should have done whatever it took to ship two years earlier.
The lesson is not that deadlines are always right, but that a principle which serves a small team building its first breakthroughs can hurt a mature company in a crowded market. Time has a cost that compounds, and a perfectionist's standard needs a counterweight.
Tactic: For every open-ended project, set a review date at which you must decide whether to ship what you have, cut scope, or consciously extend. Write down what extending will cost in market position.

Principle 12

Go where the hardest open problem is.

Carmack's career moves track the frontier of difficulty rather than money or status. He moved from 2D to 3D, from software rendering to hardware, from games to rockets, from rockets to VR, and from VR to artificial general intelligence. Each shift meant leaving a position of mastery for one where he was a beginner.
That pattern is risky, and not every bet paid off; Armadillo went dormant, and his VR vision took far longer to reach consumers than he hoped. But it kept him learning and positioned him early in fields that later became important. Mastery in one domain gave him the credibility and resources to start over in the next.
Tactic: Every few years, ask which unsolved problem in or near your field you would most regret not having worked on. If your current role cannot reach it, consider what it would take to move.

Free playbook

Get The Business Model Playbook

58 business models, one visual page each: how the money flows, the metrics that matter, and who runs it. Free when you join the Faster Than Normal email.

Free. No spam. Unsubscribe anytime.

Part IIIMaxims

  • The fastest code is the code you never run. Doom's renderer won by working out what the player could not see and skipping it. Most performance gains come from avoiding work rather than doing it faster.
  • A constraint is a design brief. The PC's weak graphics hardware produced adaptive tile refresh, and the Super Nintendo's weaker chip led Carmack to binary space partitioning. Limits force invention that abundance never would.
  • Credit travels faster than facts. The fast inverse square root routine is still attached to Carmack's name despite his saying he did not write it. Reputations absorb stories that fit them, so correct the record yourself.
  • Patents on logic punish the people who think. Carmack's objection was that independent reasoning could leave a programmer unable to use his own work. Weigh the chilling effect before you file.
  • Money is fuel for experiments. Carmack put his game earnings into a self-funded rocket company, spending by his own account more than a million dollars a year. Wealth is most useful when it buys the freedom to try things no one else will fund.
  • Distance from headquarters has a price. Staying in Dallas protected Carmack's focus and cost him influence at Meta, a trade he later called self-inflicted. Choose your proximity to power deliberately.
  • Admit it when your rule has expired. Carmack publicly abandoned "when it's done" once he saw its cost. Changing your mind in the open is how principles stay useful.
  • Partnerships break over priorities, not personalities. The split with Tom Hall was about story versus technology, and the split with John Romero about focus. Agree on what matters most before the pressure arrives.
  • Beginners with a method beat experts without one. Carmack entered rocketry, VR, and AI as a novice each time. A reliable way of learning transfers across fields better than any single body of knowledge.

In Their Own Words

The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used to hurt anyone? Now that's the idealistic vision of the world.
— John Carmack
The cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. Sure, any given feature list can be implemented, given enough coding time. But in addition to coming out late, you will usually wind up with a codebase that is so fragile that new ideas that should be dead-simple wind up taking longer and longer to work into the tangled existing web.
— John Carmack
Focused, hard work is the real key to success. Keep your eyes on the goal, and just keep taking the next step towards completing it. If you aren't sure which way to do something, do it both ways and see which works better.
— John Carmack
Programming is not a science. Programming is a craft.
— John Carmack
Low-level programming is good for the programmer's soul.
— John Carmack
The speed of light sucks. It's way too slow for real-time applications.
— John Carmack
I have fond memories of the development work that I did on these systems and I believe that these games are still fun to play, so I am happy to release the source code to the community.
— John Carmack
The situation is that in the modern world, the amount of information that any individual has to absorb in order to be effective at their job is getting larger and larger, and the rate at which new information is generated is accelerating.
— John Carmack
I'd rather have a search engine or a compiler on a deserted island than a game.
— John Carmack
The good thing about standards is that there are so many to choose from.
— John Carmack
I recognize that I possess a very special intellect, but at the same time, I recognize that I'm probably not one of the giant intellectual minds of history.
— John Carmack
It's nice to have a game that sells a million copies.
— John Carmack
The Xbox 360 is the first console that I've ever worked with that actually has development tools that are better for games development than what we can get on PC.
— John Carmack
VR is going to be important. It's going to be a big deal. But it's not going to be everything, everywhere, for everyone.
— John Carmack
The latency requirements for VR are really strict. If you're off by even 20 milliseconds, people will start to feel sick.
— John Carmack
I do think that a significant portion of the population of developed countries, and eventually all countries, will have AR experiences every day, almost all day.
— John Carmack
I am a big believer in the value of traveling while you're young. The experiences you have in other countries can inspire greatness.
— John Carmack
The scientific method is the most reliable way we have for understanding the world around us. But it requires intellectual honesty.
— John Carmack
Sometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function.
— John Carmack
At its best, entertainment is going to be a subjective thing that can't be measured objectively. But at its worst, it's going to be the kind of thing where you can take a Clancy book and tear out the pages, and then the next 10 people read a beautiful book.
— John Carmack

Further reading

Continue exploring

Related people

Ideas connected to this profile