DirectX Then and Now (Part 1)
I finally ordered my new gaming PC on the weekend (more on that in Part 2), and looking at the specs got me thinking about the amazing way things have changed since I started work on Direct X over 11 years ago. In November of 1994, 2 friends of mine (Alex St. John & Eric Engstrom) & I had what we thought was a simple idea - what if it was possible to give game developers access to the high end features of video cards? Would games finally migrate from DOS to Windows (specifically, Windows 95 back then)? Could Windows really be a gaming platform that could compete with Sega and Nintendo? At the time, it wasn't clear there was any way this could possibly happen. The efforts that I inherited when I went to work in the Windows 95 multimedia team were WinG, a port of bitmap APIs from Windows 95 back to Windows 3, and DCI, which gave access to the frame buffer of a video card but ignored all of the other cool features that were in video hardware.
The three of us figured we could do something about it, so that December Eric & I wrote a powerpoint and presented it to a bunch of game developers that Alex brought up. Thus was born a mad dash to build something to change the game so that high end games could run. We had to get to beta for the Computer Game Developers Conference (CGDC) in April of 1995, and I didn't write the first code until Christmas break 1994 - talk about a mad dash! Since multimedia on Windows had a bad reputation back then, we were adamant not to have our stuff associated with "multimedia" and so we called the first beta the "Game SDK". We got the idea to name it DirectX because some reporter made of fun of how we had DirectDraw, DirectSound, and DirectPlay - Direct "X" they wrote. We took it and ran with it, and so every set of functionality became DirectSomethingOrOther (Direct3D, DirectInput, DirectSound3D all followed).
The video card hardware folks LOVED the idea of something that took advantage of their hardware. ATI, Cirrus Logic, and S3 (there were others I'm sure but those are three I remember) all came up to the Microsoft porting lab in building 20 to get their hardware to work with DirectDraw (I lived in building 20 with those guys for almost 2 months). After a huge push we had a beta ready for April - it only worked on the ATI Mach 64 card (with what was then a huge amount of RAM - 4 megabytes) and a Soundblaster card. We finished the beta with literally minutes to spare - 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 pickup so the CDs could be manufactured and shipped to us at the CGDC that Tuesday. The CDs literally arrived a couple of hours before we had to go on stage.
From April to September 30th of 1995 is a giant blur, but we pulled it off, and a bunch of games shipped for Christmas 1995 - and I got an ulcer and gained 25 or 30 pounds as an added bonus. We even pulled together a CD with bunch of games on it that went into retail stores. The games had "high end" requirements of a Windows 95 PC with a 486 66mhz processor, 8mb of RAM, and a 256 color display card.
After we shipped DirectX 1, I took a vacation for about 3 weeks while Eric & Alex went to Japan to launch DirectX 1J. I heard stories of sushi on the face - they were quite popular in Japan, those two. While they were busy insulting a millenia old culture, I bought a Mazada RX7 and drove it home - having never driven a stick before. I used those weeks to teach myself to drive a standard transmission, and only had to have the clutch replaced after 4000 miles.
The next two versions were done less than a year later and were equally mad dashes - we shipped DirectX 2 on June 5, 1996 and Direct X 3 on September 15h 1996. Alex pulled off a way cool launch party for DirectX 2 at the Computer Games Developers Conference in April of 1996. 'Pax Romana' was the theme, with a playboy playmate playing Cleopatra, live lions and our own DirectX coins. The Hospitality Suite sign was from that show, and it stayed in my office at Microsoft for years (it now lives in my home office). While in my office at Microsoft, it had a clever edit from a co-worker that changed the "Hospita" to "Hosti". With that simple edit, my office forever became known as the "Hostility Suite" - a badge I wore with pride for years!
For the DirectX 3 launch that fall, we took over a part of "Red West" (the first off-campus building set Microsoft built) and did a huge Halloween launch party. There were Doom tournaments, a haunted house with some band where the lead singer dressed as a giant penis, and Alex, Eric & I dressed in demon outfits. All I remember of that skit was Alex and Eric doing a bit about arguing about whether horn width or length mattered and I came out wearing a giant set of horns ($500 buck custom job) and them shaking their heads and agreeing that horns didn't matter. DirectX 3 was where we first launched Direct3D, based on the technology of Rendermorphics, a company we acquired earlier that year.
After DirectX 3, we had planned a DirectX 4 for December 1996 that would allow access to some special features that Cirrus Logic was going to put into laptop video chips (I think, its been 9? years). When the chips got delayed, we opted not to ship DirectX 4 as it had us in a huge rush (3 months between 3 & 4) for no reason. We had also told the game developer community about Direct X 5 that was targeting summer of 1997, and so we decided to simply skip DirectX 4 rather than confuse people. DirectX 5 shipped on July 16, 1997 - and to this day, people ponder about what happened to DirectX 4. So much for avoiding confusion.
Around the end of DirectX 1 or the start of 2, we had a military coat made with the radiation logo and "Team Direct" put on it. We also had some patches made with code name of each project each time we shipped a version. You will never be able to pick out the theme...
Now here we are in 2006, DirectX is is on version 9, and the PC hardware for games is not to be believed - but more on that later. On a final note, I have seen internet debates of the dates of shipment of the various versions, so I thought I would set the record straight: here is my first "Ship It" block from Microsoft, and it has the dates of each release.