Carmack: id's post-Quake mistake was building tech, not a company

5 min read 1 source clear_take
├── "id Software's fatal error was splitting engineering into parallel product tracks that halved shipping cadence without doubling output"
│  └── John Carmack (X/Twitter) → read

Carmack argues that running Quake II and Quake III on separate codebases with separate art pipelines and design philosophies fragmented a team too small to support two parallel tracks. Neither team had the bench depth to ship cleanly, which slowed id's cadence at the exact moment competitors were accelerating.

├── "Indiscriminate engine licensing instead of strategic partnerships gave away id's competitive moat"
│  └── John Carmack (X/Twitter) → read

Carmack now regards id's policy of licensing the Quake engine to anyone who could pay as a strategic error — it commoditized id's core technical advantage rather than concentrating it behind a few partners who could build category-defining products. Valve's use of the GoldSrc fork to ship Half-Life is the canonical example of a licensee eating id's lunch in id's own genre.

└── "id operated as a research lab that shipped games, while competitors operated as product companies — and product companies won"
  ├── John Carmack (X/Twitter) → read

Carmack characterizes id's identity problem as treating game shipping as a side effect of engine R&D, rather than treating R&D as a means to ship great products. Valve, Epic, and Blizzard were building durable companies and franchises while id was building demos of technical superiority.

  └── top10.dev editorial (top10.dev) → read below

The editorial frames Carmack's post as a case study in confusing technical leadership with market leadership — id had the best technology in the industry for most of a decade and it didn't matter because competitors were building companies, not engines. This failure mode recurs across technical companies far beyond gaming.

What happened

John Carmack posted a rare bit of post-mortem on X this week, looking back at the years immediately after Quake's 1996 release and naming what he thinks broke id Software's trajectory. The thread isn't a confession — Carmack rarely does those — but it is unusually specific about decisions he now regards as mistakes: splitting the engineering team into two parallel product tracks (Quake II and Quake III), licensing the engine to anyone who could pay rather than picking a few strategic partners, and treating id as a research lab that occasionally shipped games rather than a product company that occasionally did research.

The throughline of Carmack's reflection: id had the best technology in the industry for most of a decade, and it didn't matter, because Valve, Epic, and Blizzard were building companies while id was building engines. The post lands at 513 points on Hacker News, which is high for a retrospective tweet with no news peg, and the comment section is the usual mix of ex-id people, ex-Epic people, and engine programmers who have spent twenty years arguing about this exact question.

The specific failures Carmack names are concrete. The Quake II team and the Quake III team were running in parallel on separate codebases, with separate art pipelines and separate design philosophies — one a single-player military shooter, the other a stripped-down multiplayer arena. Carmack now says this halved id's shipping cadence without doubling output, because the two teams were small enough that neither had the bench depth to ship cleanly. Meanwhile, Valve took the GoldSrc fork of the Quake engine, built Half-Life on top of it, and ate id's lunch in the single-player FPS market that id had invented.

Why it matters

The Carmack post is being read on HN as a gaming-industry war story, but it's actually a clean case study in a failure mode that recurs in every technical company: confusing technical leadership with market leadership. id in 1997 had the best renderer, the best networking code, and arguably the best programmer alive. It also had no product strategy, no franchise discipline, and a business model — engine licensing — that subsidized competitors who would then out-ship them.

Compare the trajectories. Valve in 1998 was a startup with no engine of its own. They licensed Quake tech, hired a writing team, built Steam five years later, and are now privately held at a valuation that nobody can pin down because they've never needed outside money. Epic in 1998 was a shareware shop. They built Unreal, then Unreal Tournament, then licensed the engine aggressively but kept the franchise, then pivoted to Fortnite, and now the Unreal Engine is the default 3D pipeline for film, architecture, and automotive. Both companies treated technology as a means. id treated it as the end.

The HN comments include several from people who were inside the studio. The recurring theme is that id's engineering culture was so dominant that design and production were structurally subordinate — design existed to give the engine something to render. This worked when the engine was so far ahead that any game built on it would sell, which was true through Quake. It stopped working the moment Half-Life shipped, because Half-Life proved that a slightly older engine wrapped in a better game beat a better engine wrapped in a worse game. id never fully internalized this, and the Doom 3 / Rage / Doom 2016 arc is the long unwinding of that initial misallocation.

The Broadcom-style insight here is that vertical integration of "we make the thing AND the thing that makes the thing" only pays off if you have the org headcount to do both well. id at its peak had roughly 25 people. Valve had several hundred by the time Half-Life 2 shipped. You cannot simultaneously be the best engine company and the best game company at 25 heads, and Carmack is now saying — twenty-five years later — that the team should have picked one.

What this means for your stack

If you're running a small engineering org, the directly transferable lesson is about team splits. Carmack's specific regret is that the Quake II / Quake III split looked like parallelism and was actually fragmentation. Two teams of 8 don't ship twice as fast as one team of 16; they ship roughly the same amount, with two codebases to maintain, two release cadences to coordinate, and twice the surface area for the bus factor to bite. The heuristic: don't split a team until each half has enough senior engineers to survive losing one of them. Below that bar, you're not parallelizing, you're just halving your effective throughput and doubling your maintenance load.

The second lesson is about platform-vs-product. If you're building infrastructure that other teams (or other companies) consume, you have to make a real choice about whether the platform is the business or a means to the business. AWS made the choice (platform is the business, Amazon retail is a customer like any other). id never made it cleanly — they licensed the engine for revenue but treated it as a side hustle, which meant licensees got worse support than they should have, and the engine evolved to serve id's next game rather than the licensee ecosystem. The pattern repeats today in every startup that ships an open-source core and a SaaS product without deciding which one funds which.

The third lesson is on technical debt as a competitive asset. Carmack's instinct was always to rewrite — Quake, Quake II, and Quake III each had substantially different engines. Valve's instinct was to fork and extend — GoldSrc became Source, Source became Source 2, but the underlying lineage runs unbroken from a 1996 codebase. Forking and extending is uglier, but it accumulates institutional knowledge in the code itself. Rewriting throws that knowledge away every cycle.

Looking ahead

Carmack is currently running Keen Technologies on AGI, which is a domain where the same trap is wide open: every well-funded lab has the best tech for a six-week window, then someone else does. The companies that will still be standing in 2030 are the ones that figure out, before they have to, whether they're a research lab, a product company, or a platform — and structure their headcount, release cadence, and customer relationships accordingly. id's mistake was waiting until 2009 to answer that question. The current generation does not have that much runway.

Hacker News 546 pts 268 comments

John Carmack on the mistakes around Quake that ruined id software

→ read on Hacker News
starkparker · Hacker News

"Sorry, Sandy"Sandy Petersen's side of it comes out in a few interviews, like https://medium.com/@unkndoomer/back-to-the-past-e3c421fb2e70 and https://www.youtube.com/watch?v=MUeu96TKQwU (especially 14:17 onward)

Waterluvian · Hacker News

I don’t believe the ends justify the means and I respect his perspective on these regrets. I wonder if he’s kind of looking back from a position of assumed success. Would Quake have succeeded on a Doom++ engine?I remember feeling that Quake was something remarkably different from Doom, mainly becaus

tejohnso · Hacker News

Quake III Arena was pretty entertaining. Doesn't seem like it came from a company that had been ruined for years.I definitely noticed something around the Doom 3 release many years after Quake III Arena. The new game just didn't seem to have the same industry pushing, genre changing energy

ChrisMarshallNY · Hacker News

> I pushed everyone too hard. I didn’t appreciate how maturing companies need more slack, and that running people at startup intensity constantly will wear them out.Sounds like wisdom many companies might consider...

rustyhancock · Hacker News

> So if my theorem is correct, and Quake gutted id Software, was it worth it? Well I'd say yes absolutely. Games are more important than game companies, and Quake is an iconic titan of the gaming world.Sandy's quote here buried unfortunately by X.

// share this

// get daily digest

Top 10 dev stories every morning at 8am UTC. AI-curated. Retro terminal HTML email.