Get started with DirectX game development

[This article is for Windows 8.x and Windows Phone 8.x developers writing Windows Runtime apps. If you’re developing for Windows 10, see the latest documentation]

Learn the basics for getting started with DirectX game development.

Why develop a DirectX game?

The answer is simple: you want to make a game that is graphics- or multimedia-intensive, and can use the features that many current graphics hardware devices provide. You may find this more complicated if you are new to game development, or if you have no experience with Windows development and C/C++, but there's still some good news: this is the simplest and most cohesive version of DirectX yet -- and the most powerful and feature-rich.

Planning your game is essential. If you are new to game development, and your game does not have demanding graphics requirements, consider developing it as a Windows Runtime app using JavaScript or Windows Runtime app using C++, C#, or Visual Basic instead. Also, there are many gaming middleware graphics and game development packages available for Windows platforms, and for some you don't need in-depth programming knowledge.

You develop Windows Runtime apps with DirectX and C++. We recommend that you have a good foundational knowledge of computer programming before you start developing with DirectX, because you will need strong knowledge of Windows resources and computer algorithms to use it effectively. A good understanding of linear algebra and trigonometry will also help you grasp the nature of many of the types and APIs you'll use as you develop your game.

That said, if you are confident, read on!

What is DirectX?

DirectX is Microsoft's most extensive collection of graphics and multimedia APIs for game development. There are APIs for almost all aspects of the game development process: 2D and 3D graphics, audio, input, and text resources.

DirectX contains several sets of APIs:

  • Direct2D, a library of 2D graphics functions.
  • Direct3D, a library of both 2D and 3D graphics functions, and high-level shader language APIs
  • DirectWrite, a library of text and font rendering functions, particularly well suited to graphics and game development.
  • DirectXMath, a library of numerical methods and math functions for game development.
  • XAudio2, a full-featured audio and signal playback and mixing library.
  • XInput, a library of functions that support game controllers.

Get started with DirectX game development

Here's some help for the new DirectX game developer getting started creating Windows Store C++ games for Windows 8.

In this section

Topic Description

Work with 2D graphics in your DirectX game

We discuss the use of 2D bitmap graphics and effects, and how to use them in your game.

Work with 3D graphics in your DirectX game

Learn about the development of 3D graphics and effects, and how to incorporate them into your game.

Manage assets and resources for your DirectX game

Learn how to create, manage, convert, and load graphics assets and resources in your DirectX game.

Work with audio in your DirectX game

Learn how to develop and incorporate music and sounds into your DirectX game, and how to process the audio signals to create dynamic and positional sounds.

Work with input and controls in your DirectX game

Learn how to develop input methods and controls in your DirectX game.

Work with networking in your DirectX game

Learn how to develop and incorporate networking features into your DirectX game.

 

Developing the Windows Store C++ Marble Maze game with DirectX