DiRT 2: EGO Evolution
Digital Foundry talks McRae tech with Codemasters CTO Bryan Marshall.
We wanted to show that the PC version could also be a technical showpiece for us and our partners. I said earlier that we had a long console heritage for optimising and getting the most of the machines. That means when we come to do a PC version we are already in very good shape on the performance and memory front. I think PC developers struggle a lot more if moving from console to PC. It also helps that we have plenty of PC experience too of course.
By delaying the PC version later than the other platforms we could be the first AAA DirectX11 game, we were at the Windows 7 launch and were the first to use Games for Windows Live 3.1. We are also optimised to run on the very latest Intel i7 quad-core machines. We wanted to put a technical stake in the ground with DiRT 2 PC and I think we've done that.
DiRT2 is very scalable and all the graphics settings can be changed in real time from the in game options menu. This allows the gamer to tune their settings to get the performance-versus-quality balance that they want.
We have grouped our graphics settings into Ultra Low, Low, Medium, High and Ultra. We have pitched medium at about the quality level that the consoles run at. Any DirectX 10-class hardware will run this setting without a problem. Low is more for the slower DirectX 9-class hardware and Ultra Low is aimed at integrated graphics and laptop GPUs. High and Ultra are more for the higher end GPUs but offer exceptional image quality and detail.
CPU-wise, gamers should try to match their CPU to their GPU. Running on Medium settings, a dual-core CPU should be fine. However, running on High or Ultra a quad core is recommended if you want to be sure you aren’t CPU bound.
Absolutely, and it all comes back to that attention-to-detail factor again. Hardware tesselation techniques on crowds, flags and water simulations, combined with enhanced post-processing all adds up to a more convincing and engrossing environment on DX11 than any of the other platforms.
Probably the most promising optimisation is going to be through the use of the multi-threaded aspect of the graphics command pipeline. It'll allow developers to build up commands in parallel and farm those out to the multi-cores of the future CPUs.
We started out on this whole process with AMD and it's been great for both of us. Both AMD and Microsoft provided technical knowledge very early on to support our efforts, with engineers coming on site to work with our guys. They pointed out where bottlenecks might occur and how we should use the new API to best effect.
I'm not so sure. We personally waited until DX11 was available to make the jump and stayed with DX9. DX9 was a bit like a mature console we discussed earlier. Developers just learn to get more and more out of these things as time goes on so quality only goes up. However, DX11 is a significant enough jump to say it's now definitely worth doing.
In the games industry we're always looking to push the immersive experience. These technologies are just the next wave of doing that. Besides, we've got a few more years yet of filling the GPU with full radiosity calculations and ray-tracing still to come.
I can't say much about F1 at the moment, but suffice to say we'd like to think the quality and cutting edge nature of F1 engineering is reflected in the way the game is being engineered. Think of it as the F1 of racing games! Much more to come on F1 2010 soon.
Many thanks to Bryan Marshall for his time and to Codemasters UK for helping set up the interview. Colin McRae: DiRT 2 is out now on PC and will be the subject of a future Tech Comparison feature.