I am building a 3D action and adventure game and will show the steps that I take to build it from scratch. The game will be initially made for Windows using Visual Studio Community, C++ and Direct X.
I chose Microsoft Windows as the books I was reading (see below) were based on Windows. When I first chose to learn how to make games back in the year 2000, there were not many books or online information then for other platforms.
I initially used Win32 to make the game for the desktop first so that I can get the game off the ground and I can share it by creating a .exe (executable) file. Windows has gone the way of the “app” – so I have started using UWP which will work on a Windows desktop and Xbox.
I am aiming to make the game available on other systems. Visual Studio can be used to create for other operating systems. I was also planning to play with Unity 3D as well to see how easy or hard it was to do so – Unity can also port to other systems including mobile devices. I also want to use Xcode as well to learn how to create apps for Mac OS/X.
I will add content as I get time. You can follow the progress of the coding of the game on github.
At the moment, due to copyright, I built a 3D basic level with the help of the book by Frank D. Luna, but I can’t share the code due to copyright. Initially I will provide links to his code, but eventually I will rebuild the code from scratch using free Microsoft tools (eg: the DirectX Kit).
In order to create the 3D game, I am reading the following books:
- Beginning C++ Through Game Programming by Michael Dawson
- Introduction to 3D Game Programming with DirectX 12 by Frank D. Luna
- Beginning DirectX 11 Game Programming by Allen Sherrod and Wendy Jones
- Tricks of the 3D Game Programming Gurus by Andre LaMothe
- Tricks of the Windows Game Programming Gurus by Andre LaMothe
- Programming a Multiplayer FPS in DirectX by Vaughan Young
I am also studying ID software’s code for their games (Doom, Quake, etc). Their code is very readable and also gives you ideas on how to structure a game.
Finally I am searching online for other information and tutorials. I have added some links on the Resources page.