Tech Interview: Need for Speed: Hot Pursuit
Digital Foundry visits the tech leads in Guildford for the inside story.
We have. For the first time in our history. Chameleon: that's what it's called. The reason being we got to the point where we realised we had all these technologies and they're fantastic building blocks and we basically reserve the right not to have this fixed engine that you're always constrained by.
Our biggest strength was our ability to take it apart and rebuild it and change it to suit its new environment so the name Chameleon just fits as we will continually chop, change, evolve, restructure and rebuild this technology, this engine, to suit the game we do next. That's why we called it Chameleon. It's also an anti-name because we change the engine so much. That's its strength. We finally named a tech!
Fully deferred. But we tried light pre-pass...
Uncharted uses light pre-pass. There are ups and downs to it...
So we're more like Killzone. It's a hybrid engine. It fuses deferred and forward rendering for the bits that make the most sense. Some of the demands we had for our world which were huge expansive vistas with lots and lots and lots of lights and lots and lots and lots of trees and alpha... the deferred rendering made more sense as we can combine more of the full-screen operations into a single full-screen pass, we don't have to pay for any overdraw. So for our particular operation the deferred renderer makes sense.
We did flirt with light pre-pass for a while, we spent around a month or two on that. That opened our eyes to deferred rendering in the initial sense, and it's really very powerful. But when we went and added all the remaining features we ended up fully deferred. The performance just made the most sense.
We went for full high dynamic range with filmic tone-mapping and the rest but we had this requirement that you can't really miss with a Need for Speed game which is that the cars are the stars. The cars are absolutely the stars of the show. We had to have the best-looking, smoothest, curved to the paint, minute details, totally authentic cars with phenomenal lighting... we had to have all of that.
The cars are using a forward renderer. They're part of the hybrid. They still have a huge amount of lights attached but one of the greatest strengths of the car is that they use image-based lighting. I'm not sure if you've heard about that.
Image-based lighting basically means that the cars are lit by the image of the environment around them. So if you put that car anywhere in the world, it will be lit correctly. You haven't got to fake it, you haven't got to bake it. The cars are totally real-time image-based lit. That's one of the reasons they look good.
When you drive into a tunnel we haven't got to place any probes to capture some light here, capture some light there, it's totally, totally dynamic. So you're driving into a tunnel and you start to see the car get dark at the front while remaining bright at the back. You drive into the tunnel and the light will roll over, and then you go underneath some spotlights in the tunnel and you'll see these beautiful specular soft lights roll over the car.
You'll get to the open side and one side of the car will start to roll into the light and you'll see all these different frequencies like the really sharp reflection of the lacquer over the top to this sort of blurred diffuse underlying paint beneath it and you'll see all of these different layers building themselves up.
It's all totally real-time and it's one of the things we're most pleased about with this game: the cars had to look amazing at all times of the day, anywhere in that world. Image-based lighting then... it means that the cars light themselves based on the image around them.
Yes, effectively. We have a hybrid that trades the costs of one against the other so we draw the cars on top of the world but when you have more cars, the world costs less but yeah, image-based lighting was a really big deal for us and that's one of the reasons our car paint looks so nice. That's key for us.
Our cars have got to look good so we went for the hybrid: deferred for the world, massive, beautiful vistas with high dynamic range and filmic tone maps, layering fog and heat haze and all the buzz words you care to throw at it... then these beautiful cars that just totally sit, integrated with the world, fantastic paint and beautiful lighting. That was our goal. These cars have to be stunning.
Yeah, I think that when you look at a rendered image of the game you do notice the resolution and GT's 1080p focus is clearly trying to get a very sharp, crisp, photo-esque, high definition sort of visual. But unless you're going to put your face next to it, when you're standing back and looking at the game you do really appreciate the whole image quality on the screen, but the quality of the image you're looking at isn't just resolution.
A huge amount of it is to do with the filmic lighting and the tone map and the dynamic range and the curves on the car and the transition between all the different layers; that counts for so much. You don't necessarily need millions of polygons. You can do an awful lot with the shaders and the lighting - and the lighting is a huge part of it. The majority of the look isn't the resolution.
A few of us were chatting about what would we do... what could we do if we used next-gen hardware at standard-def. What could we do? Interesting question. Lighting and quality of shaders and overall image quality that you get counts more than raw resolution or poly count.
It should look identical.
Yes and actually our architecture is the same on all three platforms: PS3, 360 and PC. The dropping of the render thread meant we could put another thread into our job management pool, which is the worker area where we upload all the work to. What you lose in one thread you gain back in more processing power in the worker pool that you've got.
You can offload more and more and more tasks and that's what we did. Same architecture on all platforms: we use one thread but we offload more and more stuff to the parallel units. I'd say that the engine is three to four times more powerful than Burnout Paradise's in terms of the rendering side of things.