Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Over the past 5 or so years, Microsoft has released APIs / that is intended to replace older APIs:

  • (2006) Direct3D10
  • (2009) Direct3D11

  • (2008) XAudio2 / deprecates DirectSound

  • (2006) Windows Media Foundation / replaces DirectShow

But 66% of Windows users are still on Windows XP as of Oct 2010.

Win XP doesn't and won't have:

  • Windows Media Foundation
  • Direct2D
  • DirectWrite
  • D3D10
  • D3D11

There's a lot of cool stuff in these API's! My question is is there any point, as a game dev, in migrating to the newer technology while you still have to support the old technology and provide a similar gaming experience?

Microsofts refusal to support D3D 11 on XP means there are some cool shader FX that are only supported on Windows 7 machines, such as geometry shaders

But its generally not that acceptable to say something like "Hey those cool geometry shader FX only show up if you're running Windows 7!" Suddenly you as a game developer are part of the angry microsoft upgrade push.

UPGRADE YOUR SYSTEM SO YOU CAN PLAY THE GAME!
love,
Microsoft

My point is, if I write code for D3D11, and then I'm going to have to double-up and dupe the rendering code on D3D9 and work extra hard to manually reproduce the stuff that APIs like DirectWrite do for me so easily, why should I bother learning D3D11 at all?

share|improve this question
    
Because if you don't, you are catering to a shrinking market. If you do, you are catering to a growing market... –  Steve H Dec 11 '10 at 12:16
2  
DX9 is not a shrinking market (or rather, if it is, it's only because people are moving off DX-supporting platforms entirely). It's not like DX9 magically stops running when DX11, 12, or 13 come out. –  user744 Dec 11 '10 at 14:54
    
Interestingly, Joel has a post that is very relevant to the discussion starting from "When I was an Israeli paratrooper" –  bobobobo Dec 23 '10 at 2:20
add comment

4 Answers

up vote 8 down vote accepted

That 66% percent of users on XP are not 60% of gamers who can run an intensive game. For that I would look more toward the Steam Hardware Survey. As of November 2010, almost 60% of Steam Gamers have a DX10 system.

From what I understand DX11 is really similar DX10, but has some new features. It seems like you could write a 9 and 10 version and if you really want to use some extra features to enable eye-candy you could also port the 10 version pretty easily and support the new features.

And to answer why you should learn it, I think you should learn it if you want the features it provides, if you don't want or need them, don't learn it.

share|improve this answer
    
5.6% DX 11.. May 2010. How long before this number reaches at least a 50% majority? –  bobobobo Dec 11 '10 at 12:36
1  
Check this out .. Q2 2010 57% of Unity users on Win XP. This means over half are stuck on DX 9. –  bobobobo Dec 11 '10 at 12:40
2  
It's worth noting that Steam and Unity users are self-selecting sets of data. Steam users especially are dominated by those who chase relatively recent games (although less so than in the past now Steam has a large casual game section). Casual gamers will typically skew much lower down the hardware scale. –  MrCranky Dec 11 '10 at 13:52
    
In Q1 2011 we're still at 50.1%, Win XP, DX 9. –  bobobobo Jun 24 '11 at 20:27
    
Check the survey colors again. 52% is only DX10, 30% is DX11. A total of 82% is DX10 or more. Only 20% doesn't support DX10. –  Psykocyber Dec 27 '11 at 9:53
add comment

This is a business decision rather than a technical one. You have to look at the set of potential customers you are excluding by insisting on DX10/11 (as mentioned elsewhere, maybe 57% of Unity users), and compare it against the extra sales you expect by using tech only available in DX10/11.

If your game is not graphically pushing boundaries, you're probably better off making it look as good as it can on with DX9 tech, where you can maximise your potential sales. If it's supposed to be cutting edge, then limiting it to DX9 tech might make it look dated.

The number of potential sales lost by excluding XP customers will pretty much only go down from here. How fast it will drop is not clear, but as has been mentioned, the W7 platform is much more attractive than Vista, so you can probably expect a much more rapid uptake now than while Vista was the current OS. But certainly this will become less and less relevant as a specific issue.

share|improve this answer
add comment

Well it isn't just the percentage of users at the point in time you are starting to make the game that you care about. It's the percentage of users when your game is scheduled to ship (which for a lot of games can be several years down the line). Specifically in this case, Windows 7 has significantly less of a bad rap than Vista has in the gaming circles. Whenever those XP users upgrade their machine next they'll probably install 7 on it.

Plus you can be pretty sure that the techniques in DX11 are probably going to be part of the platform for whatever Microsoft's next console will be, so there's that.

share|improve this answer
add comment

is there any point, as a game dev, in migrating to the newer technology while you still have to support the old technology and provide a similar gaming experience?

Emphasis mine: if you have to, then no. If you don't have to, then yes.

It's always a choice. Weigh up what you want to make against the number of people you want to be able to experience it.

Personally I'm on Windows XP, and won't be upgrading for a year or two, as XP does what I need. You talk about cool shader fx; I absolutely do not care about cool shader fx. A developer whose main concern is which shaders they can use is not one whose game I am going to buy, as they sound more interested in technology than gameplay.

But if that's the sort of software you want to make, that's entirely your decision - people like me are not in your target market, and you don't need to care about what I think. Most of the people in your target market are indeed going to be upgrading early and often. So you can aim at them. Just don't complain when you don't reach the mass-market - because you weren't making a game for them in the first place.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.