Next week I will be at the Develop Conference, attending some of the 103 sessions, 5 keynotes, and on the Microsoft stand at the Expo. I’m looking forward to networking with the 1500 developers and 450 companies during the event and discussing the opportunity of developing Windows 8 Metro Style games.
On http://msdn.microsoft.com/en-us/library/windows/apps/hh452780.aspx we list options for developing Windows 8 games.
At present there are over 50 games available in the store using the above technologies, here are some good links to get started
· Metro style app using C++, C#, or Visual Basic and XAML. You can use managed code languages like C# and Visual Basic to develop 2D (and lightweight 3D) games. If you have developed in Silverlight for Internet Explorer or Windows Phone 7, this model will feel very familiar.
· Metro style C++ with DirectX. You can develop both 2D and 3D games that effectively use the graphics processing horsepower on a range of Windows desktops and 3D-enabled Windows devices, from high powered gaming rigs to low power slates. It requires a strong working knowledge of Windows programming and native C/C++.
There are a number of online tutorial around Marble Maze which is a DirectX game written in C++. This leads you to the more basic “Hello World” example over here although while the results of that example are “Hello World” in nature.
There’s another, more realistic sample over here with a walk-through to build up a Metro style shooting game. It takes the form of a completed code sample and a walk through of what’s going on in that sample.
It runs to around 40 source files.
The key learning outcome for starting to build games for Metro are as follows as these would make excellent starting points for curricula development for Developing Metro Style Games.
1) Understanding how a Metro style app gets on the screen – i.e. the infrastructure around IFrameworkViewSource and IFrameworkView.
2) Understanding C++/CX which is a bunch of C++ extensions relatively familiar to people like me who’ve come from the C++/CLI world but a bit odd to a regular C++ developer.
3) Understanding some of the technologies used like the Parallel Patterns Library (PPL) which our default templates throw at you.
4) Understanding some of the C++ 11 techniques like lambdas which our default templates also throw at you.
5) Understanding how a Metro style app is meant to work from the point of view of lifecycle management (i.e. suspend/resume/terminate).
6) Understanding the WinRT APIs available and their main usage and purpose.
Steps 5 & 6 are common to any Windows 8 Metro style app developer.
As we are all aware, there are many game engines /frameworks (middleware) available. Some of these are already supporting development for Win 8 metro games whilst others are planning to support it within the coming months. I have listed the ones which are or have short terms plans to support W8 metro apps. I am sure that there will be more to come…
A full games development tool/suite – physics, rendering, scripting, AI etc.
Windows 8 Metro support: coming soon (for GA)
An Open Source, OpenGL implementation of the Microsoft XNA 4 Framework
Windows 8 Metro support: coming soon (‘later this year’)
Dev languages: C#/XNA
SharpDX is an open-source project delivering the full DirectX API under the .Net platform, allowing the development of high performance game, 2D and 3D graphics rendering as well as realtime sound application.
Windows 8 Metro support: Now
Dev languages: C#
Hi Lee - interested in your comment about Unity supporting Windows 8 but not seeing a reference to that anywhere else - do you have spies in the unity empire? Would be very excited to see Unity commit!!
Some interesting comments here www.edge-online.com/.../unity-looking-windows-phone-8-support expect to hear move over the next few weeks.
"MonoGame is an Open Source, OpenGL implementation of the Microsoft XNA 4 Framework. Our goal is to allow XNA developers on Windows & Windows Phone to port their games to the iOS / Android / Mac OS X, Linux and later this year PlayStation Suite and Windows Metro."
MonoGame is under heavy development to support Windows 8 Metro App using SharpDX.
"The ANX.Framework is a platform independent game framework which is compatible with Microsofts XNA Framework.
BTW: ANX is the acronym for 'ANX's not XNA' and XNA is the acronym for 'XNA's not acronymed' ;-)"
ANX is the first project started to use SharpDX for Windows 8 Metro App.
"The Axiom 3D Rendering Engine is a fully object oriented 3D graphics engine using C# and the .Net platform. Axiom 3D aims to be an easy to use, flexible, extendable, and powerful engine that allows for rapid development of games and other graphical applications. By using the .Net framework as the target platform, developers can focus more on core functionality and logic, rather than dealing with the complexities of languages like C++."
AXIOM is being ported to SharpDX.Direct3D9 and will probably be using SharpDX for Windows 8 Metro.
"The Delta Engine allows you to develop applications and especially games for all major AppStore platforms completely under Windows with .NET by using your favorite tools. The engine and all sample games are free to use on Windows, Open Source and written in 100% .NET. If you plan to deploy your application on other platforms a Marketplace license is required!"
Delta Engine is using SharpDX for its Windows Desktop and Windows 8 Metro port.
Windows 8 and Windows Phone 8 deployment tools will both be part of the Unity 4 release cycle. For more information about Unity 4 and the other services that Unity Technologies offers, please visit http://unity3d.com/.