Game Development with Win32 and DirectX 11 - Part 00: Setup
In this first lesson of my tutorial series, we'll look into setting up a complete development environment for game development using C++, Win32, and Microsoft DirectX 11.
Prerequisites
Now, some of you might be wondering why we are using Win32 rather than a cross-platform wrapper like SDL or GLFW. Well, since we'll be using Microsoft DirectX to handle everything from our graphics to our sound, there's really no need for a cross-platform solution. Using Win32 may not be as easy as SDL or GLFW, but it will allow for a much more customizable user experience. Before we get started though, we need to make sure you have all the prerequisites required for this tutorial series.These are not the only prerequisites you will need. As the series progresses, we'll be adding more dependencies.
Experience
The first and most important prerequisite for this tutorial is C++ experience. This tutorial is not intended for C++ newcomers. I recommend you have knowledge of, and experience working with all or most of the following C++ concepts:- Using and writing operator methods
- Dynamic memory management
- Using and writing namespace, classes, and structures
- Using friendship, inheritance, and polymorphism
- Templates
- Exceptions
- Type casting
- C++11 changes
Software
Knowledge and experience aren't the only things needed for this tutorial series. You'll need the help of a few software packages to get the most out of this tutorial series. Though it is possible to substitute most of the packages listed below with other packages (possibly open-source), I will not explain how to do so as this tutorial series is designed to be used with the packages below. Microsoft Windows Obviously this is the most important piece of software you'll need. Without a complete, working Windows environment, you would have nowhere to compile or test your code. I recommend that you do not install Windows through a virtual machine as this will severely increase compiling time and keep you from being able to properly test your project. For this tutorial series I will be using Windows 7 Professional 64-bit. This tutorial is not tailored for use with any other Windows version (e.g. Vista or 8), although I don't see any reason why it wouldn't work with Windows 8 (though I currently am unable to test it). I also recommend using a 64-bit install of Windows as it will allow you the ability to use more than 4GB of RAM, allowing for more available memory (if you have more than 4GB).Microsoft Windows XP and prior do not support DirectX 11.Microsoft Visual Studio 2010 Now, we'll need a compiler. I've opted for Visual Studio rather than open-source equivalents because I have a lot of experience with it. Now, if you want to download Visual Studio, you can go to the Visual Studio download page and grab Visual C++ Express 2010. I will be using Visual Studio 2010 Professional, but this turorial series is designed for use with Express. If you will be using Visual Studio 2012, you will need to change your Platform Toolset setting for the project (please find a tutorial on how to do so). Microsoft DirectX SDK Without the DirectX SDK, you would have no way of using any of the DirectX modules. You will need to pick up the latest one (June 2010) from the download page. After installation, it should create a folder in your Program Files (or Program Files (x86) on 64-bit Windows) called Microsoft DirectX SDK (June 2010). In here is pretty much everything you need to get working with any of the DirectX modules. Please note that for graphics, we will be using Direct3D 11. The June 2010 SDK is currently the only SDK version that supports Direct3D 11 and thus using a prior one will not allow you to complete this tutorial series properly.
In Microsoft Windows 8 and above, you will need to download the Windows SDK rather than the file above (the DirectX SDK comes packaged with the Windows SDK).
Lesson Tasks
Please perform the following actions to prepare yourself for the next tutorial:- Install all of the software packages described above (or your chosen equivalent).
Coming Up...
In the next tutorial, we'll get the Visual Studio project set up and make sure all the dependencies are in order.Related Tutorials
Balancing Game Development and Creative Direction in Indie Production
A practical look at how indie developers can balance creative direction with hands-on game development. This article co…
My Unreal Engine Development Process: From Core Idea to Playable Build
A practical overview of my Unreal Engine development process, covering how I move from a core game idea to a playable b…
Introducing LaneGraph: The Ultimate Road Network Solution for Unity
Discover the power of LaneGraph, a lightweight and flexible lane-based navigation system for Unity. LaneGraph makes it…
Retargeting Mixamo Characters with Root Motion In Unreal Engine 5.4.
I have always found Retargeting Mixamo Characters To have Root Motion is a serious lengthy Tast, Recently I stumbled up…
How To Make A SIMPLE Main Menu In Unity
In this tutorial for unity, i go over how to make a simple main menu for unity, it's an unlisted video because i do not…
Guide to Gameplay Balance
A perspective on competitive gameplay balance, from a background of "shooter" sandbox design.
Discussion
More from Josh Vega
Game Development with Win32 and DirectX 11 - Part 00.5: Concept
In this quick article, I will let you know what to expect in the future of this tutorial series.
Game Development with Win32 and DirectX 11 - Part 01: The Basic Framework
In this second lesson of this tutorial series, we'll start getting our hands dirty by setting up a Visual Studio projec…
Discussion