DiRT 2: EGO Evolution
Digital Foundry talks McRae tech with Codemasters CTO Bryan Marshall.
Despite intense competition in the genre in recent years, Codemasters has managed to more than hold its own with its impressive roster of racer titles. Its most recent releases, Race Driver: GRiD and Colin McRae: DiRT 2, have both been very well-received, and have been state of the art not just in terms of gameplay but in their core technology too.
Last week, DiRT 2, powered by the latest iteration of Codemasters' proprietary EGO engine, debuted on PC. The developer has been working closely with key partners including Microsoft, Intel and AMD in creating the first top-tier PC release to support the new Windows 7 DirectX 11 API, and the result is the finest version of the game yet. The return of DiRT seemed like as good an excuse as any to talk tech with Codemasters: to discuss the evolution of the excellent EGO engine, the performance on HD consoles and what we can expect from them in future, along with the developers' plans to leverage the power of the many-core processing architecture we expect to see in next-gen systems.
Talking to Digital Foundry is Codemasters' chief technical officer, Bryan Marshall.
Digital Foundry: First up, can we have a bit of history on the EGO tech? The accepted wisdom is that the code is derived from the PhyreEngine, which in itself has evolved significantly over time. How much does EGO still have in common with Phyre, if anything?
Bryan Marshall: At the end of the last generation, Codemasters took a big strategic decision to start coding from fresh for the multi-core (then) next-gen platforms. That meant dumping a lot of mature code we had built up on PS2, Xbox and PC: we knew we had to do something radical for this gen and not be encumbered by the legacy of the past architectures.
We also knew at that stage that the radical new architecture of the PS3 and CELL was going to be tough to develop for and had heard that Sony were developing some of their own libraries called at that time PlayStation Scene Graph (PSSG). It made a load of sense to work closely with those guys in London and really get the most out of the PS3 with their inherent Sony knowledge. We mainly used it for the rendering side, but PSSG, or PhyreEngine as it's now known, has many more features than that.
We diverged at least two games ago and haven't used anything of the PhyreEngine versions but I still believe it offers a great deal for developers looking to get into PS3 development. The Sony guys are also very smart and I definitely recommend working with them. However, things have come on a long way for us and we're now working on a big upgrade and finally losing the last pieces of PSSG.
Digital Foundry: What was your initial assessment of the Xbox 360 hardware when you first started to work with it in terms of its strengths and weaknesses? How did this shape your vision for the first DiRT?
Bryan Marshall: I think we were so used to working within the limitations of PlayStation2 and Xbox hardware that it caused great excitement when arriving. The available memory and performance was a great leap and we probably spent some months reining in everyone's ambitions!
What I would say is when all the components of DiRT started to come together, I think it blew us all away. However, we did some really early tech demos of things like large numbers of people in crowd (20k I think) and you didn't start to see those until GRID. In DiRT 2 I think we are up to something like 100,000 people. Techniques such as ambient occlusion and normal mapping suddenly became the norm.
Digital Foundry: There was a tangible performance boost when DiRT eventually hit PS3, when many conversions of the era were considerably inferior to the 360 counterparts. What was your strategy in approaching the Sony hardware?
Bryan Marshall: I think working Sony closely helped for starters, but also our strength as a company has always been to really understand the hardware and get the most of out of it. We have developed for consoles for a long time and have a superb set of people who really understand how to optimise for these platforms. It's in our DNA. We tried to get to grips with the SPUs on DiRT, but on following games, and certainly DiRT 2 this got pushed an awful lot further.
We are also very aggressive on our cross-platform approach, to the point where even the multi-threading synchronisation primitives are cross-platform. By going so low on the cross-platform side, we get high performance on all platforms, playing to their strengths and avoiding as much as possible from any lowest-common-denominator issues.
Digital Foundry: EGO's debut with GRID saw what you might call a pretty enormous boost to frame-rate consistency, image quality, post-processing effects, physics... everything. Was it truly an evolution of your previous tech in terms of additions and optimisations, or was it effectively a new engine?
Bryan Marshall: Quite simply some modules were re-written from scratch, others just updated. You can't afford to stay still in this industry and we never want to get complacent.
Digital Foundry: What is your approach to the many-core architecture of the HD consoles? Criterion Games, for example, writes the same code for each platform with "manager code" distributing the tasks across whatever processors are available...
Bryan Marshall: We have a data driven threading model using what we call 'worker maps'. It allows us to write a simple XML file describing how our threads should mapped across various architectures, including PS3, 360 and multi-core PC.
We've worked closely with Intel on both PC versions of DiRT 2 and Operation Flashpoint: Dragon Rising to really drive this system further. We see performance scaling improvements of up to 1.7 times moving from two-core machines to four-core (hyperthreaded machines). The worker map system also allows us to prepare a threading set-up for unreleased larger core platforms. Working with Intel prepares us for the many-core future and we have to be aware of that now.
You may also like...
-
Digital Foundry: PS3 Skyrim Lag Fixed?
-
Face-Off: Final Fantasy 13-2
-
Face-Off: The Darkness 2
-
Why Can't Games Do Sex?
-
Retrospective: Star Wars Episode I Racer
-
Game of the Week: Catherine
-
Who Killed Rare?
-
Mobile Controller Group Test
-
Warp Review
-
Remedy's message to Alan Wake PC pirates: "enjoy the story!"
-
The Kickstarter Conundrum
-
Assassin's Creed 3 release date announced
-
Full-length Far Cry 3 cinematic trailer
-
Dear Esther Review
-
NCsoft confirms Guild Wars 2 on console
-
Alan Wake PC version footage
-
Huge range of PlayStation 2 Classics storm European PlayStation store
-
Japan PlayStation Vita sales at lowest ever weekly total
-
Assassin's Creed Revelations getting Desmond single-player DLC
-
Indie game Dear Esther profitable in less than six hours
-
Bethesda on Skyrim's viewable Morrowind, Cyrodiil: "maybe we'll use it one day"
-
App of the Day: Tongue Tied!
-
Syndicate launch trailer blasts out the dubstep
-
Valve selling a virtual Team Fortress 2 ring for $100
-
Notch can match Schafer's $13m Psychonauts 2 budget valuation









Comments (34) Latest comment 2 years ago
Comments threads automatically close after 30 days, but please feel free to continue chatting on the forum!
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
With a Radeon 4850 and all settings at Max (DX9) @ 1280x1024 with 2xAA, the difference in frame rates is huge when going from 2 cores to 3, but very small when going from 3 cores to 4.
Dual Core @ 3.4Ghz Avg FPS (LA Rally Cross 1 Lap) = 44
Triple Core " " = 63
Quad Core " " = 68
Without doubt, a AMD Phenom 720 Triple Core CPU is the best price/performance CPU out there (for this game anyway)...
And its a pattern ive noticed in all my PC games that recommend a 4 core CPU.....really you only need 3.
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
1) Despite what everyone is 'officially' saying, the 360, with its tri-core Xenon CPU, is the main target spec, not because of any particular bias, but rather because it's the weakest CPU when you stack it up against performance Gaming PCs and the Cell in the PS3.
They can't go requiring huge numbers of cores if they just have to scale it back for standardised hardware - this is a major reason why performance gaming will stagnate if the current generation (or, more specifically, the 360) isn't replaced for a long time.
Scalability is good, but there's always the lowest common denominator
2) With the PC, you have the added hit of having at least one core tied up with some background/OS management. The largest concentration of PC hardware is the dual-core chips - something that is slowly being eroded by sensibly-priced quad cores, but the popularity of laptops is keeping that in check.
Ergo, three cores gives proper multi-core performance for the game as there are at least 2 free threads for use by the software. Four cores simply offers up a further core that can be used and if the game is as scalable as Codemasters state, it should result in more consistent frame rates, if not noticeably better (i.e. the 4-core setup will likely maintain those 68 frames easier than the 3-cores will manage 63..
Comment below viewing threshold Show
Thanks codemasters for dumbing & simplifying Dirt 2 and no one likes these Americanism annoying teenager music and dumb game vocal comments in game.
Comment below viewing threshold Show
Comment below viewing threshold Show
I know it's ironic, but, well... it IS the F1 of racing games.
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
That is a pretty debatable argument. How can you compare Cell and Xenon? They are very different architectures. And let's just forget about PC CPUs (nowadays they are so powerful that there is no contest). Xenon is a triple PowerPC (PCC). Each PCC has 2 threads, so Xenon allows for 6 threads. All of them have access to the whole unified memory available (512MB, although a huge bunch of it will be taken by assets). Cell is a single PCC (2 threads with access to the CPU-available 256MB of RAM) and 7 SPUs. Let's not forget that PPC cores are almost exact on both CPUs and that SPUs are ultra-fast supporting math-coprocessors (not cores, not able to handle threads and with limited memory to perform local calculations without full ramdon access to RAM).
A game needing little general-purpose code and a lot of physics would fly on Cell, but a game with a lot of general-purpose programming (you know, the one filled with memory accesses and branching code) would fly on Xenon. Both would be pretty much impossible to implement without heavy penalties on the other CPU.
The answer seems easy, if a common denominator rule is taken, both consoles are taxed from the limitations of the other. General purpose programming must fit into 2 threads from a PCC (so that it can be run on PS3) and any other stuff that can be thrown at the CPU should fit on the remaining CPU. In any case, taking into account that the logical way to make a game is using the CPU for general-purpose and the GPU for graphics, it seems pretty odd to take Xenon as the weakest CPU, which is not.
Anyone agrees? Disagrees? Corrections are welcomed, of course.
Comment below viewing threshold Show
Dirt 2 should have done all this but went for a dumber game of rally (though there wasn't much rally in the game!).
Comment below viewing threshold Show
That bought a smile to my face. I have been very guilty of plastering those accusations across the web. But it is just something about codemasters games that do feel like the turning is coming from the center. He was talking about having guys setup the cars.. Maybe they give them lots of toe? In any case I'd love to see them return to more simulation based racers. I stopped buying their games because of their physics, hopefully this will change in future.
Comment below viewing threshold Show
"Capcom itself rates the triple-core Xenon CPU as being about equal to a dual-core 3.2GHz Pentium 4 Extreme Edition CPU. Not a bad processor as such, but no match for the raw computational power of Cell"
From RE5 FO
Comment below viewing threshold Show
"A game needing little general-purpose code and a lot of physics would fly on Cell, but a game with a lot of general-purpose programming (you know, the one filled with memory accesses and branching code) would fly on Xenon. Both would be pretty much impossible to implement without heavy penalties on the other CPU."
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
I do agree that it's an arcade though. If even I can drive well
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
I mean honestly, did some nob from MS US who has never left his home state, just started shaving and never seen or heard of CM let alone watched a rally demand such bloomin nonsense go in to this game.
Of all the things MS has done on the XB this is the dumbest decision ever.
Comment below viewing threshold Show
Only "bad" spot in the interview is the following: "in the Natal Burnout Paradise demo felt oddly detached and lacking in feedback when I tried it". You most of all should be aware that for the same reasons the Natal wont be patched onto older/already released games, is the factor why Natal controls were a sloppy demo integration into the already excisting Burnout. It was nothing than a edmo to show you that it can be used that way. Even if it will be as useless on the genre or not is not the point
P.S. Cant wait for the faceoff on all platforms on this one. I have the Pc version ofc.. But im curious.
Comment below viewing threshold Show
DiRT 2 wasn't built as a DX11 game from the ground up, it's just a DX9 game with DX11 effects added on top. As such it doesn't do enough to warrant purchasing a DX11 card IMO, particularly as it is the ONLY DX11 game out this year. I can't help but wonder if DX11 is going to be the same disappointment that DX10 was showing only minimal improvements over DX9. Also because the 360 is tied to DX9/10 and most PC owners won't own DX11 graphics cards then how many PC games are actually going to benefit from DX11 anyway? After all, DX10 was woefully supported on the PC.
Comment below viewing threshold Show
You trash talk DiRT2 because it "..was so dumbed down more arcade and silly x-games rather then rally sport it self.." then go on to say that Sega Rally, Motor Storm, Mx Vs Atv:Reflex as good examples of Rally Games. MX vs ATV isn’t a Rally game, neither is Motor storm; and Sega Rally was simply awful.
You failed to spot that they also have ridiculously Arcade handling, very poor quality environments, awful damage models.
As a real rally fan, I was in Perthshire in October, and saw IRC World champion Kris Meeke driving DiRT2 on a wheel; he came off saying it was a great game.
That kind of praise, from a real rally driver, coupled with the 9.0 Metascore - says to me that DiRT2 really is a very, very, good game.
Perhaps you should try it on a force feedback wheel.
Comment below viewing threshold Show
Well the GFX on OFDR (as well as the game) were terrible so I do not hold out much hope here
Comment below viewing threshold Show
He might well say Street Fighter 4 is a great game too. That does not mean it is a great sim.