January 10th, 2010

[Interview] With AMD Richard Huddy in DirectX.11 game development

Computer Hardware & Software, News, by brigs.

We sat sat down with AMD’s Worldwide Developer Relations manager, Richard Huddy, to discuss all things developer, DirectX 11, Eyefinity, and his opinions on the competition: Nvidia, Fermi, GeForce 3D and PhysX and Intel’s recent progress with Larrabee.

Richard started working with 3DLabs in 1996, and from 1998 to 2002 he ran Nvidia’s game developer relations program and as the first non-US member of staff he set up its European office. In 2002 he joined ATI as a contractor and now works full time as its Developer Relations Manager.

The interview was recorded and transcribed from bit-tech.net. The italicised emphasis is included in the article to directly represent Richard’s vocal emphasis; edits were made for clarity of meaning, syntax and brevity.

bit-tech: How exactly does AMD work with game developers? Nvidia is very vocal about its machine [The Way It's Meant to Be Played program], but we’ve heard less on the AMD front – why is this?

RH: Well the reason why you hear less on the AMD front is not because we do less, but we don’t market our developer relations in the same way that Nvidia do. I remember an issue I raised at Nvidia in 2002 [when he worked there] and the HR manager came back to me and said, “you really don’t want to raise that point – it won’t do your career any good, Dan Vivoli, the VP of marketing is someone Jen-Hsun Huang is leaning on more and more these days, so if he doesn’t like it, you won’t make any progress on the matter.” [Nvidia]’s a marketing lead company and that’s not how it is with AMD. Look at our CEO at the moment: we’ve got Dirk Meyer, an engineer by trade who’s deeply a technologist.

I mean, I’ve still got a respect for Jen-Hsun because he knows his tech too, but Nvidia is clearly a marketing lead company. [Nvidia] has put this big program together with equally big label that they shove in your face all the time, but I don’t really think what they do is radically different than what we do – we just don’t make as much noise about it.

How do we work with people? Well looking at the process we did with DirectX 11, we seed samples and early drivers [to developers]. We have excellent relationships with a number of key games developers which means we give them pre-release drivers, sometimes several times a day if it’s on a key issue, but that’s rare. Along with seeding the hardware we’ll put engineers on site – so if you look at Dirt 2,STALKER: Call of Pripyat and Unigen have their engine out there at the moment, these are the only DirectX 11 titles right now -

dx9 mode

dx9 mode

dirt2 dx11 mode

dx11 mode

bit-tech: -from the ground up you mean?

RH: Absolutely. BattleForgeSTALKER, and with Dirt 2 have had engineering visits [from us] and engineering on site and they have access to engineering communication on the phone or email. Along with that we have a co-marketing program, so BattleForge – there was a DirectX 10.1 version out in March – we had a co-marketing program with them and we pushed it as “this is DirectX 10.1, look at what it can do for you and the performance advantages you can get by running 10.1 over 10.” We do this by bundling games as well, I think we bundled BattleForge – we’ve certainly bundled STALKER and we’re bundling the hell out of Dirt 2 right now. The engineers and CTO from Codemasters put together a video for us to talk about the co-operation we’ve done with them.

We’ll promote those bundles to our AIB partners and OEMs as well where it’s relevant. We’re working with Rebellion on a future title – that’s a pretty blood thirsty title (Aliens versus Predator]) so I wouldn’t expect someone like Dell to include it – when you’re ripping people’s spines out and keeping their skulls, it’s not kind of the message you want to send with PCs. Something like Dirt 2 is a cool racing game that is acceptable worldwide, so we push that through the channel ecosystem.

bit-tech: How do you decide who to work with, or is it simply a case of they come to you if games developers want to add the extra features such as DirectX 11?

RH: A few of the games developers came to us asking about DirectX 11 because Microsoft obviously were out there pushing the message as well, but the key point for DirectX 11 adoption was actually GDC, March 2009, that’s when we had a number of games developers approach us that were not at that point on our radar. We were already looking around and were in cooperation with Codemasters, and Rebellion came to us in March as well, plus we were already working with EA for BattleForge and GSC Gameworld for STALKER on DirectX 10.1 it was a natural extension there. We certainly want people to come to us if they haven’t already been approached by us – anyone who is good at taking on technology and can accept the transition from DirectX 9 to 11 or 10-10.1 to 11, then they are a natural candidate for us to talk to.

We need acceptability of the game if we want to bundle it – we want games that are going to be played and used by you guys. It’s very interesting for us that we work closely with games that are going to be used for reviews, clearly we cannot afford to ignore them.

There isn’t anyone we won’t work with – we certainly don’t stand back and say “that’s a ‘Way It’s Meant To Be Played’ title, let’s not work with them“, in fact, quite the opposite. We make sure everyone who gets early builds of their software gets a chance to work with us and we have extensive testing labs so even if we’re not doing all the rest of the big program stuff we can just do testing – things such as Batman: Arkham Asylum, which we have an engineer assigned to and we got builds in regularly. If we see something that alarms us then we go after it and try and fix it.

bit-tech: How is AMD’s support for Dirt 2 – where you give a lot of marketing, engineering support and bundling, different from Nvidia’s support to Rocksteady with Batman? Nvidia is injecting its own IP into the game – in terms of PhysX, and the game’s anti-aliasing method – and then protecting its own business interests, as both are Nvidia-only.

RH: The Rocksteady stuff is interesting from a number of perspectives. For starters, it’s a DirectX 9 title so it doesn’t push hardware terribly hard, and it certainly doesn’t push any of the new capabilities. I won’t deny it’s a perfectly good game but in terms of using new hardware and using it hard – it doesn’t – so it’s not insanely exciting to us. However, I have one of my best engineers – one of my most pro-active engineers – and he was getting builds on a regular basis. We did talk to Eidos about the possibility of being a co-marketed title with us, however Nvidia decided it would – to use your phrase – inject its IP into it. It did this in two parts, one of which I’ve got I’ve got a reasonable amount of respect for and the other I frankly hold in complete contempt.

[Nvidia] put PhsyX in there, and that’s the one I’ve got a reasonable amount of respect for. Even though I don’t think PhysX – a proprietary standard – is the right way to go, despite Nvidia touting it as an “open standard” and how it would be “more than happy to license it to AMD“, but [Nvidia] won’t. It’s just not true! You know the way it is, it’s simply something [Nvidia] would not do and they can publically say that as often as it likes and know that it won’t, because we’ve actually had quiet conversations with them and they’ve made it abundantly clear that we can go whistle.

However, PhysX is a piece of technology that changes the gameplay experience and maybe it improves it. What I understand is that they actually invested quite a lot, Nvidia put in a hefty engineering time and they tried to make a difference to the game. So, in that aspect, I have respect for it; it’s a reasonable way to handle the situation given the investment in PhysX. Nvidia wanted a co-marketing deal and put forward PhysX, and Rocksteady and Eidos said, OK, as long as you do it – which they did.

The part that I totally hold in contempt is the appalling way they added MSAA support that uses standard DirectX calls – absolutely nothing which is proprietary in any useful sense. They just did ordinary stuff, a completely standard recommendation that they make and that we make to developers for how to do MSAA, and they put it in and locked it to their hardware knowing it would run just fine on our hardware. And indeed, if you simply spoof the vendor ID in the driver – which we and other people have documented – it runs absolutely fine on AMD hardware. There’s nothing proprietary about it in that sense, nothing new. I think that’s exceptionally poor.

What I could have done as the Developer Relations guy at AMD is say “actually, what they’re doing is a reasonable business investment and I’ll do exactly the same thing for all the DirectX 11 code we are adding. We’ll just go in an add it, and since I can’t QA it on Fermi because all they’ve got still is a faked up board that they showed off recently, what I’ll do is I’ll lock it to our hardware.” Morally I think that would be reprehensible, but from a business point of view I could argue in favour of it, but we think it’s really the wrong thing to do and we’ve not locked a single line of DirectX 11 code. That’s the difference in the way [AMD] works – we work through enablement and open standards. [Nvidia] works through closed standards and disablement, which, to me is inexcusable; it’s as bad as that.

bit-tech: Do you think we’ll see more of this kind of behaviour in the future?

RH: I hope we’ll see less – I hope that both Rocksteady and Eidos that feel they’ve been dragged into a marketing war that isn’t in their interest and in the consumers interest by allowing that in and they will decide not to allow it in future. I certainly hope other developers and publishers will make the same decision.

If I’ve done anything to embarrass Rocksteady or Eidos in any of my discussions about this then I hope that the only effect of that is people say, “you know what, we should be embarrassed about it.” I’m not trying to force the issue but I hope Nvidia will realise it’s a poor tactic and poor quality approach and not one that would be taken by any tech leader.

bit-tech: Recently Nvidia disabled PhysX in the drivers if you’re using an ATI card as the primary graphics adapter.

RH: They don’t want to QA it. The PC is an open platform, though – you’re meant to take any two parts and put them together. Intel don’t say “we’re not prepared to QA our CPUs with Nvidia or AMD’s graphics parts” when they obviously spend time QAing them because you want to build a system that works.

bit-tech: Given Nvidia licensed its own MSAA technology for Unreal Engine 3, why don’t you just do the same thing? Put your code in as well and when the game detects your vendor ID it uses this code instead.

We’re currently working with Eidos and we want that to be in there in a future update. That’s not a commitment to it, but we are working with Eidos to make it happen because I believe it’s in every consumer’s interest.

he Saboteur lacked ATI support due to last minute changes, but was quickly patched

he Saboteur lacked ATI support due to last minute changes, but was quickly patched

bit-tech: Recently, Saboteur launched without any support for ATI graphics hardware – although it was patched later on. How did that happen?

RH: It was a mess of timing. The developer put in a change at the very last moment which unfortunately relied on a particular behaviour of the driver. Two changes in our driver and [this change] in the game took place at the same time and we didn’t catch that – we should have done, and that’s a straight forward failing on our part. We worked as closely as we could with the game developer to make the patch available as quickly as possible, but we messed up on that occasion. If you want to catch me on these I’ll put my hands up to every one of them. I wouldn’t want to try and discourage you from catching me on this because I want you to go catch Nvidia as well so if you’ve got a list of titles where you think we failed, bring it out because a PC should just work.

bit-tech: That brings us to the consolification of games. More and more developers are leaving PC gaming or pushing it into second place as issues of piracy, revenues, QA time etc. continue to mount, how do you encourage developers to commit to a PC release, let alone DirectX 11?

RH: It’s a good question and one console vendors will have to ask themselves too, once cloud computing becomes practical – do you really need a console to do the job for you or can you rely on a nice, fast broadband connection to do the job for you? All of us are looking at ways to improve the value associated with that particular platform we work on. As the company that supplies the graphics parts for the Xbox 360 I have to say I don’t cry too much if someone plays on a 360 instead, or even on a Wii [where ATI graphics are also present] because there’s something like 90 million units between those two which all feature AMD chips, so I’m not exactly against console gaming.

bit-tech: Do you see the next generation of consoles being cloud computing clients, then?

RH: No, definitely not because I think it’s nice to have a decent chunk of horsepower available to you locally – that can make a big difference, particularly if you are in something which is a twitchy game where 100th of a second counts. I don’t think we’ll go completely to cloud computing in one generation, but we’ll have more access to it in the next generation. The Onlive stuff was an interesting route to go.

bit-tech: Will more PC games move towards a cloud model faster? I’m thinking especially given there’s more chance to try things on a continually upgradable computer?

RH: It’s a matter of choosing the experience you like best. Maybe you’ll end up playing Crysis on a mobile phone, but it’s not quite the real experience. If you had a large 30in monitor or Eyefinity where you have three monitors then even your peripheral vision is engaged, then that’s a better, richer, visual experience.

bit-tech: Will we see more Eyefinitiy titles?

RH: At two hundred bucks per monitor to fill in my peripheral vision, yes absolutely!

bit-tech: I watched PC Pro try Burnout on it the other day and because most PC games are designed with the HUD around the edges. This means you have to physically move your head around to see it because it’s on the peripheral screens. Will there be driver updates to move these to the centre screen or are you working with game developers to patch/optimise for Eyefinity?

RH: We won’t, in this generation, be able to put in a fix that takes something like Burnout and moves the HUD into the centre. Most games actually where they’ve looked at this on something such as Matrox’s Triplehead2Go then they’ve realised it’s simply important not to just widen things out as you go and spread them in the same kind of ratios, it’s important to focus on the central display. Burnout is probably in the minority by pushing its HUD that far out.

bit-tech: A lot of FPS games have health in one corner and ammunition left in the other?

RH: Well if all they do is stretching it out, that is disappointing and it’s the wrong way to go. Obviously you should bring the bits into the centre screen and just use the other screens as peripheral vision, which is Dirt 2 does.

Fixing that in the driver would be quite hard because they’re using their own shaders to put things in specific places. We could do it, but I don’t think it’s worth the effort and we’re concentrating on engaging future games and a select number of titles that we hope to get patched. There’s an API coming for it which will be publically documented and if Nvidia want to go down the same kind of route then they can use the same API and exactly the same kind of functionality, although they can’t call it Eyefinity. It’s not about shutting people out to us, it’s about innovation – doing it first and doing it well.

bit-tech: What’s your next flagship game coming up?

RH: Aliens Versus Predator – the next Rebellion game. I believe that’s scheduled for late February.

bit-tech: I thought it was Valentine’s Day, wasn’t it?

RH: They did talk about Valentine’s Day recently and I think that’s quite nice because there’s a certain amount of romance to do with the Aliens and Predatorgetting together I suppose.

bit-tech: How much money and manpower does AMD put into its Developer Relations program?

RH: We won’t detail the manpower as it’s a significant competitive detail we really wouldn’t want Nvidia to know. They claim particular numbers but I also know at least roughly where they do double counting of personnel. You know, you can have an engineer in the driver team, but he’ll also be counted again when it comes to developer relations. That kind of stuff means that being in a direct conflict about who has the most becomes a contest of who is willing to double count the most often. It gets a bit silly.

The bottom line is we have enough; we don’t let triple-A or double-A titles go through the net and in fact it’s extremely rare for a Saboteursituation to come up. It’s very rare for titles as a whole to go past us without seeing our QA and testing labs along the way. Our team is big enough and actually exceedingly good at some of the things they do. I believe it is smaller than the Nvidia team that’s directly related to developer relations, but I have some of the best engineers in the world doing some really great stuff in terms of R&D with graphics optimisations: lighting and shadowing.

AMD loves the Alien and the Predator equally

AMD loves the Alien and the Predator equally

bit-tech: Is this year’s STALKER better than last year’s? We originally gave Clear Sky a 3/10 because it was so buggy, but eventually after four patches it was fixed-

RH: Well, it was an Nvidia ‘The Way It’s Meant To Be Played’ title and when it came over to our program, everything went good.

(Ed: Clear Sky launched as part of the Nvidia ‘The Way It’s Meant To Be Played’ program but then moved to AMD to include DirectX 10.1 from the 1.5.06 patch.)

These types of high profile titles should just work because they are games we care about and it’s our responsibility to help the game developer not hinder them. We added DirectX 10.1 via a patch and improved their 10.0 code path with MSAA support as it’s a deferred rendering game, which is more difficult to do. Deferred Rendering is a style of creating the content inside the game – games are either forward rendering or deferred rendering and it’s very hard to get multisample anti-aliasing into a game that uses deferred rendering as the two fight each other. Well, we not only helped them do that for DirectX 10.1, because 10.1 adds the ability to do it specifically, but we also included the ability to do it on the DirectX 10 code path too. On our hardware, and on Nvidia’s hardware. [AMD] believes in enabling.

bit-tech: If people don’t know, then as noble as your efforts are they go unregistered and people end up making their own assumptions about what others might think is happening instead.

RH: The reason I don’t shout about it more is because I’m engaged in working with the games developers and I’m busy in trying to make their job easier and get them more results, rather than being out here and doing this kind of interview – though I do really appreciate this chance to have a chat – although my priorities are to work with games developers. AMD is not a marketing company like Nvidia is.

We’re proud of the way we worked with [GSC Game World] and they came back to us in March and started talking about DirectX 11 stuff, saying “we think we can do [DirectX 11] for about August this year“, and they were pretty close with that which was very impressive because back then they hadn’t even released the 10.1 patch. Late August they had it running and September we showed it before it was released in the Eastern Block in October.

(Ed: It was launched in the CIS on October 2nd in Russian language and in German language in Germany, Austria and Switzerland on November 5th)

STALKER developer GSC Gameworld has been keen to use the latest versions of DirectX

STALKER developer GSC Gameworld has been keen to use the latest versions of DirectX

RH: I remember sending an email to my engineer who had supported them saying “Great job on getting the first DirectX 11 title out there”, and then John – the guy who supported BattleForge – came back to me at pointed out that actually, it wasn’t the first DirectX 11 title!

bit-tech: At least you got two out there-

RH: -two out there, within a month of the DirectX 11 launch! Give me a single time when a new DirectX has launched and that’s happened? That’s easy – it’s never happened before. It’s typically two to three months before the first title arrives and the situation we have now where DirectX 11 shipped with Windows 7 and Vista Service Pack 2 it’s unheard of to see these titles launch so close to, let alone before a DirectX version was released.

I can remember talking about DirectX 9 at the time with Chas Boyd, lead architect for Microsoft, and saying, “I think we might be able to get Tomb Raider: Angel of Darkness in time for Christmas,” which was four months after DX9’s release, and he replied “that will be a major achievement.” Well [AMD] has three titles out there already you can buy including a couple of free benchmarks – not from AMD, we’re not benchmarking our own hardware – and we have a list of about 20 titles that cover the next nine months.

bit-tech: Do you see DirectX 11 taking off like DirectX 9 did?

RH: More rapidly than DirectX 9 did. When I went to GDC in March 2009 I was impressed with the number of software developers that came to me and said DirectX 11 looks like it solves a few problems, so what do we need to do? I’ve never had that kind of conversation before, it’s always been, “Look here’s DirectX-number for you, let me explain.

DX11 solves at least two big problems; number one is that it lets you get rid of a previous version of DirectX because DirectX 11 runs on 11, 10 and 9 hardware, when you were thinking about shipping you no longer have to have a version for each separate operating system: 9 for XP, 10 for Vista, 11 for Windows 7. The number of builds is reduced to just one, unlike Vista and DirectX 10 competing with XP and DirectX 9.

There’s no additional version of DirectX that has to be dealt with now – dump DirectX 10, you just go to DirectX 11, do the feature level support and you’re away. So, instead of not knowing how popular Vista will be on launch – which was the case with DirectX 10 – you’ve now got a Vista install base and a Windows 7 one. If you were a company like Crytek who did decide to do a DirectX 10 version of Crysis, that meant you had to wait five months after DirectX 10 had released before it launched its game. With DirectX 11 there’s no reason to wait because we know that on day one we’ve got some crazy big number of PCs already supporting DirectX 11 thanks to a Service Pack 2 update for Vista and the popularity of pre-orders and the release candidate.

The DirectX 11-compatible Radeon HD 5870 has been helped by the success of Windows 7

The DirectX 11-compatible Radeon HD 5870 has been helped by the success of Windows 7

bit-tech: Do you think that Microsoft’s success with Windows 7 is also pivotal to the DirectX 11 uptake as well?

RH: Microsoft realised it had created too many difficulties with Vista and the transition from XP to Vista and they needed to get it right with Windows 7. Windows 7 is a great operating system – I had six months before I met my first bluescreen – which is unprecedented. I’ve bluescreened Linux more quickly than that as I use Ubuntu a bit at home. From a performance perspective Windows 7 is much better in how it uses resources so I’m not having to dedicate a colossal amount of video memory to images which are duplicated – now they are just ‘in the right place’ – it’s a swift and responsive operating system and it finally doesn’t spend all its time indexing in a way that confuses and annoys me.

With DirectX 11 you can take most of the lessons from DX10 and even DX9, and with a relatively small amount of rejigging you’ve got most of the knowledge to do a good job. The feature level support is also a stroke of genius that they’ve always resisted before – make DirectX 11 work on DirectX 9 hardware. NOT by faking a software tesselator because that would be horrendous, but by saying “look, here’s what you can do on DirectX 9/Shader Model 3, DirectX 10/Shader Model 4 and then finally give the full glory of DirectX 11/Shader Model 5 where we expose everything.” That’s excellent and something Microsoft has resisted before because they just wanted the new DirectX to run on the new hardware.

bit-tech: But Microsoft had to start again anyway with DirectX 10 because of the driver change in Vista and how extra features could be added to DirectX 9?

RH: Well it’s arguable that [Microsoft] could have gone in and changed the driver infrastructure on XP so that it could have supported DirectX 10, but they would have had to come up with a new driver model.

bit-tech: But it wasn’t worth updating an OS from 2001 that would potentially affect sales of Vista.

RH: Yes, I agree, and they did something else too on the graphics side – they took multicore and multithreaded CPUs and there’s now true multithreaded support for DirectX for running on as many cores as you like – certainly we’ve seen scaling up to 24 cores, which takes multi-processor as well as multicore processors into account. All these threads can undertake graphics related work at one time that then get consolidated into a single thread for the GPU. That makes for a much more efficient way of talking in CPU-land, to the graphics card. Like I say, on the graphics side all I care about is the pixels that are rendered, but as a CPU company too we are especially delighted about Microsoft’s threading work as well because there are real-world benefits to buying two, three and four core CPUs we are shipping already.

bit-tech: As a (current) performance leader in graphics that must give you significant leverage in the industry. However, on the CPU front you’re… struggling more, compared to the competition. Do you work in the same way with games developers for CPU optimisations as well?

RH: We do, although, games developers tend to see that a CPU is a CPU is a CPU, and they are not willing to invest in a colossal amount of effort in optimising for them.

bit-tech: What about particular cache architectures, instruction sets or the way it addresses memory?

RH: Well it’s a bit hellish for them because they don’t know how our cache architecture is going to be for the next generation and we’ve already got plenty for them to deal with-

bit-tech: -But for the last few generations: K8 (Athlon), K10 (Phenom), K10.5 (Phenom II), they are all related very close and so that’s a huge install base already-

RH: Yes, it is, you’re right-

bit-tech: -so why not say “this works, people bought it, you can optimise for this”?

RH: We do, but the biggest benefit we push is just to say, “use the cores.” Take account of how many cores you have access to and write the code so it scales properly. Build worker maps for 2, 3, 4 cores etc. and handle that. That’s the single best way to get scaling out of CPUs – whether it’s Intel or AMD architectures makes much less of a difference. There are some things you can do; you can take advantage of the improved SSE instructions which we keep on extending, but they’re primarily designed so you can do cool stuff with video. Generally the most important thing to be aware of with CPUs is to be efficient with the use of memory and use the cores so they don’t fight.

Thanks for bit-tech.net for the great interview and articles. I like read it for my community, Gratz.

Back Top

Responses to “[Interview] With AMD Richard Huddy in DirectX.11 game development”

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Back Top

icon_wink.gif icon_neutral.gif icon_mad.gif icon_twisted.gif icon_smile.gif icon_eek.gif icon_sad.gif icon_rolleyes.gif icon_razz.gif icon_redface.gif icon_surprised.gif icon_mrgreen.gif icon_lol.gif icon_idea.gif icon_biggrin.gif icon_evil.gif icon_cry.gif icon_cool.gif icon_arrow.gif icon_confused.gif icon_question.gif icon_exclaim.gif 

SEO Powered by Platinum SEO from Techblissonline