C++ & Direct X on Windows 8

Windows 8’s new Metro platform offers developers the possibility to build not only apps, but also new, immersive NUI (natural user interface) gaming experiences.

In the UK we have over 217 gaming courses, Microsoft is working to make sure that gaming devs have the necessary resources to start creating Metro games tailored to the next version of Windows and allow students to start developing some real portfolio and experience of gaming industry by allowing them to easily and simply upload their completed games to the Windows Store.

We have a selection of material available to help educators and students get started on the Windows 8 Metro Style Game development with resources such as ‘Building your first Metro style game with C++’ which is available via the Windows Dev Center. The Windows Dev Center offers developers the guidance they need to start coding.   Additionally we have resources at the dev center for XAML/C#, HTML5/JS and it’s important to understand that leveraging C++ implies that the games built will be much more than simple Metro apps or existing XNA windows phone or XNA creator apps.

Again in terms of curricula change and enhancement, it is important to understand that A Metro style game with C++ is a game developed using native C++ APIs, such as DirectX, that have been made available to the Windows Runtime. This model is more complex than the usual Metro style app, but it provides greater flexibility and greater access to system resources, especially graphics devices. So, it is a good model for the experienced developer.

Essentially, a Windows 8 Metro DirectX game built with C++ implies delivering a graphics- or multimedia-intensive experience to end users, taking advantage of the graphics hardware.


The following Channel9 Video https://channel9.msdn.com/Events/Windows-Camp/Developing-Windows-8-Metro-style-apps-in-Cpp/Cpp-and-DirectX-for-Metro-Style-Games goes into more detail and there is a whole set of resources for Developing  Windows 8 Metro Style Apps in C++ https://channel9.msdn.com/Events/Windows-Camp/Developing-Windows-8-Metro-style-apps-in-Cpp

In terms of gaming technologies and development skills, I like to break them down into the following categories

  • HTML/JS casual game developer.
  • XNA/.NET developer.
  • C++/DirectX developer.

In terms of  academic module constructs you ideally need to break them down as follows

1) Windows 8 Developer Overview – From the UX-to-the-Store see Windows 8 Curricula and resources now at Faculty Connection.

2) What does a game developer need to think about doing with their game for Windows 8 (e.g. input mechanisms, screen sizes and resolutions, settings, WinRT APIs for storage and settings, suspend/resume APIs). see Windows 8 Metro Style Gaming  

Resources and Curricula

Your source for curriculum resources and tools to help with your teaching needs. Visit the Microsoft Faculty Connection Resource Center.

Comments (3)
  1. kinect_dev says:

    There really needs to be a way to make 3D applications (not just games) using managed code (C#). C++ does not have a monopoly on 3D and there is no reason it is inherently better at "doing 3D". I hope they either bring back XNA for metro or provide some other managed implementation of a 3D engine.

  2. Lee Stott says:

    Hi Kinect_Dev In regard to your question of XNA for Metro there is answer


    MonoGame is an Open Source implementation of the Microsoft XNA 4 Framework. Our goal is to allow XNA developers on Xbox 360, Windows & Windows Phone to port their games to the iOS, Android, Mac OS X, Linux and Windows 8 Metro.  PlayStation Mobile development is currently in progress.


    Sickhead Games have officially announced that ARMED! for Windows 8 Metro, thanks to MonoGame. These versions are using the, under HEAVY development, develop3d branch of MonoGame.

  3. kinect_dev says:

    Thanks for the link to MonoGame. I love that it's a CodePlex projet. It gives a little more credibility. I wil definitely give this a try. I'm not interested in the iOS or Android compatibility. I'm pretty much just focused on Win8 and WP7 (WP8).

    I'm sad that XNA isn't an option on Win8. My XNA games always ran beautifully on Windows Phone 7, even on the cheapest hardware. Performance was never an issue. The main reason I want a managed language for my games and app is that they have a TON of non-graphical code, lots of network code and business logic to support the social aspects of the game. Writing and maintaining all that would be a HUGE pain in C++. I don't think half of the libraries I use even exist for C++.

    Another issue is the Hybrid issue. I have tons of menus, controls, pages and HTML content in the games. For WP7 I was able to do all of that in Xaml and only do the 3D part in XNA. I don't know how that would even work in C++ or even in MonoGame.

    Anyway, maybe MonoGame is my only answer going forward. I'll take a look. Thanks again!

Comments are closed.

Skip to main content