Creative Commons License
This weblog is licensed under a Creative Commons License.

« No FREAKIN' way - 4GB SD card for 70 bucks | Main | I'm BAAAACK »

Random Discovery - A Brief History of DirectX

I found this surfing tonight. A good summary of DirectX history from Micro Mart in the UK. Cloned here just in case the link goes away - it's a good version of the story. I figure since they borrowed parts of this pretty liberally from my Creative Commons governed DirectX Then and Now blog entry, Micro Mart wasn't going to sue me for publishing a copy of the story with attribution . Hell, I'm flattered they wrote the story!

The Evolution Of DirectX

From the ashes of a failed standard grew the power behind virtually all modern PC games. DirectX has come a long way in the last decade, but how did it get from there to here?

It seemed like a good idea at the time. Release a Disney game in the run-up to Christmas, base it on the very latest Microsoft graphics engine and sit back while the money comes rolling in. A sure-fire recipe for success, right? Wrong. Back in 1994, Disney's The Lion King CD-ROM ruined many a child's festive season. So what went wrong? According to Alex St. John, a Microsoft games guru back then and now CEO of developer WildTangent, "The game relied on Microsoft's new WinG graphics engine, and video card drivers had to be hand-tuned to work with it". To make matters worse, Compaq had just released a Presario whose video drivers hadn't been tested with WinG - loading The Lion King caused it to crash, so instead of the adventures of Simba and Nala, the kids were left staring at a Blue Screen of Death.

And hand-tuning your video card was not an easy task. A Wall Street Journal article on the debacle featured a software professional who spent most of Christmas day struggling to get the game up and running, while his poor girl sat crying because she couldn't play it. Disney's helplines were unable to deal with the flood of irate calls, and were quickly overwhelmed.

Something had to be done. A new standard was needed; a standard that did more than free Windows games from the restrictions imposed by the operating system. Something that gave programmers and developers a whole new set of tools to squeeze every ounce of performance from the host machine's graphical capabilities. And above all, something that gave programmers and hardware manufacturers a set of standards to work to, so customers would never again be forced to waste good gaming time fiddling with a screen full of tedious settings.

Serious Fun

Three young Microsoft engineers thought they had the answer. Alex St John, Craig Eisler and Eric Engstrom reckoned what the forthcoming Windows 95 needed was a gaming software development kit. So powerful, they argued, the PC could eventually displace the consoles as the premier gaming platform. To this end, they put together a strategy document called 'Taking Fun Seriously', outlining their ideas for putting Windows PCs at the forefront of gaming technology. Unfortunately, the powers-that-be in Redmond didn't take the document very seriously, and their proposal was rejected. Politely rejected, sure, but rejected nonetheless.

But the terrible trio - who came to be known as The Beastie Boys after the controversial late Eighties rappers - were not to be thwarted. They were on a mission, and they weren't about to let trivial setbacks like instructions from their bosses get in their way. "The proposal was politely rejected, so naturally we did it anyway with resources we begged, borrowed, or stole from other groups", said Alex St John. Named 'The Manhattan Project', after the 1940s atomic research program which developed the world's first nuclear weapons, the team chose a radiation symbol as their project's logo.

In December 1994, the team invited some of the PC gaming scene's leading developers to a conference at Microsoft HQ. There they took a look at the emergent DirectX 1.0, offering ideas on what should be added, what improvements should be made and where the project was going. To promote the endeavour, each guest was given a glow-in-the-dark neon Manhattan Project t-shirt too. The developers went home happy and enthusiastic, and by now, even Microsoft was convinced...

Beta Time

Steady progress was made, and a beta was ready in time for the March 1995 Game Developer's Conference, but the event's organisers refused to allow Microsoft to use the event to announce the product. Instead, Alex St John hired out the Great America Theme Park over the road, and threw a launch party called Ground Zero, attended by more than 1,500 developers. You can bet the bar tab was enormous. The betas of the development CDs were barely ready in time too. "We finished the beta with literally minutes to spare", explains Eisler. "I remember roaring down 405 at 120mph in Eric's Mazda RX7 after being up all night, racing to make the Saturday morning Fed Ex pick-up so the CDs could be manufactured and shipped to us at the CGDC that Tuesday. The CDs arrived literally a couple of hours before we had to go on stage."

The product was then called 'Game SDK', but when a journalist lampooned the fact that it consisted of DirectDraw, DirectSound, and DirectPlay, referring to the package as 'Direct X', a new name was born. " We took it and ran with it", said Craig Eisler. "Every set of functionality became DirectSomethingOrOther."

DirectX 1.0 was eventually released on 30th September 1995, and consisted of DirectDraw for 2D graphics, DirectSound for a game's sonics and DirectInput for joystick and game controller compatibility and control. The team hurried to complete the project on time. As Eisler put it, "From April to September 30th of 1995 is a giant blur, but we pulled it off. A bunch of games shipped for Christmas 1995, and I got an ulcer and gained 25 or 30 pounds as an added bonus". After DirectX 1.0 had shipped, Eisler took a well earned three-week break, while St John and Engstrom went to Japan to launch DirectX 1J, which also proved a success.

The next two versions of DirectX were released less than a year after the first. With 2.0 imminent, Alex St John once again organised something special for the launch party, which took place at the Computer Games Developers Conference in April of 1996. The chosen theme was 'Pax Romana', and included a playboy model as Cleopatra and even live lions. DirectX coins were minted as souvenirs too. The project was going places, and DirectX 2.0 shipped on 5th June 1996.

Direct Thinking

And yet even as DirectX gained popularity, internal politics at Microsoft took their toll. The team wanted to port OpenGL from Windows NT to Windows 95 to enable consumer 3D graphics for consumers, but were unable to do so. Instead, for DirectX 3.0, they acquired UK-based RenderMorphics to create Direct3D, a set of graphics services used for creating and manipulating 3D environments and models. When the product was released on 15th September 1996, the DirectX radiation symbol logo had morphed into the familiar 'X' with a neon background. DirectX 3.0 also introduced special DirectInput files, a special Joystick Control Panel applet and an updated Virtual Math Coprocessor Device file to support Intel's MMX technology. DirectSound was supplemented with the DirectSound3D API. Two minor tweaks followed, DirectX 3.0a and 3.0b, which fixed very minor bugs.

Naturally, there was another launch party for Version 3. Taking over part of Red West, Microsoft's first off-campus building, the team threw a huge Halloween-themed bash.

DirectX 4.0 was planned for December 1996, and would allow access to some special features Cirrus Logic was going to put into laptop video chips. However, the chips were delayed, and with Version 4.0 put together in a rush (as usual), it was decided not to release it at all. Instead, the team got to work on DirectX 5.0, which shipped on 16th July 1997. This release added many improvements, such as support for force feedback controllers, multiple monitor support in Windows 98, a new Game Controllers control panel, better MMX support and an overall improved user interface. The software was incorporated into both Windows 98 and Windows 98 Second Edition. Windows 98 SE also incorporated DirectX 6.0, which was released on 7th August 1998 added new 3D features, bump mapping, texture compression and stencil buffers. There was also a performance increase over DirectX 5, and support for AMD's 3DNow! technology. DirectX 6.1 was released in early February 1999, and added the DirectMusic API originally planned for DirectX 6.0.

Versions 7 and 8, released through 1999 and 2000, added improved 3D graphics and sound support. Performance was speeded up, and attention was paid to lighting and texture compression. By the Year 2000, however, all three founding members of the DirectX team had left Microsoft, yet their legacy remains strong. DirectX 8.1, released on 12th November 2001, also formed the basis for the Xbox console, an ambitious project which would soon put Microsoft at the forefront of videogaming technology.

DirectX 9.0, released on 24th December 2002, continued to improve the package, with support for much longer shader programs than was previously possible. A series of minor updates followed, until at last we reach the current version, DirectX 9.0c, which was released on 7th April 2006. The last three versions of DirectX 9.0c, released December 2005 and February and April 2006, are designed for the .NET 2.0 framework. Unlike previous releases, which were made up of different modules, these DirectX releases are a single file and therefore much easier to use.

Read the full article in issue 909 of Micro Mart. On sale 6th July

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

TrackBack

TrackBack URL for this entry:
http://www.theeislers.com/MT_331/mt-tb.cgi/200