Let's start in 1994. The year would see the release of countless PC classics: Descent, DOOM II, The Elder Scrolls: Arena, Heretic, Jazz Jackrabbit, Star Wars: TIE Fighter, System Shock, UFO: Enemy Unknown, and Warcraft: Orcs & Humans. While these games were developed exclusively for PC, none of them were developed for the Microsoft Windows platform. Instead, every single one of these classics was developed for Windows’ predecessor, MS-DOS, as were all but a few PC games at the time.
This fact didn’t sit right with three Microsoft evangelists: Alex St. John, Craig Eisler, and Eric Engstrom. Their discontent with Microsoft’s lack of vision for Windows as a gaming platform, as detailed in Eisler’s own blog post, would set them on a path that would forever change video game development on both PC and consoles.
Project Manhattan (Windows Game SDK / DirectX 1.0)
By November 1994, Microsoft was in the final months of development for its upcoming operating system, Windows 95. During this time, Alex St. John was visiting game developers to help facilitate compatibility between developers’ existing DOS games and Windows 95. In these visits, St. John would also ask developers, ‘Would you consider making your next game on Windows?’
The response was always negative.
At the time, there was a shared view by developers that Windows was both slow and troublesome to develop for, with many opting instead to develop for the aged but much simpler MS-DOS.
This view appeared self-evident after instances such as the disastrous port of The Lion King using Windows’ new WinG graphics engine, which caused Disney’s helplines to become overwhelmed with calls from furious parents having just talked down their children from crying over a BSOD. Meanwhile, all the kids playing the game on Nintendo’s SNES or Sega’s Genesis (Mega Drive) would instead weep over how surprisingly difficult a game supposedly designed for children could be.
In response to this, St. John recruited Craig Eisler and Eric Engstrom and began to work on a solution they internally referred to as ‘The Manhattan Project.’ The name, and legacy radiation logo, was taken from the codename given to the development of the first nuclear weapons, later used by the United States against Japan in the final days of World War 2.
The Manhattan Project was chosen as a code name because (according to St. John) it reflected the teams’ desire, as an American company, to displace the dominant Japanese companies within the videogame market. Microsoft would later ask the team to change the name, but this wouldn’t be the last time St. John would showcase his insensitivity and lack of self-awareness.
Within four months and with the support of video card manufacturers, such as ATI, the team had developed a ‘Game SDK (Software Development Kit)’. This SDK contained new APIs (application programming interfaces) such as DirectDraw, which enabled hardware acceleration of 2D graphics rendering, DirectSound, which allowed for multiple audio streams among other enhanced audio capabilities, and DirectPlay, which handled online communications.
The naming philosophy behind these APIs was to allow games to have ‘direct’ access to the hardware and to minimise interference from the Windows operating system while applications were running. This didn’t go unnoticed by press at the time, as one journalist mocked the naming convention and inadvertently coined ‘DirectX’. The team unabashedly repurposed the name for all future APIs (Direct3D, DirectInput, etc.) and used DirectX as the umbrella term that it remains today.
Now that Microsoft had DirectX at its disposal, it needed games to use it.
So, where better to start than DOOM? The DirectX team approached then head of id Software, John Carmack, and offered to port the DOS versions of DOOM and DOOM II to Windows, free of charge, and id would keep the publishing rights with no strings attached. Carmack, with seemingly nothing to lose, gave them the games’ source codes and development of what would eventually become DOOM95 began, headed by Gabe Newell—the very same.
DOOM95 not only ran exceptionally well for a game on Windows but was superior to its original DOS version in several ways. It was able to render the game at a whopping 640x480, supported 24 more audio channels, and facilitated a much simpler multiplayer setup through a graphical user interface. All thanks to the DirectX APIs.
The release of DOOM95 was hugely important for Microsoft as not only was DOOM estimated to be installed on more PCs in late 1995 than Windows 95 but the company used it as key promotional material for Windows as a gaming platform. Even Bill Gates got involved, donning a shotgun and trench coat in the absolute gem of a video above that was shown to developers at a Microsoft Developer conference. DOOM95 released on August 20, 1996, making it the first DirectX game ever published.
Legacy & DirectX 12
The rest, as they say, is history. DirectX and its numerous iterations—not including the DOA DirectX 4—have and continue to shape videogame development for Microsoft Windows.
The API wasn’t glowingly received by all developers, however. In 1996, John Carmack famously described Direct3D, the primary API responsible for the hardware acceleration of 3D graphics rendering, as ‘horribly broken’. This opinion manifested itself in id Software exclusively developing everything from Quake II to Doom 3 using the competing OpenGL API. Though he’s since changed his mind.
The API is also largely responsible for the existence of the Xbox, with the original console using a heavily modified version of Windows 2000 and DirectX 8.1, and its name an elision of its conception as a ‘DirectX Box’.
The latest iteration of the API, DirectX12 Ultimate, promises ‘unprecedented alignment’ between Microsoft Windows and the impending Xbox Series X. Presumably, this alignment will allow game developers to seamlessly develop for both Windows and Xbox Series X devices without having to adapt their approach much at all—and we already know the next-gen console will share much of the same hardware as our gaming PCs.
It also brings shiny new graphics hardware features like DirectX Raytracing (DXR), Variable Rate Shading, Mesh Shaders, and Sampler Feedback. All of which Microsoft hopes will help stem the adoption of Vulkan, the spiritual successor to OpenGL, which is eyeing up cross-industry adoption for itself.