
Written by: Matt Butrovich
As a companion piece to my look at Company of Heroes' DirectX 10 patch, I got the opportunity to ask the team at Relic a few questions about the development process and their upcoming expansion, Opposing Fronts. One of the programmers for Company of Heroes, Remy Saville, was kind enough to sit down and provide the answers.
Matt Butrovich: Many developers would consider enhanced features like DX10 support content that should be paid for. What made Relic decide to release DirectX 10 functionality in a free patch, rather than saving it for Opposing Fronts?
Remy Saville: Relic has always, and will always, provide great support for our fans. It's what we do. When you buy a game with the Relic logo on it you know you're getting a super fun game and supporting a developer that will support its fans.
Traditionally RTS games have been a little behind FPS engines like those from id or Epic. Relic wanted to change the perception that there was a fundamental reason for this. There really isn't. That's why Relic was so proud to offer a cutting edge game engine filled with every kind technology from physics with the Havok engine, fully destructible environments, a great sound engine, multi-core support, and a totally free moving camera so you can see everything. Being the first Direct3D 10 game ever lets us demonstrate we can make a super fun game and be a technology leader too.
MB: How long were the DirectX 10 enhancements to the Essence Engine in development?
Remy Saville: The first lines of Direct3D 10 specific code were written well over a year before the release of the patch, long before we could even get our hands on prototype hardware. Direct3D 10 was always intended to be a part of CoH. It was an interesting experience working with a beta SDK running on a beta OS with beta drivers on prototype hardware.
MB: What new opportunities do DirectX 10’s features provide for improving the Essence Engine?
Remy Saville: Fundamentally Direct3D 9 actually offers most of what 10 has, or at least a subset of the features. The biggest single feature that we wouldn’t have considered in Direct3D 9 is the shadows for the point lights. All those extra render calls would've been too costly, but thanks to Direct3D 10 we can do way less render calls than in 9. Also render calls in 10 have much less CPU overhead, so it's a double win for the CPU! Most of the other graphical improvements come from the longer more detailed shaders we've added specifically for 10.
MB: Besides the obvious learning curve, is developing for DirectX 10 an easier or more difficult task than developing with previous APIs?
Remy Saville: Writing an engine from scratch to support only one API it would be easier to support just 10 than 9. Direct3D 10 changes the order some things are done in, so it can take a bit more work to integrate into a code base that has some API behavior assumptions built in than one would like, but once the changes are in then you're off to the races.
MB: Will Opposing Fronts feature both DX9 and DX10 rendering paths? If so, what sort of extra strain does this place on the artists and programmers to maintain multiple code bases?
Remy Saville: CoH:OF will feature both Direct3D 9 and 10. Most of the new features that are exclusive to Direct3D 10 are procedurally generated, so an artist only needs to provide direction on how things are done and then the computer takes care of the rest. From a programmer's stand point things are a bit more complicated as there is now multiple places to make changes and when adding new features one needs to keep in mind two underlying architectures. Generally this isn't a problem, but it does add to the work load. However it is our QA teams that suffer the most as there are now that many more permutations of configurations for them to test.
MB: Can we expect to see even more visual upgrades than what we’ve now seen when Opposing Fronts is released, and will those be exclusive to DirectX 10?
Remy Saville: We're open to even more Direct3D 10 features for CoH:OF than you see in CoH, but currently all of the new features we've added work well in both 9 and 10.
MB: How closely have companies like NVIDIA and Microsoft worked with the development team to incorporate DirectX 10 features?
Remy Saville: Both NVIDIA and Microsoft were tremendously helpful in making CoH the world's first Direct3D 10 game. For the last few months we were emailing all our partners on a daily basis. NVIDIA actually sent us two great engineers for a few weeks at different times to help! We wouldn't have all the features you see if it wasn't for them.
MB: Company of Heroes has pushed the envelope technically since its release, with support for multi-core and multi-GPU systems and the latest rendering techniques like HDR. Besides DirectX 10 support, are there any other technologies coming to Opposing Fronts that you can talk about like perhaps a native 64-bit version?
Remy Saville: While we won't have a 64-bit native version of CoH:OF, 64-bit owners will be able to run at higher resolutions and anti-aliasing settings than 32-bit owners thanks to the larger virtual address space.
Big thanks to everyone at Relic, and particularly Remy Saville and Allie Henze for the interview. Keep an eye on Game Almighty for more Company of Heroes: Opposing Fronts information in the future!





















