Ahh, the ever controversial DirectX... For those of you who don't know what DirectX is (you should know), DirectX is a Software Development Kit (SDK) for creating applications for Windows. It was created by Microsoft to convince game developers to stop making games for DOS. Traditionally, Windows has not been a good platform for developing games because those anal rententive guys at Microsoft over-engineered Windows and didn't allow Windows programmers to have direct access to the computer hardware. Everything had to pass through the constipated Windows environment first. This is actually preferable for applications that don't require light speed execution, but games do require fast execution! That's why most games (Doom, Quake, etc) were developed for DOS 32-bit. With DOS, programmers could actually access the ports and registers of the computer hardware in order to speed up graphics/sound processing.
Bill Gates didn't like all this DOS development because he had no control over it and game programmers didn't have to play by Microsoft's rules. On top of that, Bill Gates wanted to make direct money from the game industry. So Microsoft started working on a SDK called DirectX which they hoped would catch on with game programmers. Microsoft could then charge game developers to use this SDK and force them to develop for Windows 95 which Microsoft was trying to sell at the time.
This is where Bill Gates was sneaky... Microsoft went around to hardware developers (and probably paid them handsomely) to make their sound cards, video cards, and 3D accelerators with no hardware standards. Gates wanted them to make a DirectX driver which would induce a software standard. Now that Microsoft had every hardware developer making hundreds of different cards, it became impossible for DOS programmers to support all of these cards. Bill Gates then pointed at DirectX as the savior of game-programmerkind because it worked with all of these cards easily. Game programmers literally had no choice but to concede and start using DirectX. Microsoft had succeeded in bridling the PC game development community by forcing them to play by the Microsoft rules.
I guess everything boils down to this question: Is DirectX any good? The answer is yes and no. DirectX is good because it allows game developers to take advantage of hardware very easily and painlessly. The bad news is that the PC game technology playing field has been leveled a bit. Since everyone is using the same SDK (DirectX), technological leaps are no longer dictated (as much) by the programmers. Remember how exciting Doom and Quake were when they came out? Those games were unlike anything seen before as far as technology was concerned. I'm afraid that since we are all using DirectX technology, most games will be at the same technical level, and there won't be any more games that breakthrough to new technologies. On one hand, developers will have more time to spend on gameplay, but on the other hand, aren't technologically superior games with breakthrough graphics and sound as well as good gameplay really exciting when they come out?
What I'm saying here is that DirectX has some good points, but it also has some bad points and tightens Microsoft's grip on the PC game development industry, and that is definitely a bad thing... I once read an article by a fellow game programmer who said that calling DirectX a "good" thing is like calling rain "good" weather! Everybody hates it, but we need it to survive.
This concludes my rant of the current time period. Expect more rants in the future as I think of them. If you have any rants or responses to my rants e-mail me.
Back to Rants Page