John Carmack quotes:

+1
Share
Pin
Like
Send
Share
  • 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.

  • I have fond memories of the development work that led to a lot of great things in modern gaming - the intensity of the first person experience, LAN and Internet play, game mods, and so on.

  • Low-level programming is good for the programmer's soul.

  • Developing games for the PC and consoles is all about everything and the kitchen sink. In many ways, you don't have design decisions to make. You do it all. So I enjoy going back to making decisions about what's important as I'm working on a game.

  • 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.

  • I'd rather have a search engine or a compiler on a deserted island than a game.

  • Note to self: Pasty-skinned programmers ought not stand in the Mojave desert for multiple hours.

  • The speed of light sucks.

  • 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.

  • 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.

  • Rocket science has been mythologized all out of proportion to its true difficulty.

  • 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.

  • 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.

  • Focused, hard work is the real key to success.

  • 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.

  • It's nice to have a game that sells a million copies.

  • Focus is a matter of deciding what things you're not going to do.

  • 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.

  • 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

  • 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.

  • 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.

  • 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.

  • Sometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function.

  • If you're willing to restrict the flexibility of your approach, you can almost always do something better

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • It's a good thing Doom 3 is selling very well...

  • 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.

  • It is not that uncommon for the cost of an abstraction to outweigh the benefit it delivers. Kill one today!

  • If you aren't sure which way to do something, do it both ways and see which works better.

  • An interesting question: is it easier to motivate a learned individual that never does anything, or educate an ignorant individual that actually produces things?

  • 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.

  • 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.

  • 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.

  • 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.

  • I like to think I'm pretty good at what I do.

  • 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!

  • You can prematurely optimize maintainability, flexibility, security, and robustness just like you can performance.

+1
Share
Pin
Like
Send
Share