1.
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
2.
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.
John Carmack
3.
Programming is not a zero-sum game. Teaching something to a fellow programmer doesn't take it away from you. I'm happy to share what I can, because I'm in it for the love of programming.
John Carmack
4.
Focus is a matter of deciding what things you're not going to do.
John Carmack
5.
Note to self: Pasty-skinned programmers ought not stand in the Mojave desert for multiple hours.
John Carmack
6.
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.
John Carmack
7.
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.
John Carmack
8.
Sometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function.
John Carmack
9.
Rocket science has been mythologized all out of proportion to its true difficulty.
John Carmack
10.
The speed of light sucks.
John Carmack
11.
The important point is that 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. The trick is to pick the features that don't fight each other.
John Carmack
12.
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. ... The trick is to pick the features that don't fight each other.
John Carmack
13.
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
14.
If you're willing to restrict the flexibility of your approach, you can almost always do something better
John Carmack
15.
Some cynical people think that every activity must revolve around the mighty dollar, and that anyone saying otherwise is just attempting to delude the public. I will probably never be able to convice them that that isn't always the case, but I do have the satisfaction of knowing that I live in a less dingy world than they do.
John Carmack
16.
I'd rather have a search engine or a compiler on a deserted island than a game.
John Carmack
17.
I really think, if anything, there is more evidence to show that the violent games reduce aggression and violence. There have actually been some studies about that, that it's cathartic. If you go to QuakeCon and you walk by and you see the people there [and compare that to] a random cross section of a college campus, you're probably going to find a more peaceful crowd of people at the gaming convention. I think it’s at worst neutral and potentially positive.
John Carmack
18.
It's nice to have a game that sells a million copies.
John Carmack
19.
It is difficult to make good scalable use of a CPU like you can of a graphics card. You certainly don't want 'better or worse' physics or AI in your game
John Carmack
20.
If you aren't sure which way to do something, do it both ways and see which works better.
John Carmack
21.
I recognize that I possess a very special intellect, but at the same time, I recognize that I'm lacking in a lot of areas. But being well-rounded is greatly overrated.
John Carmack
22.
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.
John Carmack
23.
Focused, hard work is the real key to success.
John Carmack
24.
Low-level programming is good for the programmer's soul.
John Carmack
25.
One of the big lessons of a big project is you don't want people that aren't really programmers programming, you'll suffer for it!
John Carmack
26.
It is not that uncommon for the cost of an abstraction to outweigh the benefit it delivers. Kill one today!
John Carmack
27.
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.
John Carmack
28.
At 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.
John Carmack
29.
Everybody's saturated with the marketing hype of next-generation consoles. They are wonderful, but the truth is that they are as powerful as a high end PC is right now.
John Carmack
30.
It's a good thing Doom 3 is selling very well.
John Carmack
31.
An interesting question: is it easier to motivate a learned individual that never does anything, or educate an ignorant individual that actually produces things?
John Carmack
32.
Making one brilliant decision and a whole bunch of mediocre ones isn't as good as making a whole bunch of generally smart decisions throughout the whole process.
John Carmack
33.
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.
John Carmack
34.
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.
John Carmack
35.
We do not see the PC as the leading platform for games. That statement will enrage some people, but it is hard to characterize it otherwise; both console versions will have larger audiences than the PC version.
John Carmack
36.
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.
John Carmack
37.
I wanted to remain a technical adviser for Id, but it just didn't work out. Probably for the best, as the divided focus was challenging.
John Carmack
38.
I like to think I'm pretty good at what I do.
John Carmack
39.
You can prematurely optimize maintainability, flexibility, security, and robustness just like you can performance.
John Carmack