# John D. Carmack

John D. Carmack II (born August 20, 1970) is an American computer programmer and video game developer. He co-founded the video game company id Software and was the lead programmer of its 1990s games Commander Keen, Wolfenstein 3D, Doom, Quake, and their sequels. Carmack made innovations in 3D computer graphics, such as his Carmack's Reverse algorithm for shadow volumes. In 2013, he resigned from id to work full-time at Oculus VR, where he served as CTO and later Consulting CTO in 2019.

## Quotes

* I think a lot of people may take some heart from this: a lot of the math, the heavy math in projective geometry, [...] took me a long time. There were many many years, a decade, when I was considered this graphics guru genius, when I really couldn't do from scratch [...] the mathematics that underpins a lot of that. But slowly, eventually, with a couple decades of experience, most of it did eventually sink in on me.
** Speaking about mathematics in engineering, Quoted in
* Everything is an interpolation problem if you have enough data
** Speaking about artificial general intelligence, quoted in
* In the information age, the barriers [to entry into programming] just aren't there. 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.
** Quoted in David Kushner, Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture Chapter 16, p. 292.
* These are things I find enchanting and miraculous. I don’t have to be at the Grand Canyon to appreciate the way the world works, I can see that in reflections of light in my bathroom."
** Referring to how he, after many years immersed in the science of graphics, had gained a stronger appreciation of the real world instead of getting detached from it, as he would see a few bars of light on the wall and think, Hey, that’s a diffuse specular reflection from the overhead lights reflected off the faucet, Quoted in David Kushner, Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture Epilogue, p. 234.
* Nvidia's OpenGL drivers are my 'gold standard', and it has been quite a while since I have had to report a problem to them, and even their brand new extensions work as documented the first time I try them. When I have a problem on an Nvidia, I assume that it is my fault. With anyone else's drivers, I assume it is their fault.
** Quoted in Thomas McGuire, Creative 3D Blaster GeForce4 Ti4400 review TechSpot
* The situation is so much better for programmers today - a cheap used PC, a linux CD, and an internet account, and you have all the tools necessary to work your way to any level of programming skill you want to shoot for.
** Quoted in David Kushner, Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture Chapter 14, p. 254.
* The speed of light sucks.
** Referring to network latency limitations, Quoted in John Carmack Biography.
* I'm good? Seriously?
** Quoted in John Carmack Biography.
* It's nice to have a game that sells a million copies.
** Quoted in John Carmack Biography.
* It's done, when it's done.
** Referring to Doom 3, Quoted in John Carmack Biography.
* It's a good thing Doom 3 is selling very well...
** Having destroyed a rocket test vehicle worth $35,000 USD, Quoted in John Carmack Biography.
* [A]t its best, entertainment is going to be a subjective thing that can't win for everyone, while at worst, a particular game just becomes a random symbol for petty tribal behavior.
** Quoted in John Carmack Biography.
* Story in a game is like a story in a porn movie. It's expected to be there, but it's not that important.
** Quoted in David Kushner, Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture Chapter 8, p. 120.
* Personally, I’ve always been of the sleek and minimalist design school: make sure the core play is consistent and strong, then let that idea play out against different environments and challenges, this tends toward focusing on bio-mechanical twitch responses, audio-visual awe, and leaning more toward general strategy and tactics development over specific puzzle solving.
** Quoted in Brad Cook, "John Carmack: Making the Magic Happen" Apple.com
* Sharing the code just seems like The Right Thing to Do, it costs us rather little, but it benefits a lot of people in sometimes very significant ways. There are many university research projects, proof of concept publisher demos, and new platform test beds that have leveraged the code. Free software that people value adds wealth to the world.
** Quoted in Brad Cook, "John Carmack: Making the Magic Happen" Apple.com
* Advances in technology won’t be as significant as they have been in the past, most games won’t be materially improved by simulating every drop of water in the pond you are wading through. More resources can be profitably spent to make the creation process easier. How things will play out with respect to connectivity and where the data resides and processing takes place is still a very interesting question. The overlap and convergence between desktop computers, consoles, laptops, handheld gaming devices, and cell phones is also interesting. It is all still quite exciting.
** Quoted in Brad Cook, "John Carmack: Making the Magic Happen" Apple.com
* Helping people directly can be a noble thing. Forcing other people to do it with great inefficiency? Not so much. There isn’t a single thing that I would petition the federal government to add to its task list, and I would ask that it stop doing the majority of the things that it is currently doing. My vote is going to the candidates that at least vector in that direction.
** Quoted in "John Carmack's Blog"
* The Escalation programmers come from a completely different background, and the codebase is all STL this, boost that, fill-up-the-property list, dispatch the event, and delegate that. I had been harboring some suspicions that our big codebases might benefit from the application of some more of the various “modern” C++ design patterns, despite seeing other large game codebases suffer under them. I have since recanted that suspicion.
** Quoted in "http://www.bethblog.com/"
* A large fraction of the flaws in software development are due to programmers not fully understanding all the possible states their code may execute in.
** Quoted in "Functional programming in C++"
* I was sort of an amoral little jerk when I was young. I was arrogant about being smarter than other people, but unhappy that I wasn't able to spend all my time doing what I wanted. I spent a year in a juvenile home for a first offense after an evaluation by a psychologist went very badly.
** Quoted in "John Carmack Answers" Slashdot (1999-10-15)
* Programming in the abstract sense is what I really enjoy. I enjoy lots of different areas of it... I'm taking a great deal of enjoyment writing device drivers for Linux. I could also be having a good time writing a database manager or something because there are always interesting problems.
** Quoted in Bob Colayco, "John Carmack Interview" Firing Squad(2000-02-09)
* Note to self: Pasty-skinned programmers ought not stand in the Mojave desert for multiple hours.
** Quoted in John Carmack's .plan file (2000-05-15)
* 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.
** On software patents, Quoted in "John Carmack: Knee Deep in the Voodoo" Voodoo Extreme(2000-11-11)
* 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.
** Quoted in "The Rise and Fall of Ion Storm" Slashdot (2002-01-02)
* Because of the nature of Moore's law, anything that an extremely clever graphics programmer can do at one point can be replicated by a merely competent programmer some number of years later.
** Quoted in Tom Ham, "Interview: John Carmack" gamespy.com (2004-01)
* This is a bit more expensive than my previous turbo-Ferrari habit, but not too bad.
** On spending $2 million on building rockets, Quoted in "Carmack's Jet Vanes" (2004-05-13)
* The biggest problem is that Java is really slow. On a pure cpu / memory / display / communications level, most modern cell phones should be considerably better gaming platforms than a Game Boy Advanced. With Java, on most phones you are left with about the CPU power of an original 4.77 mhz IBM PC, and lousy control over everything.
** Quoted in Cell phone adventures John Carmack's Blog, March 27th, 2005
* The Xbox 360 is the first console that I've ever worked with that actually has development tools that are better for games than what we've had on PC.
** Quoted in Seth Schiesel, Microsoft Unveils Games For Its New Xbox 360 The New York Times (2005-10-06)
* Honestly, I spend very little time thinking about past events, and I certainly don't have them ranked in any way. I look back and think that I have done a lot of good work over the years, but I am much more excited about what the future holds.
** When asked about the highlight of his career, Quoted in "John Carmack Interview, January 2006" Video Games Daily (2006-01-03)
* But realistically, we don’t have that many problems at QuakeCon. If it was a football convention or something, there would probably be a lot more incidents.
** Quoted in Billy Berghammer, "CES 2007: John Carmack And Todd Hollenshead Speak" Game Informer (2007-01-09)
* When he was young, John Romero made a game for every letter of the alphabet. That was wise.
** On getting into game design, John Carmack on Twitter (June 14, 2011)
* I’m going to turn on every damn light in protest of Earth Hour. Lighting the darkness is fundamental to humanity's climb.
** Posted on Twitter (2012-03-30)
* I do hear sometimes from programmers who are kind of sad that they don't have the opportunity to write game engines from scratch like I did and have it matter or make an impact...here's where some perspective really helps - I can remember when I was a teenager, I thought I had missed the Golden Age of 8-bit Apple 2 gaming, that I was never going to be Richard Garriott...time went by, and I got to make my own marks in things after that. And, in that time, I also see so many opportunities that have come by. The 90s PC wave was great - I was happy to be there, and I'm glad I took a swing and knocked one out of the park with that. But since then, we've seen mobile games, and web games, and free-to-play games, the Steam revolution...and now virtual reality. And all of these are amazing! So, yeah, the opportunities that I had aren't there for people today - but there are new and better ones. And personally, I'm more excited about these than anything that's come before. So, thank you very much for this honor, but I'm just getting started.
** BAFTA Fellowship acceptance speech, "BAFTA Games Awards 2016"
* It is hard for less experienced developers to appreciate how rarely architecting for future requirements / applications turns out net-positive.
** 18 June 2021

## See also

* John Romero
* Timothee Besset

## External links

* John Carmack's Blog