October 18, 2013
Masters of Doom is the story of John Carmack and John Romero creating the seminal games Wolfenstein 3D, Doom, and Quake.
It's an amazing work on so many levels – but primarily because of the exhaustive research the author undertook to tell this story.
To re-create the story of the Two Johns, I conducted hundreds of interviews over six years, often with each person on multiple occasions. After moving to Dallas in the fall of 2000 for research, I became known in offices, barbecue joints, and bars around town as “the guy writing the Book.” John Romero and John Carmack each spent dozens of hours in person answering my most picayune questions: how they were feeling, what they were thinking, what they were saying, hearing, seeing, playing. What they and others couldn’t recall, I unearthed from websites, newsgroups, e-mails, chat transcripts, and magazines (though I drew from some of these articles, I made a point of getting the gamers’ own versions of what happened as well). I also played a delirious amount of games: at home, online, and at a couple tournaments (yeah, I lost).
I spent six months transcribing all my taped interviews. From this material, I assembled a narrative of dialogue and description that re-creates the events as faithfully and accurately as possible. As often as appropriate, I told the story from each person’s point of view to give readers the different perspectives.
It's unusual to find a book about a contentious, complex friendship and business relationship that both parties sign off on – and even a decade later, regularly recommend to people interested in their personal back stories. But it is a testament to just how right Kushner got this story that both Romero and Carmack do. This is exactly the sort of meticulously researched, multiple viewpoint biography that you'd want to read about important people in your industry. In that sense, it's kind of the opposite of the Jobs biography, which I liked well enough, but it presented one viewpoint, and often in a very incomplete, sloppily researched way. I would kill to read a book this good about Jobs.
In a way, I grew up with these guys. I am almost exactly the same age they are. I missed the Wolfenstein 3D release because I was still in college, but come December 1993, there I was, bursting with anticipation waiting for the release of Doom along with every other early PC gamer. And who gave Doom its name? Oddly enough, Tom Cruise did.
I've had a lifelong love affair with first person shooters since encountering Wolf3D and Doom. I played about every Doom engine game there was to death. I even had a brief encounter with Romero himself on the modem based multiplayer hub DWANGO where I proverbially "sucked it down". And after the Internet hit around '95, I continued to follow Quake development obsessively online, poring over every .plan file update, and living the drama of the inevitable breakup, the emergence of GLQuake and 3D accelerators, and the road to Quake 3.
It is also an incredibly inspiring story. Here's a stereotypical group of geeky programmers from sketchy home backgrounds who went on to … basically create an entire industry from scratch on their own terms.
Shareware. Romero was familiar with the concept. It dated back to a guy named Andrew Fluegelman, founding editor of PC World magazine. In 1980, Fluegelman wrote a program called PC-Talk and released it online with a note saying that anyone who liked the wares should feel free to send him some “appreciation” money. Soon enough he had to hire a staff to count all the checks. Fluegelman called the practice “shareware,” “an experiment in economics.” Over the eighties other hackers picked up the ball, making their programs for Apples, PCs, and other computers available in the same honor code: Try it, if you like it, pay me. The payment would entitle the customer to receive technical support and updates.
The Association of Shareware Professionals put the business, largely domestic, between $10 and $20 million annually—even with only an estimated 10 percent of customers paying to register a shareware title. Forbes magazine marveled at the trend, writing in 1988 that “if this doesn’t sound like a very sound way to build a business, think again.” Shareware, it argued, relied not on expensive advertising but on word of mouth or, as one practitioner put it, “word of disk.” Robert Wallace, a top programmer at Microsoft, turned a shareware program of his called PC-Write into a multimillion-dollar empire. Most authors, however, were happy to break six figures and often made little more than $25,000 per year. Selling a thousand copies of a title in one year was a great success. Shareware was still a radical conceit, one that, furthermore, had been used only for utility programs, like check-balancing programs and word-processing wares. [Shareware] had never been exploited for games.
Does anyone even remember what shareware is? What is the equivalent to shareware today? Distributing software yourself on the Internet? Sort of. I'd say it's more analogous to the various app stores: Google Play, Apple App Store, Windows Store. Going directly to the users. But they found shareware games didn't work, at least initially:
When it came time to distribute the games, Scott took a long, hard look at the shareware market. He liked what he saw: the fact that he could run everything himself without having to deal with retailers or publishers. So he followed suit, putting out two text-based games in their entirety and waiting for the cash to roll in. But the cash didn’t roll; it didn’t even trickle. Gamers, he realized, might be a different breed from those consumers who actually paid for utility shareware. They were more apt simply to take what they could get for free. Scott did some research and realized he wasn’t alone; other programmers who had released games in their entirety as shareware were broke too. People may be honest, he thought, but they’re also generally lazy. They need an incentive.
Then he got an idea. Instead of giving away the entire game, why not give out only the first portion, then make the player buy the rest of the game directly from him? No one had tried it before, but there was no reason it couldn’t work. The games Scott was making were perfectly suited to such a plan because they were broken up into short episodes or “levels” of play. He could simply put out, say, fifteen levels of a game, then tell players that if they sent him a check he would send them the remaining thirty.
You know how game companies spent the last 5 years figuring out that free games with 100% in-app purchases are the optimum (and maybe, only) business model for games today? The guys at id had figured that all out twenty seven years ago. Those sounds you hear in the distance are a little bit of history repeating.
Id Software was more than a unique business model that gave almost all the power to the programmers. It was the explosive combination of shareware delivery with a particular genius programmer inventing new techniques for PC games that nobody had seen before: John Carmack. It may sound prosaic and banal now, but smooth scrolling platforming, texture mapped walls, lighting models, and high speed software 3D rendering on a PC were all virtually unheard of at the time Carmack created the engines that made them commonplace.
Carmack, like Abrash, is a legend in programming circles, and for good reason. The stories in this book about him are, frankly, a little scary. His devotion to the machine borders on fanatical; he regularly worked 80 hour weeks and he'd take "vacations" where it was just him and a computer alone in a hotel room for a whole week – just for fun, to relax. His output is herculean. But he also realizes that all his hard work is made possible by a long line of other programmers who came before him.
Al had never seen a side scrolling like this for the PC. “Wow,” he told Carmack, “you should patent this technology.
Carmack turned red. “If you ever ask me to patent anything,” he snapped, “I’ll quit.” Al assumed Carmack was trying to protect his own financial interests, but in reality he had struck what was growing into an increasingly raw nerve for the young, idealistic programmer. It was one of the few things that could truly make him angry. It was ingrained in his bones since his first reading of the Hacker Ethic. All of science and technology and culture and learning and academics is built upon using the work that others have done before, Carmack thought. But to take a patenting approach and say it’s like, well, this idea is my idea, you cannot extend this idea in any way, because I own this idea—it just seems so fundamentally wrong. Patents were jeopardizing the very thing that was central to his life: writing code to solve problems. If the world became a place in which he couldn’t solve a problem without infringing on someone’s patents, he would be very unhappy living there.
In that spirit, Carmack regularly releases his old engines under GPL for other programmers to learn from. Don't miss Fabien Sanglard's epic deconstruction of the Doom 3 codebase, for example. That's only one iteration behind the current id engine which was used for Rage and (apparently) will be used for the upcoming Doom 4.
One of my very favorite quotes of all time comes at the end of the book.
Carmack disdained talk of highfalutin things like legacies but when pressed would allow at least one thought on his own. “In the information age, the barriers just aren’t there,” he said. “The barriers are self-imposed. If you want to set off and go develop some grand new thing, you don’t need millions of dollars of capitalization. You need enough pizza and Diet Coke to stick in your refrigerator, a cheap PC to work on, and the dedication to go through with it. We slept on floors. We waded across rivers.”
And indeed they did, as the book will attest. Both @ID_AA_Carmack and @romero are still lifelong, influential, inspiring members of the game and programming communities. They are here for the long haul because they love this stuff and always have.
The ultimate point of Masters of Doom is that today you no longer need to be as brilliant as John Carmack to achieve success, and John Carmack himself will be the first to tell you that. Where John was sitting in a cubicle by himself in Mesquite, Texas for 80 hours a week painstakingly inventing all this stuff from first principles, on hardware that was barely capable, you have a supercomputer in your pocket, another supercomputer on your desk, and two dozen open source frameworks and libraries that can do 90% of the work for you. You have GitHub, Wikipedia, Stack Overflow, and the whole of the Internet.
All you have to do is get off your butt and use them.
Posted by Jeff Atwood
I recently quit my job to make my game, and I was told today by a friend, "Starting a business is hard even when you're doing well financially. I don't know how you're going to manage it."
This was a good thing to read, after that.
I've read this book 7 years ago and I loved it. I found it inspiring and I've recommended it to all of my friends. Quite a few of them bought it and loved it as well. This is really a great book, from time to time I come back to it and read again a few chapters.
Since then I've tried to find other books like this one but without success. "Accidental Empires" from Cringely is also quite good and in the same vein.
If only more people thought the same about patents, the world would be a better place...
Surprised re patents that you didn't mention the 'carmacks reverse' shadow mess. The publicly available Doom 3 sources are missing the shadow implementations - presumably because of this.
You have a little typo: its not Robert Wallace the programmer at Microsoft and the creator of the word processing program PC-Write but Bob Wallace .
I take away the main point as "everything is possible".
But as some people have commented on HN, one can make it only when one thinks one can make it - there must be some inner voice that tells the person that he/she would make it.
Thanks for a nice post.
"You know how game companies spent the last 5 years figuring out that free games with 100% in-app purchases are the optimum (and maybe, only) business model for games today? "
Only, it's not remotely obvious that's true.
Oh, it's a great model for *small* games, or some sorts of (typically annoying to play) MMO. ("Free to play" tends to shade to "Pay to win", which is not fun...)
But the games I've most enjoyed and played the most of in recent memory wouldn't gain a damned thing from that. I can't imagine Fallout or Elder Scrolls or Civilization being improved or selling better on that model, for instance.
"The new hotness" is not the same as "the only workable model" - just like iOS/Android gaming is not going to Be The Only Gaming.
"All you have to do is get off your butt and use them."
There are two types of people. The type that sits on their butts playing the things that the other type got off their butts and created.
Having a lot of resources and code already available can be at the same time a huge advantage and a disadvantage. Creativity oftentimes comes from limitation. The limitations Carmack and Romero were working with were huge not only in terms of hardware but also in terms of technique. The idea to use raycasting to render the graphics in Wolfenstein was brilliant and would not have been conceived had there been 3d hardware and 3d libraries.
With 90% of the problem solved, the question is, how compelling is the other 10%? And how costly? What is left as a real challenge to the programmer today that would motivate him or her to sit for months or years and create a novel game, especially given the high likelihood of little payoff and stiff competition? Carmack and Romero were breaking new ground both technologically and in game design. Another FPS (or any other genre) game today is not going to do so. It seems there is less and less new ground to break these days and much more aggregation of different libraries and frameworks to recreate the same games over and over again. While new gameplay techniques do emerge, the world of PC gaming has hardly seen any new innovations in the GPU / OpenGl, DirectX / Unreal Engine / etc. era other than incremental increases in image quality. Audio and controls fare even worse.
I wonder if today's "Carmack and Romero" would be able to pull something as brilliant as Wolfenstein if they started today. I hardly think so, even starting with millions and a lot of luck. The palette of tools may have been expanded, but the canvas has shrunk to infinitesimal proportions.
The context is not exactly clear from the extract, so one might think the (about) 25,000$ per year most shareware authors were making was barely sufficient to make a living; but if we assume these are 1988 dollars, it amounts to about 50,000$ in today's dollars, which ain't bad.
I kind of agree with Lucian303 (see a couple of posts above)
IMHO, while today it's easier to obatain a certain result because most libraries/framework already exist, i think it's still very difficul to do something that does not already exist.
The internet is a great tool that allows to share code, experience, etc. but at the same time it makes you compete with the whole world. I think it's a relevant factor that other non-software business do not have, or are affected by a minor degree.
Also, making a game nowaday is different than years ago. We now expect to see high-resolution graphics, 3D, sounds effects, etc. This requires lots of people involved in the development of high-end games. No indie developer would be able to deliver Assassins Creed or GTA V alone or with a couple of colleagues.
Yes, you can still make Doodle Jump and small games like that and make some money with them, but it's not what Wolf3D/Quake/Doom were at the time. And you can expect someone else to copy your idea in a shorter amount of time due to that "90% of work already done" and bigger competition.
These are my opinions of course.
I'd be happy to ear people considerations too.
Lately I've been pondering the similarities between mobile app development of today and shareware back in the day. What I think about is how shareware was really pretty big and many individual developers where putting out all kinds of little programs. I think that's what mobile app development is like right now.
I also think that you had a few shareware developers who really hit it big, but by far most shareware developers just making a little extra scratch. I suspect the same is true in mobile development.
Ultimately, I think we'll move past this preoccupation with the sheer number of mobile apps available (I think we've already rounded the bend actually) and the focus on crazy amounts of mobile apps will level off.
I think that shareware developers, who cut their teeth programming their own software, eventually transitioned into jobs where they wrote software for corporate overlords will also happen for mobile developers. All the skills developed writing personal mobile apps will transition into job skills for companies looking for programmers to move their LOB apps into the mobile space.
"What is the equivalent to shareware today?"
There are still alternative solutions like flattr.com. And in video games, there are innovative ideas like the Humble Bundles.
I also loved that book. Thanks for publicizing it.
This is one of my all time favorite books. I have re-read it 6 times. It's a great inspiration tool when starting a new project/venture.
Richard Stallman, well-known critic of software patents, stated that he could probably live with software patents if they lasted no longer than five years. I agree with this. After all, pharmaceutical patents only last seven years, and the computer industry moves at a much faster clip than that.
I love to read book. I have read a lot. But I think this book is still a very good one. Besides reading book,I have known many good obd2 tools at http://www.obd2life.com
That book is one of my favorites too, but it has an overhyped, hero-worshipping tone -- Romero wasn't God and his "Daikatana" vanity project, mentioned in the book, as we know now, turned out to be utter shite.
Moreover, those three guys working out of their bedrooms weren't facing competition from a huge established games industry churning out titles with budgets in the tens of millions of dollars, not even including the promotional budgets.
A little cold water on the "all you need is a dream" rhetoric, please. They were three nerds with technical talent who came along at the right time. Had the hardware been ready for it at the time, we'd have fawning books written about Steve Colley and "Maze War."
To RandomCoderDude, Lucian303 and plus.google.com/106369163599131412142 :
Facebook was started by Mark Zuckerburg (one person) and money he borrowed from his parents in 2006. The company now makes almost $3b a year. Twitter came out of a failed podcasting venture by a couple of guys. And let's not forget Jeff Atwood himself started Stack Overflow by himself and one lone server into arguably one of the most important developer forums anywhere. Any time I have a (I think) esoteric developer question, I search on Google, and the first result is almost invariably Stack Overflow.
And let's not forget the Occulus RIft. Developed by a handful of folks into what many think could be one of the most important developments in gaming hardware.
I think Carmack is still right. It is still possible to do something amazing with a PC, some pizza and a dream. But it's not easy. It never was. Carmack spent an INSANE amount of hours developing his skills to the point he was able to write Commander Keen, Wolfenstein, Doom and Quake. Granted, if you're narrowing your idea of success to graphics programming, you're right, it's no longer possible for a single person to know everything (graphics, networking, sound, CPU optimization) and still be the best. Carmack admitted as much at this year's QuakeCon 2013 keynote. But if you're talking about making something amazing, take off those blinders and look around you. The opportunities are out there. But it will take a lot of hard work and an obsessive dedication to the craft and the dream to do it.
That's why most of these success stories are from guys (and gals) in their teens and 20s, with no families, no children and no responsibilities. Once you have kids and bills to pay, it gets a LOT harder (see Outliers by Malcolm Gladwell). Making something amazing requires an enormous investment in time and skill. And yes, being there at the right time helps too, but only if you've put in the time and effort to get ready for it, and you take the risk. Anybody else could have done what Carmack did. He was using the same technology as every other developer out there. Carmack just was more hungry, more motivated, more driven. To the point that it tore apart the id family.
And for me, that's been the hardest part of the book. I'm about 3/4 of the way through the audiobook (read by Wil Wheaton, and a pretty awesome read, if you don't mind profanities -- courtesy of Romero -- blasting in your ear every hour or so :-), but the breakup between the original id guys, Tom Hall, Romero and Carmack is heart breaking. Carmack's laser sharp focus on the code made him a machine, incapable of seeing beyond the needs of his latest engine. He didn't care about sentimentality, emotions, empathy. And it cost him his friendship. I wonder if he feels any twinge of regret, now that he's older, with a family of his own. I read a long time ago, that broken families raise kids who tend to raise broken families themselves. I hope John's able to avoid the fate that befell Romero. I hope so, for his son's sake.
Still, an amazing book. Thanks for the recommendation Jeff. (And for Stack Overflow. I can't believe how much I've used it over the years.) Check out the audio book on Audible if you don't have time for a physical book.
Flashback. I had a protracted conversation with John Carmack about DOOM once. There's no chance in hell he would respond to me personally today, but once upon a time there weren't actually that many people on the internet.