Windows Store Game Development with Visual Studio 3D Starter Kit
Visual Studio 3D Starter Kit is a set of samples which examines the development of a basic game for Windows Store with the help of a Visual Studio 2012 project. It also ships with a kit which provides support for consuming runtime assets produced by the Visual Studio tools and it includes loading and rendering assets such as meshes, textures and shaders.
JP Duplessis, Principal Development Lead and Roberto Sonnino, software development engineer on the Visual Studio team at Microsoft recently demonstrated the functioning of starter kit with the help of a Visual Studio 2012 C++ project in a video created for Microsoft's Channel 9.
The video demonstrates the usage of common capabilities in 3D apps and games for the Windows Store such as loading textures, models and shaders. Moreover, you will also learn the usage of Camera class, XAML with DirectX, Model and Image Viewers, shader designer including the creation of 3D scene.
In an exclusive interview to InfoQ, Duplessis and Roberto share their views about the various aspects of Visual Studio 3D Starter Kit
InfoQ: Can you share with us the core features of Visual Studio 3D Starter Kit?
The Visual Studio 3D Starter Kit is a sample that shows how to use the Visual Studio 2012 tools to simplify some common tasks in DirectX 3D development for the Windows Store. The sample shows how to import a mesh, use pixel shaders created with the Visual Studio shader designer, create and load fallback shaders for ARM devices and older graphics cards and display meshes with bone animations.
InfoQ: Visual Studio 2012 includes support for DirectX. Then what is the need for the 3D Starter Kit?
We created the Visual Studio 3D Starter Kit to help demystify how to create games for Windows 8. The breadth of knowledge needed to create a 3D game can be overwhelming if you want to learn how to write a game, but you’ve never used DirectX before. To help developers get started on game projects, we wanted to provide some example code which you can learn from and adapt for use within your own game. The Starter Kit contains a header (VSD3DStarter.h) with several helper classes and methods, and a GameBase class (.h and .cpp) that make this work much easier.
The Starter Kit project also includes real examples of graphics assets such as images and meshes, so you can experiment with the Visual Studio graphics tools in a real project without needing to find separate asset files. For example, if you use the 3D Asset Pipeline to prepare your meshes, textures and shaders for runtime, you still have to learn how to load them into your app. The Starter Kit is an example of how to do that.
Finally, the Visual Studio 2012 support for DirectX is comprised of 6 main features:
Visual Studio Graphics Debugger
3D Asset Pipeline
HLSL IDE and MSBuild support
The Starter Kit gives you a complete project so you can learn how to use these tools in a real project for the Windows Store.
InfoQ: Is it possible to use the kit with all .NET Framework languages such as C# and VB?
The Starter Kit works only with C++; it's important to note that the Visual Studio tools can still be used in other projects, for example to compile HLSL files at build time, or to convert images to the DDS format for use in 3D applications.
InfoQ: Is it possible to work with starter kit under Windows 7 and Visual Studio 2010?
The Starter Kit is an example tailored for Windows Store apps (Windows 8 only). The VS Graphics tools can be used to develop Windows Desktop DirectX applications on Windows 7/8, but they only come with Visual Studio 2012.
InfoQ: It is possible to build 3D apps for Windows Phone using the kit?
The kit can be a good starting point to create applications for the Windows Phone, since the programming model is very similar to the Windows 8 model.
InfoQ: Is it possible to develop 3D applications for ASP.NET (Web based environment)?
The kit is intended to teach how to build standalone Windows 8 apps; it's not intended to target other platforms.
InfoQ: Are you aware of any real world product/app which is completely built using Visual Studio 2012 3D kit?
Since the kit is very new, we're not aware of any real world product that is completely built with the kit (except for our own Towers of Hanoi 3D)
InfoQ: Does Microsoft have any plans to integrate 3D kit into Visual Studio 2012?
At this point, it's too early to comment on what the future of integrating the 3D kit in Visual Studio 2012 might hold. We're excited to hear from the community about its usage of the current 3D kit, input about ways in which it can be improved, and then we’ll assess its path to further support of 3D developers.
InfoQ: Can you specify the future roadmap of the starter kit?
User feedback motivated our recent update to add support for the fallback shaders, vertex shader and displaying meshes with bone animations. We welcome additional feedback which we will consider for potential future updates to the Starter Kit.
Great work on the 3D starter kit example, and thanks for promptly updating it to play nicely with Surface RT.
Mike Amundsen May 29, 2015
Ben Linders May 28, 2015