Linus Torvalds: "Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program."
Introduction to Game Programming with DirectX
Windows Game Programming Fundamentals
Before learning how to program DirectX games, basic knowledge about Win32 programming must be acquired. In the following tutorials, a first fundamental framework for any Windows-based games is created, featuring a robust game loop with time management. The framework encapsulates all the tedious details about Windows programming, such that later, more advanced tutorials, can simply focus on their core ideas, without having to worry about being bothered by Windows.
- Hello World!
- A Thread-Safe Logger
- A real-world Windows application
- Of the Moon and the Sun
- Handling Important Windows Events
- Keeping Track of Time
- The Game Loop
- Keyboard and Mouse
- Of Icons and Cursors
- A First Framework
DirectX Fundamentals (mostly Direct3D)
With all the nasty Windows stuff nicely hidden away, we will learn about Direct3D (we will use Direct3D 11.0, which works on Windows 7, Windows 8 and Windows 10) and the High Level Shader Language to draw vertices to the screen. We will also learn how to make Direct2D and DirectWrite co-operate with Direct3D to output text to our game window. To round things off, we will learn about DirectInput to handle user input (we will only cover the keyboard and mouse) and FMOD (not a part of the DirectX API) to add sounds and music to our game.
Putting them all together, those little tutorials provide us with a very robust application framework that we can use to quickly program a few more advanced features (advanced tutorials) and later on - hopefully - a small game of our own.
- First Contact
- The Swap Chain
- Viewports and Render Targets
- Going Fullscreen
- Text with DirectWrite
- Of Shaders and Triangles
- Among Colourful Stars
- Let the Music Begin
- Game Framework
(in alphabetic order)
- Game Programming Algorithms, by Sanjay Madhav
- Game Programming Patterns, by Robert Nystrom
- Introduction to 3D Game Programming with DirectX 11, by Frank D. Luna
- Microsoft Developer Network (MSDN)
- Tricks of the Windows Game Programming Gurus, by André LaMothe