Why the absence of DirectX 10 on the XBOX360 won’t matter

DirectX 10

Just a while ago, ATi revealed that the XBOX360 won’t be getting DirectX 10, or rather, it cannot run DirectX 10. Uneducated folks might see this as a bad point. Fanboys of other systems might use this as a point to bash the 360 and at first glance, it might scare off people. Thoughts like “It’s not futureproof” might come in the minds of most customers. Well, how about we tell you that the absence of DirectX 10 won’t make any darn difference to the games.

Read the full article after the jump!

DirectX 10

Just a while ago, ATi revealed that the XBOX360 won’t be getting DirectX 10, or rather, it cannot run DirectX 10. Uneducated folks might see this as a bad point. Fanboys of other systems might use this as a point to bash the 360 and at first glance, it might scare off people. Thoughts like “It’s not futureproof” might come in the minds of most customers. Well, how about we tell you that the absence of DirectX 10 won’t make any darn difference to the games.

Firstly, let’s find out what DirectX is…Introduced by Microsoft around the release of Windows 95, it is a set of APIs (Application Programming Interfaces) which make game development faster and easier for developers. To understand what that means, you have to know how games are made. The first step while making any game is coding/using an engine. Think of it like the chassis of a car, the actual skeleton, on top of which other objects are attached. So when you hear someone say that the game is using the Doom3 engine, what he means is that the core of the game which loads and interfaces everything is from the game Doom3.

This game engine talks with the different components in your PC/Console like the graphics card, sound card, or any other hardware for that matter. Now get one thing straight: coding to interface with hardware like graphics cards is serious business. The code is very complex and often is coded in ASM or Assembler to reduce processing time. And not all the graphics cards are the same. You have about 6-7 cards in any generation from the two major manufacturers, nVIDIA and ATi. And coding for each and every card is next to suicide.

So what do you do? Well, as a game developer, you can’t do anything. But as the maker of the graphics cards, or the operating system, you can follow/set some guidelines which have to be followed by everyone else so that it becomes easier for game developers.  So when Microsoft releases a new version of DirectX, they lay down a set of rules which the graphics card manufacturers (nVIDIA and ATi) have to follow if they want to make their cards compatible.

Here, DirectX is the code which will have to communicate with the graphics cards to show everything on screen. So now you would realise that DirectX will communicate with the graphics hardware. So, all that’s left to do for the game developers is to integrate DirectX into their engine, and code the engine so that it uses the DirectX functions to communicate with the hardware. Perfect harmony, isn’t it?

Now that’s the “scene” for PC development. Switch over to the console department. No multiple graphics cards to support, only a fixed hardware platform to program for. Now remember what I said earlier about how it would be suicidal for PC game developers in the absence of DirectX, or any other set of APIs like OpenGL. On the other hand, for console games, you don’t have to program for 10 different graphics cards. Consider that fact and half of the usefulness of DirectX 10 would be useless here.

Secondly, unlike PC games, the console game developers get development kits. These kits detail each and every function of all the hardware. It’s not suicidal anymore to write your own engine which communicates directly with the hardware. It might take long and would be difficult, but it’s definitely an option. Even then, Microsoft has implemented DirectX 9 so that game developers can use the graphics functions without actually writing code to interface with the hardware. What Microsoft have done for the 360 is remove all the code for different hardware and put in code only corresponding to the XBOX360’s hardware.

Now that’s the main reason why the absence of DirectX 10 won’t make a difference. Game developers can always make their own APIs to interface with the hardware. Some companies even sell middleware, a combination of APIs and a game engine. One example would be Epic games who sell middleware. And look what the announcement says, “The Xbox360 has unique features including memory export that can enable DX10-class functionality such as stream-out. From what we’re hearing, Crysis will support DX9 with some sort of use for DX10 features. It’s likely that those DX10 visuals can be replicated on the Xbox360, but it can’t be properly called DX10.” All makes sense, doesn’t it?

[Digg this!]

Add a Comment

Your email address will not be published. Required fields are marked *