We have recently added Warhammer 40,000: Dawn of War to our list of gaming benchmarks for graphics tests. In order to gain a better insight into the graphics engine that powers this game, we decided to have a chat with its developers, Relic Entertainment.
We talked with Dominic Mathieu, Lead Programmer; George Hornmoen, Programmer; Richard Sim, Programmer; Raphael van Lierop, Assistant Producer on the Dawn of War project.
Bit-tech: Can you tell us about the Dawn of War graphics engine? What sort of polygon count are the characters, and what amount of characters / terrain / polygons can it happily cope with?
We\'re using a heavily modified version of the graphics engine used in Impossible Creatures, which was a custom engine made for the TNT/TNT2 generation of video cards. The engine has been enhanced to make use of Hardware Transform and Lighting, and the higher throughput of more recent cards.
At best quality, each character in the game is composed of approximately 2,000 polygons and uses a single 512x512 texture. The terrain is a static height-map generated mesh with a 1024x1024 base texture, small detail textures, and plenty of dynamic decal textures. The terrain\'s base texture has a resolution of 1 texel per meter, so will be less than 1024 on some maps. The game can handle up to 100 characters simultaneously on screen, fighting, before slowing down too much.
Bit: What graphical features have you included for the current-generation top-spec cards? How do you feel the game benefits from features like anisotropic filtering and anti-aliasing?
The game can make use of the stencil buffer to generate shadows for most buildings and world objects. Anisotropic filtering and full-screen anti-aliasing can be enabled through the ATI or nVidia driver panel and they do make the game look much better, if you\'re willing to live with the performance hit.
Bit: What versions of DirectX does the engine use graphics features from?
The graphics engine has been developed to take advantage of DirectX 8.0 features.
Bit: What was the game developed on, hardware wise?
At the start of development, we used Intel Pentium 4 @ 2GHz, 1GB RAM, and GeForce 3s. Towards the end of development, we used Intel Pentium 4 @ 3GHz, 1GHz RAM, and GeForce 6800s. We also developed on some dual AMD Athlon XP 2100+ systems from Alienware, near the beginning of the project.
Bit: What support have you had from hardware vendors like ATI and nVidia, Intel and AMD?
Intel gave us development systems, software, and lots of support from their engineers, so that we could get better performance and make better use of some of the advanced features such as HyperThreading.
Both ATI and nVidia supplied us with their most recent boards/chipsets and a great deal of support from their engineers, so that we could improve performance and get around some of the issues in older driver versions.
Bit: How important to you feel sound design is to a game like Dawn of War? Homeworld had a legendary soundtrack, and the voice acting in DoW has been widely praised.
Sound design and scoring are just as important to the success and enjoyment of a game as graphics are. In a lot of ways, a broader range of people can appreciate good quality sound and music than can appreciate good quality graphics. In Dawn of War, the soundscape is really a fundamental part of the battlefield experience, and supports all the strong visuals to create an all-encompassing experience.
Bit: What would you say the dream system setup is for playing Dawn of War, and what will it give a gamer that a mid-range setup won\'t? What are the advantages of the components you would recommend?
Processor: The game is primarily CPU-bound, so a faster processor is recommended. Nothing beats the AMD Athlon 64 for performance at this point.
Memory: To maximize the visual options (model, texture, sound, effects qualities), lots of memory is required. 1GB of fast RAM would be ideal.
Video card: Something with a screaming fill-rate and lots of video memory. Right now, the game seems to run best on a GeForce 6800 with 256MB of RAM.
Bit: What are your views on the current state of the graphics industry?
It\'s a very exciting time to be developing rendering technology with current consumer hardware being capable of amazing things and unlocking many techniques that previously were either too expensive or not possible at all, although this also means that the gap between the low end and the high end hardware is quite large.
With many games still having to support GeForce 4MX cards (or lower), which use over 5 year old technology, rendering engines have to be more flexible and scalable than ever with several levels of fall-backs and levels of detail for most things. Compare this to the CPU market where it\'s very hard to buy a new CPU less than a 1.6GHz, and most pre-built systems have CPUs in the range of 2.4 to 3.2GHz.
The volume of good information available on current techniques is astounding, with books, papers, mailing lists, web sites, forums, and conferences all being in abundant supply. While you do have to sort through the chaff, it\'s never been easier to find the information required despite that information being far more advanced than in the past.
However, the graphics industry has its fair share of threats to overcome currently, primarily in the areas of hardware compatibility and software patents on some key algorithms. There are far too many patents that should never have been given in the first place as there is either evidence of prior art or the patent is for little more than a tweak to existing methods that\'s closer to a bug fix than anything else. When corporate blackmail enters an industry, it\'s never a pretty story.
Hardware compatibility issues are something that really shouldn\'t exist anymore, at least not at the frequency that they do, and are the bane of every PC developer since each different hardware configuration has to considered to be a different platform altogether nearly. Microsoft is pushing hard on this front for Longhorn (and Windows stability in general) as they realize how important it is for the future of PC games; too many people are driven to playing games only on consoles because there\'s no question of \"will this PS2 game work on my PS2\" like there is with a PC.
The bit-tech.net Comment
We\'re very grateful to the guys at Relic for taking the time out to answer our questions. They have some really interesting insights into the developement of games today and the technology that they rely on.
The Dawn of War engine was originally coded for TNT2 class cards. Each unit on the screen has the polygon count and texture quality that a character in the original Half-Life would have had. This time around, there are hundreds of the guys on screen at a time, complete with a gloriously rendered environment to surround them - a sure measure of how far graphics processing technology has come.
It\'s clear that hardware manufacturers have wised up to the fact that supporting game developers can get them better support in games. We already know that ATI and nVidia have strong developer relations teams, but Intel are also putting in big bucks to make sure that Hyperthreading gets supported. From the comments Relic have made, they obviously have some catching up to do, but the work put in now for Hyperthreading will also benefit Intel when it introduces its dual-core chips next year.