Id Tech: Carmack’s Keynote In Full

Cleverer than you, almost certainly.
Aha! I am not sure this video had surfaced while I was posting yesterday, but here it is anyway, below, via Bethblog. It covers Rage and the tech behind it, what Carmack thinks of the PC as a platform now, Doom 3 code being released, and lots of tech jabber about various platforms and games (even some mentions of Doom 4 tech) that you may or may not understand or care about. Nevertheless, one of our finest traditions.


  1. Auspex says:

    Staring eyes?

  2. Aldehyde says:

    Haha, the main picture combined with the picture that is the embedded video is quite priceless.

  3. Squishpoke says:

    At this point I would prostrate myself to hear Carmack speak of Doom 4.

  4. Turin Turambar says:

    Not exactly full, it lack the Q&A.

  5. FakeAssName says:

    about damned time we get the SC for Tech 4, I can’t wait for an (eventual) standalone release of TDM.

  6. kyrieee says:

    Great, was looking for this

  7. destx says:

    I could listen to this man talk forever.

    • SamfisherAnD says:

      I barely understand half of what he’s saying, and I listen to the other half just to make my brain turn to mush at the genius.

    • Shivoa says:

      Agreed, I found myself wishing he wasn’t constantly moving forward and skipping over what he was talking about to reach the end. It’s great to hear a top tier programmer talk about auditing of their mistakes; anyone getting into programming really needs to listen to the second half of the talk just to hear a smart, dedicated, proven coder talking about the silly things that we all do. I wish I’d heard someone talking in that way a decade ago (not to say people weren’t saying the same thing a decade ago, only I wasn’t aware of it).

      The first half is definitely worth it for all non-coders interested in the more technical side of game design (artist or designer, understanding the limitations of an engine is core to being able to utilise it) and comes with some rather unfortunate truths about id tech 5 and the PC (not to say this will be a bad engine on PC, but there could be a remake of Rage in 5 years that would possibly look like a suitable upgrade without needing to hire a single artist by just reworking the data set and Carmack talks about some research he’ll be doing with the data set they just build and trying new rendering systems on top of it). It’s amazing to think this 100GB-1TB of art data exists and has been analysed and compressed down to a 20GB block that comes with Rage.

      Unfortunately it sounds like the release candidate is a console port (not meant to be derogatory, and it’s possibly that some of the nuance of the speech was lost on me) as the texture data has been compiled assuming a 720p screen. I’m not sure if id will be given the post-release time to release a PC edition which rebuilds the mega-texture assets for a 1080p+ output target (either way there are no detailed textures for close up so you won’t see repeated detailing up close but Rage currently sounds like you get AA with a higher than 720p resolution but textures only exist on the disc to assume a 720p output when at the minimum distance from any surface – the wall you can’t get any closer to due to a mesh fence exists in higher quality in the artist data but was left off looking as detailed as it could be by the export process that built the texture blocks assuming the most detailed you’d ever need was from a 720p render at that location). The post-release high-res level will show how well the game masks that lack of texture fidelity and might indicate a 100GB HD Rage release once consumer bandwidth is there to make a re-release viable.

      Listening to Carmack talk about the API woes he has on PC vs console also illuminated the point that has been mangled by coverage (“developer X says PC should drop the API and code to the metal again!”). Standardisation of memory storage to allow direct writes without the API sounds like a good idea until you think about legacy and how that fractures the market for PC. Any hardware that doesn’t do it the ‘only right’ way we fix on will need to be detected for and have an API put on that makes it as slow as we currently are. Yes, we can optimise and fix up stuff so we never double-flip a texture for an edit by adding a new access layer but to maintain compatibility wouldn’t it be better to enable a direct access system that returns the type of storage and then forces the game to handle that format (and going forward we all agree to make the format X for new hardware so that will be the default, on the disc format we use for fast moves) but the coders who want this will have to pay with making sure they have handlers for flipping (for example the transcoder engine Carmack talked about from moving from disc assets to DXT textures already assumes your disc format and your memory format are not the same so you should make that transcoder able to output to all the current memory formats and then when returned what format the GPU memory expects you tell your transcoder that and that sets it to now be able to do native memory moves on all hardware). But he makes a lot of good points in a very gray area that I’m sure could be discussed for hours without anyone saying anything wrong or agreeing on the ‘best’ solution.

    • Rikard Peterson says:

      Yes, having the API-thing put into context was very enlightening. Now it all makes sense. (I couldn’t make sense of it back when it was making headlines.)

    • stahlwerk says:

      thirding the “Aaah, so that’s what he meant” sentiment. Unified and standardized DMA access to the GPU… that would indeed be wickedly efficient, and very interesting in regards to OpenCL or ComputeShaders. I never suspected the glTexImage / GetPixel etc. functions to have lots of driver overhead, but then I haven’t been making state-of-the-art 3d engines for 20 years now.

  8. Moni says:

    On there.

  9. PaulOHara says:

    I was in the room for this, and while it was quite interesting to hear John Carmack speak … him delving into programmer-speak frequently turned my mind into mush. Also, I sat three seats away from Chris Comiskey from PC Gamer.

    • simonh says:

      Having done some modding and programming I actually thought I understood most of what he was talking about, though probably not in a particularly deep way.

      Anyway, post your best technobabble nuggets here!

      Mine is Non-isochronous swap behavior

    • othello says:

      *asynchronous :P

    • LionsPhil says:

      …I want to know how that differs from synchronous swap behaviour, then.

  10. nofing says:

    I’m just sad, that they dropped OSX and Linux support.

    • My2CENTS says:

      Ohh come on, Unix has the crappiest graphic support of all platforms available. Did you hear what Carmack had do say? ID struggled to get mega-texture tech working on Windows, let alone Unix alpha drivers and thousands of distros. I still can’t believe people are expecting gaming on Unix/BSD – forget it.

    • FakeAssName says:

      PC gaming shackled exclusively to the Microsoft dominated market is a dead end, we need out from under a mono corporation dominated dictatorship … especially when that corporation has got an ulterior agenda of pushing a game box that produces both hardware and software profits vs a platform that only produces limited software profits.

      Linux may not be a viable solution ATM, but it’s the best we have got for now and open source IS the only way this market is going to see progress now that AAA productions are starting to scrape on the door of costing billions … either someone has to step up to the plate and turn Linux into a viable gaming platform, or we simply need a new open source based OS.

    • Kaira- says:

      A wicked circle, really. Nobody makes games for Unix because there is no market or proper graphics support. There is no market or proper graphics support because there is no market.

    • FakeAssName says:


      the funny thing is that Linux -should- be prime time for F2P mmos (low GFX requirements, complete security from piracy, sympathetic distribution model) and that alone would probably give it the boost that it would need for developers to start paying attention to it.

    • TillEulenspiegel says:

      The fuck does this have to do with “Unix”? Linux is an operating system with its very own driver model, which happens to be reasonably well supported by Nvidia and ATI.

      If you don’t know what you’re talking about, don’t pretend you do.

    • sexyresults says:

      Unnecessary comma!

    • My2CENTS says:

      Reasonably supported? What have you been drinking. The Linux drivers are bugged, don’t support all of the features that Windows drivers offers and to top it off theres only OpenGL.

    • stahlwerk says:

      There really is no need for an OpenGL / DirectX flame war! On top of that, I’d bet good monies that idTech5 runs on OpenGL (him mentioning TexImage2d specifically hints at that).

      Also, the state of Linux gfx driver support is really not all that bad, especially AMD got their act together. There have been multiple initiatives to move away from XServer as the foundation for the desktop (and some recent ones are even promising ;-). Read this piece here for a good overview of the history and current trends: link to

    • DrGonzo says:

      None of that matters. It doesn’t have a big enough user base for anyone to spend a decent amount of money on. It will come eventually though I imagine.

      Doesn’t Brink run in OpenGL? That isn’t playable for me yet looks pap. Also the one on a ship in the ice with weird time travelling was also OpenGL and had lots of issues for me with artifacting. They may have nothing to do with OpenGL and just be poorly made games, but they are the only examples I can think of off the top of my head that use it, and they are both technically poor games.

    • othello says:

      OpenGL and DirectX do the same things… you realize they are just binaries over the same GPU instructions, right? They just have different design decisions in their interfaces.

    • LionsPhil says:

      Wah wah corporations boo hoo I had to pay money for this software people worked on.

      Linux is a terrible platform for gaming, even moreso than for desktop use. At least cry for OS X support, which is at least vaguely engineered for multimedia performance. (You can even still have an OpenGL vs Direct3D argument!)

      Linux has had its chance with “AAA” titles. Unreal Tournament GOTY, 2003, and 2004. Neverwinter Nights. Tribes 2. Note that all of these franchises gave up on it. OS X has some of the weight of Steam and the Valve catalogue behind it now.

    • skurmedel says:

      You’ve got OpenGL on iOS too, and they got Unreal Engine running on that. As well as some version of id Tech 5. The problem is supporting OpenGL if your engine targets DirectX, then of course you’ll have to spend time supporting a different API. That’s a larger issue, as well as the fact that you’ll have to target a different platform, with different drivers, different system libraries etc. etc. It’s not worth it if the market’s not big enough.

    • Jamison Dance says:

      @LionsPhil – You do realize that Direct3D is Windows-only, right? I am not sure what you mean by having the Direct3D vs OpenGL argument if you are supporting OS X. You have to do it in OpenGL then.

    • LionsPhil says:

      You can have a D3D vs OGL argument if people are backing Linux (vs Windows), since Linux is OpenGL-only.
      You can have a D3D vs OGL argument if people are backing OS X (vs Windows), since OS X is OpenGL-only.

    • stahlwerk says:

      I woud like to add that you’re not shackled to only using OpenGL when supporting linux, you could always use SPHIGS. ;-)

    • Voxel_Music_Man says:

      Hey, I an indie dev and we are getting close to finishing off on our first title. Our stuff runs on Linux!! (also OSX version will probably come too)

      Just saying, as a developer I actually find Linux better than Windows. I’m probably a minority though.

      We develop on Linux first and then port to windows/OSX (although everything is platform-independent from the get-go so it isn’t a big deal).

      Linux (Ubuntu) has really matured recently, you non-believers should give it another try some time.

  11. Edawan says:

    I watched most of it, and really I have no idea how anyone can just talk like that for an hour and a half without ever stopping.

    • int says:

      That is one of Carmack’s skills.

    • John P says:

      There’s not really a secret to it. If you understand a topic intimately you can talk about it in detail for a long time. Talks like this are a good demonstration that Carmack knows his shit.

    • StranaMente says:

      He surely is really, really good at that. But a glass of water? Breathe, maybe? Kidding. It was really fascinating (even if a bit obscure at times)

  12. Awia says:

    I can’t understand a word he says, but I just can’t stop listening.
    I follow him on twitter for this exact same reason.

  13. soldant says:

    Every so often I kind of get what he’s talking about… and then I have no idea. It’s like a balloon, bouncing just out of reach. Every time you think you’ve got it, the wind picks it up and takes it away. Still like everyone else I don’t really care, I could listen to him talk about anything all friggin’ day.

  14. grasskit says:

    i like listening to Carmack, even though i dont understand what the hell hes talking about most of the time.

  15. Robbert says:

    I love listening to professional developers talk about technical stuff. There’s so much to learn.

  16. My2CENTS says:

    I really like the professionalism in Carmack. I mean its one of the first game developers i’ve ever seen to talk about the layers between your application and the hardware. The first developer that actually gives a fuck about every warning a Static Analysis produce. The first developer that takes time to think how to improve even slightly the experience. Rage might not be a very good game (or it can be the best game for the last years), but the technology put inside ID Tech5 is amazing. I truly believe ID is the studio with the highest standards for the software they produce.

    Releasing Doom3 source – AWESOME.

  17. DXN says:

    The man keeps himself in good shape!

    (on there)

  18. jalf says:

    I watched it last night, and I have to say, I was pleasantly surprised at the tech stuff. I always thought of him as a much more conservative “if C (or assembly) was good enough for my grandfather, it’s good enough for me. We don’t need no fancy high level languages” kind of guy.

    Hearing him talk about functional programming, static analysis, templates and all that stuff was really interesting, and definitely made me care that much more about what he says.

    • InternetBatman says:

      You definitely get the impression that he analyzes everything and has a broad, relatively unprejudiced depth of knowledge. It’s a shame there are no academics cranking out papers at ID.

  19. Rikard Peterson says:

    Thanks, that was very interesting. (Probably not for everyone, but certainly for me.)

  20. skyturnedred says:

    I don’t understand it. But I like it.

  21. DiTH says:

    Im just glad that ID wasnt bought by EA or Activision.I would hate to have this guy limited by their close-mindedness.

  22. Hanban says:

    Fascinating t-shirt, indeed. I wonder what the texture of it feels like.

  23. Josh W says:

    I love the fact that the driver manufacturers put something in to check if you’re playing quake then fix his code.
    Open-sourcing the quake engine must have driven them up the wall: Is it quake or isn’t it?

    • stahlwerk says:

      It’s still done for current games, as well. Each time there’s an entry in the driver release notes like “fixed z-fighting issues in Call of Duty 6: The Dutiful Life of Modern Man”, or “Improved frame rate for The Elder Scrolls IX: Scrolls of Eldering” it means the driver recognizes the game executable and modifies calls and activates work-arounds accordingly.

  24. Hmm-Hmm. says:

    I know nothing about programming, but man, that was very fascinating to listen to.

  25. Hotblack says:

    Watched the whole thing. Very cool. Ended kinda abruptly, though. Ah, well I guess that’s when the QA started. Damnit, I would have loved to watch that in its entirety.

  26. vlonk says:

    Damn I love this guy. He has guts! He gives a shit about style, he gives a shit about haircuts. He gives a shit about finishing the same sentence he started with, makes the best out of his IQ, stays sharp and focused and neglects all those things our superficial society considers important. All of that consciously without arrogant undertones.

    And most important of all things he does something really crazy: Speak the truth in public.

    I salute you Mr. Carmack not a lot of people stand tall and proud in front of the masses.

  27. Chuck84 says:

    Just finished. As a non programmer with a basic knowledge of the fundamentals of programming and gaming architecture( as i’d imagine most people here are) it was absolutely fascinating. Some(ok, many) parts flew right over my head, but it was immensely entertaining.

    It’s also quite inspiring to see his love for his craft come through.

  28. YanDaik says:

    he keep talking and talking and talking.. too much Carmack footage, to few game footage…

    • jalf says:

      You’ve got an entire internet full of games coverage… And yet you seek out the one place where a skilled game programmer gets to talk about what he’s been up to for 90 minutes, and your reflex is to *stamp it out! IT MUST NOT BE!

      Good grief. Have you considered going to youtube and typing in “random game footage” instead? That should keep you occupied for a few years.

  29. Scandalon says:

    That hour and twenty-six minutes made me want to buy, maybe pre-order rage on principle. Note that I had/have almost no interest in the game itself, haven’t bought a game full-price in years, but…every software engineer, no, make that every engineer should have someone like that to learn from.

    This guy cares, he’s one of the top in his field, he’s even overcome some personality traits to deal with the business-side and social aspects. Seriously, I was impressed. (I also think I understood, conceptually, about 96% of the tech stuff, too bad I can’t program my way out of a “hello world” bag.

    • Fuxalodapus says:

      Yup same here. iD Software games are pretty much the only games I will instinctively pre-order and pay full price for.

      <3 John Carmack.

  30. louder says:

    So they restructured each texture and texture management system from the PC for each of the consoles? That’s crazy! I was reading a while ago and he said that in the demos nothing was backed, there is a shot of a car going through a valley and its not actually the game world, its a set made for the trailer because with the backs on (even though no visible) the render times were massive for the 3 second shot and it took over 5 weeks of 24:7 rendering to get those 3 seconds. Its amazing technology, so much stuff on the console is compounded, from what I understand it starts buffering as soon as you start the game up for the first levels. They also used decal overlays as separate detailing on the texture maps that a pre cached to allow for extra detail, without the decals it almost looks cell shaded. All the light maps are also baked into a layer in the texture opposed to a separate light map. So clever.

  31. vrekman64 says:

    well, people keep saying that he is a god. I don’t know about that, but I’m sure he is a hero.

  32. roryok says:

    For a minute there, I thought this was a video of Patrick Kielty doing standup.

  33. Shivoa says:

    Q&A session now also online:

  34. rolerton says:

    If you think those Carmack stills are funny…

    link to