Time was, the latest version of DirectX would render previous versions outdated and redundant, but lately things have changed.
The first version of DirectX 9 appeared way back in December 2002 (older than most Justin Bieber fans, then) and yet we're still seeing the most eagerly anticipated big budget releases built around DX9 almost a decade later.
It isn't as though DirectX 10 and 11 have nothing to offer. You only have to load up Crysis to see what's possible when a development studio goes to town with the new features a graphical API has to offer. The jungles of Crysis offered up motion blur, post-processing and lighting effects that we simply hadn't seen before. It caused quite a stir, you might recall.
Things looked bright in the early days of DX10. Bioshock's idiosyncratic graphics style made good use of the API, and Far Cry 2 made war-torn African tundra look appealing. No one matched Crysis' DX10 smorgasbord though.
Perhaps they were put off by the fact that no one had a PC that could run it. Developers seemed to be reigning in on DX10. Instead of making a game take a giant leap forward into post-console visuals, DX10 releases looked increasingly similar to those made with old man DX9.
There were bigger problems emerging, too. DirectX 10 was only available to gamers who'd taken the plunge and upgraded their OS to Vista. Many were perfectly happy with XP and felt they didn't need it; others bought it and found a myriad of problems from front end to driver support. DX10 then, was bound to an operating system few liked. The gaming world lost its appetite for Microsoft's new API.
The journey of an API
In late 2009 DirectX 11 was released. It had a lot of wrongs to put right, and a lot of mistakes to avoid. This time it was tied to an operating system that people did like, and showed impressive potential for gaming graphics and performance… and yet we still haven't seen the standout DX11 title. What we have seen are some impressive DX9 games, and even the odd OpenGL title.
Throughout the nineties, DirectX and OpenGL locked horns. They scrapped to be the dominant application programming interface (API) to replace the proprietary interfaces that proceeded them. Each wanted to be the API that graphics card manufacturers would write driver support for, and that game developers would use as their toolset.
SGI's OpenGL had the upper hand until the end of the decade, thanks to an alliance with id Software and the Quake engine that powered Half-Life in a heavily modified form, not to mention its subsequent blockbuster sequels to the Doom and Quake franchises.
With each new game, the id Tech engines expanded their graphical features in parallel with OpenGL, and proved enticing engines for other developers to build their own games with.
As the decade ended, Microsoft muscled OpenGL off the API throne with DirectX 8. For the first time, it not only matched the latest OpenGL, but surpassed it by including vertex and pixel shader support.
Microsoft also launched its Xbox, hitting the shelves late in 2001, which ran on an operating system similar to Windows NT, and used a Windows API- DirectX 8.1. This opened the door for cross-platform releases. Developers had a shared toolkit across the PC and Xbox platforms that made programming easier.
Anyone who tried to play Resident Evil 2 or the like on PC will remember the calibre of cross-platform games - or console ports - developed with the console in mind, then re-coded for PC before this point. The vast majority were all but unplayable; controls were poorly translated to our beloved keyboard and mouse and game code was unstable and glitchy.
So, unsurprisingly console games never sold particularly well when they finally made their way onto PC.
The game that bucked that trend was Halo. It was originally developed for PC and Mac, but when Microsoft bought Bungie Studios they saw it made sense to use the buzz the game was getting to boost their fledgling Xbox. As a result, we had to wait two years for Halo to make its way to the PC, grinding our teeth as Xbox owners banged on about how freakin' good it was.
When it actually was released on PC in 2003, it came with DirectX 9.0 support. Perhaps Bungie felt bad about making the people who'd supported their game from the start wait so long, but the fact was the PC release offered more than the original console release - shiny new DX9 visuals that weren't possible on Xbox.
Halo's PC incarnation wasn't perfect. Frame rates were low and performance was often choppy - but it was playable, mouse-friendly and pretty, and that release set the protocol for cross platform releases through the next decade.
Sharing the DirectX API across platforms made for less buggier games. DirectX 9 was a quality API that allowed a lot of flexibility beyond standout visuals; OpenGL had been well and truly muscled out of the action while Microsoft sank its fingers into the warm pies of PC and console gaming.