E3 2008: The John Carmack Interview. Rage, id Tech 6, Doom 4 Details, and More!
John Carmack conjures up graphics magic for Rage
MPC: Are you using DirectX 9 equivalent? For Doom 4 as well?
JC: Yes to both. It’s one of those things I get asked a lot. What’s big and exciting for DirectX 10 or DirectX 11? There’s not a whole lot of… really not a whole lot. The big touted geometry shaders were in many ways, a mistaken belief that people desperately wanted to create stencil shadow volume.
There’s a tough thing with that. You get a bunch of people who make APIs, and they think “it’s my job to make APIs. I make new APIs every year.” There’s a reality of approaching a functionality curve, and the DX9 level gives us a whole lot of stuff where it’s not like before, even at the DX7 functionality level. Graphics programmers have tried every possible configuration, and they’ve tried every state and know what happens when. But, as soon as you get programmability in there (as happened with DX9) you’re writing code now. The code is limited, but we’re so far from exhausting the possibilities.
Sure, when DX10 hardware is ubiquitous and that’s our baseline platform, we’ll find something useful to do with all that extra hardware. It’s not like we’re saying “no, we won’t use this”.
MPC: Do you think we’ve reached a point of diminishing returns with regard to graphics?
JC: There’re interesting things to talk about in that direction, [for example] with Quake Live. We’re taking this ancient graphics technology, it’s nine years old, but we’re wrapping it in this other way to innovate, with the website interface for all of that. It’s clear that there are certain types of games that we’re past the curve for the benefit. For the highly competitive games, competitors would crank the detail all the way down, sometimes going too far. It’s cool that we’re running those games now at 60Hz on 2 million-pixel monitors.
There’s still value to be gained at the high end with graphics. We’ve got some wonderful looking stuff with Rage where we can do things with the environments that people have never seen before. Rage and id tech 5 will make a lot of games start to look plain. We’ve seen that phenomenon with previous games, where people don’t know exactly what they’re missing until they’re shown it, but it makes some of the other things look shabby in comparison.
I still think there’s one more generation to be had where we virtualize geometry with id Tech 6 and do some things that are truly revolutionary.
MPC: How long will we see games based on id Tech 5?
JC: Through this console generation at least, I am beginning some of the preliminary research work on what we’re going to follow this up with on the following console generation. Lots of questions are unanswered about that, depending on how all the players choose their technology—whether it ends up being a Larrabee based, CUDA hybrid, or Fusion-based, there’re lots of unanswered questions. I know we can deliver a next-gen kick, if we can virtualize the geometry like we virtualized the textures; we can do things that no one’s ever seen in games before. It’s worth doing a new generation for.
MPC: So this isn’t your last engine?
JC: No. It’s interesting though, that a couple of years ago, I’d thought that maybe we were approaching something that would be a regular tool, that the performance is a driving factor. You could write something really general, but the performance is hard, even for a 30Hz game.
In some ways, our big advances are in tools. Our innovations are beyond the offline renderers. We’re doing stuff that even the offline renderers don’t.