Gamers, stop holding back my games
Monday, October 12, 2009 8:39:08 PM
Developers like taking advantage of new hardware. It's easier to write for more flexible architectures, and many developers find the latest features and algorithms exciting. But developers also have to consider what hardware their target audience has. Currently, Direct3D 9 with shader model 2 is prevalent enough that even casual games like The Sims 3 can make it a minimum. A lot of developers must be breathing a sigh of relief that they no longer have to support fixed function hardware or assembly shaders. However, they'd surely be happier programming for even more advanced hardware.
Perhaps the biggest current limitation that developers face is the OS. The Steam Hardware Survey shows that as of September 2009, about 69% of users (Steam users participating in the survey) have DX10 level hardware. On the other hand, about 53% of users have an OS that can't take advantage of such hardware. (Disregard the "28.95% are DirectX10 systems" on the survey's main page. It's a several months old figure.)
This means that even though developers could in theory concentrate on DX10, given the hardware support, they still need to address DX9 as the main market. Not only that, but the Direct3D 11 API supports hardware of both DX9, DX10 and DX11 levels, which would allow developers to use one API to address all hardware levels -- if only their users were on Vista or Windows 7.
The result is that developers either limit themselves to Direct3D 9 (or ignore the majority and go for DX10, which rarely happens), or must use two different API's, with quite different styles. This leads to extra complexity, which means a longer time to market and more bugs, and difficulty in optimising the game, since what's optimal for one API isn't necessarily so for the other.
Many people think that it's consoles, with their DX9 level hardware, which are holding PC games back, and there may be some truth to this, but Xbox programming is at some levels closer to DX11 programming. If all PC gamers left XP behind, suddenly developers could stick to one PC API, and even if they left image quality at the console level, they'd still be able to optimise for just one API and would have less code to write and debug, meaning better performing, more robust games.
Now, there's no way to force people to move up, and the decisions to stay with XP or go for less well featured hardware are perfectly valid at the personal level. But if the difference is small, if Windows 7 isn't that bad, or the DX11 card is just a tad more expensive than a similar performing DX10 one, maybe it's not a bad idea to think about the greater good, and bring the future of gaming faster by giving developers one more user with an advanced target platform.
(Just to make it clear, following a post at DriverHeaven.net, my point isn't to cry over spilled milk, but to encourage gamers to move to Windows 7 (or Vista) and DX11 cards, so that developers will be able to target this sooner rather later.)









How to use Quote function: