NOTE: As of July 29, 2014, this blog post is no longer being maintained. Instead, you should go to the following top-level page which will be maintained periodically:
New Page: http://wakeupandcode.com/cpp-directx/
- Xbox One Index Page: http://wakeupandcode.com/xb1/
- Tiny URL for this page: http://http://tinyurl.com/learn-cpp-directx
If you’ve read my last post about Xbox One indie game development, you can guess that I’ve returned from ID@Seattle by now. I’m under NDA, so I cannot reveal any confidential information that was presented at the event.
However, as I’ve mentioned in the aforementioned blog post, developers have been encouraged to build games for Windows 8 using C++ and DirectX. So, where should one start?
You can start with the following introductory books and online resources:
- Beginning C++ through Game Programming, by Michael Dawson
- Beginning Game Programming, by Jonathan S. Harbour
- Beginning DirectX 11 Game Programming, Allen Sherrod & Wendy Jones
- Introduction to C++ and DirectX Game Development Jump Start
- DirectXMath: for all 3D calculations
- Input and Controls in DirectX:
- DirectX11 Forum:
- Chuck Walbourn’s blog:
- Troubleshooting weird issue when using XMMATRIX:
Recommended by Dave Voyles of ArmlessOctopus.com, ” former XNA MVP Michael McLaughlin [Bob Taco Industries] wrote the free book…” C++ Succinctly. It is written with the idea that you would be transitioning from a C# background to C++”
- DirectX Tool Kit (aka DirectXTK): http://directxtk.codeplex.com/
- DirectX Tex: http://directxtex.codeplex.com/
“… they were made by Shawn Hargreaves and Chuck Walbourn, a couple of super smart Microsoft developers. So the code is pretty high quality.”
Recommended by Frank Savage (former XNA Development Manager and current Principal Development Manager for Xbox One), “For those interested in going truly deep, there is this book…”
Practical Rendering and Computation with Direct3D 11, by Jason Zink, Matt Pettineo, Jack Hoxley
Suggested by Stuart Green, “For anyone wanting to learn 3D programming with C++ using DirectX11. I would highly recommend the tutorials at www.rastertek.com. It helped me get a much better understanding of OOP and encapsulation. There are also some tutorials covering OpenGL, virtual worlds and network programming.”
Suggested by Onur Ağbulut, “I would like to suggest Professional C++ . It teaches readers C++ with real life usage examples of the language rather than giving basic examples of each topic such other books do.”
Professional C++, by Marc Gregoire, Nicholas A. Solter, Scott J. Kleper
Suggested by Dave Voyles, “I’ve got to say that Ivor Horton’s book has been by far the best to read. It’s broken down into small, simple tasks, and he goes into detail about the whens and whys of why something occurs.”
Ivor Horton’s Beginning Visual C++ 2012, by Ivor Horton
By the time more information is revealed publicly about Xbox One indie game development, you’ll be well prepared to develop games for the next-generation console from Microsoft!
If you want to take a break from technical books, there are a lot of lessons to be learned from the history of game development.
Recommended by Cathy Vice (aka IndieGamerChick): “I would also suggest some gaming history books. Ultimate History of Video Games, The Rise & Fall of Atari, and Game Over by David Sheff. Game creators need to learn from the successes and failures of those great and small that came before them.”
- Game Over: How Nintendo Conquered The World, by David Sheff
- Zap!: The Rise and Fall of Atari, by Scott Cohen
- The Ultimate History of Video Games: From Pong to Pokemon, by Steven Kent