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.

Comments (34) Latest comment 2 years ago

Comments threads automatically close after 30 days, but please feel free to continue chatting on the forum!

  • kungphu #1 2 years ago

    Dam it, I wanted some more F1 info
  • T4RG4 #2 2 years ago

    Bring on Formula One 2010...
  • Bagpuss #3 2 years ago

    Can i just say as the owner of a Phenom II 550 Dual Core CPU that can unlock to a 3 or a 4 Core CPU, that the optimum setup is a 3 core.

    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.
    Edited by 1 at 12/12/09 @ 11:25
  • Dizzy #4 2 years ago

    They "improved" Dirt on ps3 by removing polygons, not exactly "in their Dna". Anyway good interview, looking forward to dx11 stuff.
  • JensonJet #5 2 years ago

    A game engine that runs at 30 frames a second (console version) is absolutely nothing special. I hate Codemasters. And so will many more when they screw up the F1 game, assuming you're expecting more than your average arcade racer.
  • lunnyt00n #6 2 years ago

    @Bagpuss You can pick up a quad core extremely cheaply these days and if your findings are true, then surely a dedicated quad core would be better even if the 4th core was only running background tasks allowing the other 3 cores to handle the game more efficiently.
  • GoldLightan #7 2 years ago

    Are Codemasters going to start suing their customers again next year?
  • Optimaximal #8 2 years ago

    @Bagpuss - Two reasons...

    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..
  • TRUTH #9 2 years ago

    Dirt 2 was so dumbed down - more arcade and silly x-games rather then rally sport it self. It appeals to the bling bling generation; hope the new FIA WRC Rally game (not by Codemasters, coming to 360/PS3) goes back to it's meaning of rally driving - they said it will be a proper rally game - NO AMERICANISM, NO SILLY MUSIC, COMMENTS OR X-SPORTS!

    Thanks codemasters for dumbing & simplifying Dirt 2 and no one likes these Americanism annoying teenager music and dumb game vocal comments in game.
    Edited by 1 at 12/12/09 @ 14:07
  • bad09 #10 2 years ago

    TRUTH speaketh the..er..truth. No matter how pretty, this gen your racers are pretty boring and tacky Codies. Sorry, I don't mean to be nasty as I used to loved CM and TOCA, but they are awful these days.
  • coojam #11 2 years ago

    I love the "Think of it as the F1 of racing games!" comment at the end.

    I know it's ironic, but, well... it IS the F1 of racing games.
  • BabyJesus #12 2 years ago

    Nice interview, enjoyed reading that.
  • Roarrr #13 2 years ago

    web references to 'pivot point' physics, ah that would be grid then.
  • Alkeno #14 2 years ago

    Optimaximal 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.

    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.
  • TRUTH #15 2 years ago

    Rally games need ground/road change as seen in: Sega Rally, Motor Storm, Mx Vs Atv:Reflex - that effect the car , speed, sense of danger esp driving along cliffs (no resets pleaaase!), car and environment proper damage, weather that can change real time & effect the road, wipers that can be turned on/off by the driver (why don't they ever do this ?), lights that can also be turned on/off by the driver when need to be...Proper Stuff!

    Dirt 2 should have done all this but went for a dumber game of rally (though there wasn't much rally in the game!).
    Edited by 1 at 12/12/09 @ 14:36
  • nasanu #16 2 years ago

    "What drives us mad is seeing references on the web to donkeys-year-old 'pivot point' physics. "

    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.
  • Trejser #17 2 years ago

    Alkeno: Hmmm...

    "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 :)
  • Quixz #18 2 years ago

    @ Trejser I think you missed this bit of Alkeno comment.

    "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."
  • metalangel #19 2 years ago

    While DIRT should have been a total riot (crashing across off road tracks in a variety of cool vehicles) somehow Codebastards managed to find a way to make that suck. Just as they managed to ruin ToCA, Flashpoint and soon F1.
  • peterfll #20 2 years ago

    Hmm. Well I think Dirt 2 is smashing. I'm still really enjoying playing it. And I liked the interview, very interesting.
  • jambo74 #21 2 years ago

    Codemasters can get lost after OFDR. Not buying another game from them again.
  • Vroom #22 2 years ago

    Roll on F1. Good read.
  • stodge #23 2 years ago

    I thought the Grid framerate on the PS3 was poor.
  • sarcasmoidosis #24 2 years ago

    Dirt 2 on a good PC (Quad processor, 5870 video card) is the most beautiful game I've ever seen. A friend of mine made a video and I found myself in awe while watching. It looked...real.

    I do agree that it's an arcade though. If even I can drive well :)
  • freakzilla #25 2 years ago

    nonsense. 60fps is king when comes to racing games. 30 just isn't good enough.
  • freakzilla #26 2 years ago

    they released "Turning point: Fall of Liberty". There is no redemption for such a sin.
  • BigDaddy82 #27 2 years ago

    They didn't make Turning Point though, just released it, Dirt2 is a quality game, can't wait to see their upcoming in house products
  • Salaminizer #28 2 years ago

    it's pretty sad that MW2 took the Steam route and this one (and other games too) took the GFWL route. if it was the other way around it wouldn't feel TOTALLY WRONG.
  • banjo21 #29 2 years ago

    Agree on the Americanoism completely wrecking this series.
    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.
  • davisorle #30 2 years ago

    The interview was great and was going the right way. Both you,. Richard, had a nice list of questions and Bryan Marshall from Codemasters gave nice full answers to mostly everything. Wish all the interviews were more or less on the same lines and please, dont let Elie waste any more interviews cause jokes and a couple poor questions just fucks it all up and makes it pointless.

    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

    P.S. Cant wait for the faceoff on all platforms on this one. I have the Pc version ofc.. But im curious.
  • Darren #31 2 years ago

    Having seen the DX11 version of DiRT 2 for myself on the PC, I have to say that the improvements over the DX9 version are a little underwhelming and hard to see at all. While racing the only difference is that the DX11 version looks sharper but it isn't honestly all that obvious until you compare DX11 with DX9 screenshots. As for the tessellation effects, I can't say I noticed them at all, the people/crowd still look like rejects from a PS2 game in both versions and water still looks more like oil... not that it matters as they're just there for atmosphere.

    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.
  • Mackero #32 2 years ago

    @Truth - the more you post the weaker your arguments become.

    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.
  • jambo74 #33 2 years ago

    We've worked closely with Intel on both PC versions of DiRT 2 and Operation Flashpoint: Dragon Rising to really drive this system further

    Well the GFX on OFDR (as well as the game) were terrible so I do not hold out much hope here
  • nasanu #34 2 years ago

    "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." - Mackero .

    He might well say Street Fighter 4 is a great game too. That does not mean it is a great sim.