Windows 8 Game Development For The Win
With the recent announcement by Unity and Epic on tool and framework support for Windows 8, I thought it would be good to review all the options for game development on Windows 8 and provide pointers to the support you need to get your game in the store. Games are going to be some of the most popular apps on Windows 8 and you are in a great position to take advantage of this huge opportunity. How huge? The Windows Store Blog sums it up well:
With more than 630 million Windows 7 licenses sold to date, across 200+ countries and regions around the world, Windows has an unrivaled global reach. Combined with the flexibility of monetization options that the Store provides, Windows 8 represents the single biggest developer opportunity for any platform.
Developers have a plethora (lots) of options when it comes to language, framework and tools for creating a game for Windows 8. Below I tick off the ones I know about for C#, C++ and JavaScript developers with some pointers to resources. The bottom line is once you have your game up and running the last step is to get the game Windows 8 Store ready. That involves adding a few finishing touches like Live Tiles, Snap View, Screen Resolution and Portrait/Landscape support , etc. so that the game integrates into the Windows 8 Store and plays well on all the devices that run Windows 8.
GenerationApp provides design and technical consultations, video tutorials and technical articles that will help you each step of the way to getting your app in the store. We are here to help you take full advantage of this lucrative opportunity. |
C# Developers
Unity |
Unity announced support for Windows 8 at their annual Unite conference. We are all waiting for more details to emerge but in the mean time lets learn a little about Unity.
Unityis a game development tool that has been designed to let you focus on creating amazing 3D games. Unity supports threescripting languages : JavaScript, C# (Mono), and a dialect of Python named Boo. All three are equally fast and can interoperate. All three can make use of cross platform .NET libraries from Xamarin which support databases, regular expressions, XML, networking and so on.
Screenshot: Unity3D Tutorial
MonoGame |
MonoGameis an Open Source implementation of the Microsoft XNA 4 Framework. MonoGame allows XNA developers on Windows & Windows Phone to port their games to the iOS, Android and now Windows 8. Using MonoGame for Windows 8 you can take your XNA code and with a recompile along with some additional code to support store requirements create a game for the Windows 8 store. ARMED! which is currently available for downloads from the Windows 8 Store is a great example of what is possible using MonoGame.
Screenshot: ARMED! available in the Windows 8 Store
I recently wrote an amazing 3 part blog series on MonoGame that takes you step by step through the process from getting your development environment setup to getting your game Windows 8 Store Ready.
XAML/C# |
If your skills are based in XAML and C#, you have a great set of tools to create casual 2D games from scratch using Visual Studio and Blend. You can easily apply animations to text, images and shapes on the screen using the built in animation tool.
The animations you define can modify any of the objects attributes overtime including position to create movement, transparency to make things appear and disappear and skew to change the shape and so on. I have personally seen some fantastic games being developed in our Hackathons using XAML/C# and achieving great results in just a few hours. XAML/C# is great for board games, flash cards, children's education games and the like.
Screenshot: Sprite animation using Blend for Visual Studio 2012
HTML5/JS Developers
GameSalad |
GameSalad Creator is a fast and easy way to develop games. Its visual, drag & drop interface and complex behavior library provide almost limitless freedom to game designers. Bring your work to life in hours and days instead of weeks and months.
Screenshot GameSalad GameCreator IDE
The free edition is quite powerful providing game development and testing capabilities. Testing is paramount for making a good game into a great game. GameSalad’s In-App Previewer allows you to test your game logic and behavior sets. For $299 a years you can upgrade to the pro edition which provides more publishing options and app monetization capabilities. GameSalad’s publishing system allows for fast and easy cross-platform game publishing to all supported platforms, including Windows 8 , iOS, Android, Kindle, Nook, and Mac desktop. You can also publish your games instantly to GameSalad Arcade - powered by HTML5 technologies - and make them accessible to more than a billion people! |
GameMaker |
Screenshot: Froad
YoYo games announced on 9/20 that they will p[rovide an update to gamaeMaker to support game development on Windows 8 and Windows Phone 8. From the press release:
YOYO GAMES ANNOUNCES GAMEMAKER: STUDIO SUPPORT FOR WINDOWS 8 AND WINDOWS PHONE 8 DEVELOPMENT
Get Ready to Easily Publish High Quality Games with Unique Design to the
Windows Store and Windows Phone Marketplace
DUNDEE, Scotland and SAN FRANCISCO – September 20, 2012 – YoYo Games today announces that GameMaker: Studio, its cross-platform games development environment, will support Microsoft Corp.’s launch of Windows 8 and Windows Phone 8. GameMaker: Studio allows developers to create games in a single code base and then easily export with one button click and run them natively on multiple formats including HTML5, Facebook, Android, iOS, Windows and OS X. GameMaker: Studio for Windows 8 will be available for developers prior to October 26 while GameMaker: Studio for Windows Phone 8 will be available following device availability later this year.
CreateJS |
Frameworks are incredibly useful as they supply the infrastructure, scaffolding and utilities that most programs require and they shorten he development lifecycle considerably. For HTML5 game development you may want to consider CreateJS. For an example of the power of CreateJS check out the Atari developer site to see what GSkinner.com, Atari and Microsoft have reimagined using CreateJS.
Screenshot: CreateJS Arcade Game Collection
CreateJS is a suite of modular libraries and tools which work together to enable rich interactive content on open web technologies via HTML5. These libraries are designed to work completely independently, or mixed and matched to suit your needs. The CreateJS Suite is comprised of: EaselJS, TweenJS, SoundJS, PreloadJS, and Zoë.
Here is a short overview of each of the libraries that compromise CreateJS:
Visit the CreateJS website for more information and to download the libraries.
Chris Bowen has written an excellent 4 part tutorial on how to create a 2D casual game using CreateJS. He takes an XNA/C# tutorial called Catapult Wars and ports the game to Windows 8 using Create/JS.
ImpactJS |
ImpactJS is a JavaScript Game Engine that allows you to develop cross platform/browser HTML5 Games. The Impact developer license costs $99 and includes:
|
|
Jesse Freeman, well known for his blog, conference appearances and book on HTML5 Game Development, has recently joined Microsoft as a Technical Evangelist based in NYC. His book on developing HTML5 games using ImpactJS is available on Amazon. Jesse writes on his experience in using ImpactJS for game development on Windows 8 in this blog post. |
Construct 2 from Scirra |
Construct 2 is a ground breaking HTML5 game engine from Scirra. It lets anyone make games - without any programming experience. Construct 2 is suitable for people who:
Construct 2 is available at 3 price points:
The Free edition has a limited number of sound effects and events and is useful in evaluating the product. The Personal edition is for individual developers. The Professional is for development teams. Those editions do not have any limitations. |
Construct 2 supports building games for Windows 8. There is a great tutorial that can help you get started here.
HTML5/JS using Canvas |
The HTML5 canvas is great for creating games. In a game you generate or display graphics in real time and then change them at regular intervals based on user interaction or through physical properties that you encode into the logic.
Dave Isbitski has a great video post on the basics around creating a casual 2D game using HTML5/JS and the Canvas element. If you have HTML5/JS skills then you have what it takes to create basic games that draw and animate sprites, keep score and play sound.
Cut the Rope was the first example of an HTML5/JS game ported to Windows 8. Download the game and try it out.
Screenshot: Cut the Rope
Getting Started with JavaScript Game Development on Windows 8
C++ Developers
DirectX |
C++ and DirectX development offers the greatest power to developers. A DirectX app typically combines programming logic, the DirectX API, and High Level Shading Language (HLSL) programs, together with audio and 3-D visual assets to present a rich, interactive multimedia experience. Visual Studio includes tools that you can use to work with images and textures, 3-D models, and shaders without leaving the IDE to use another tool.
Screenshot: First Person Shooter C++/DirectX Sample
- Walkthrough: a simple Metro style game with DirectX
- Shooter App Sample Code
- Developing Marble Maze, a Metro style game in C++ and DirectX-
- Marble App Sample Code
Epic Games Unreal Engine 3 |
Unreal Engine 3 is under the hood of many of the best computer and video games. From entertainment software to training simulations, the Unreal Engine provides the platform and tools needed to develop cutting-edge 3D projects.
Epic recently announced the availability of the Unreal Engine 3 for Windows 8 Game development. From the press release:
Epic Games , Inc., in collaboration with NVIDIA , today presented the first public demonstration of Unreal Engine 3 (UE3) running on Windows 8 and Windows RT during Asus’ press conference at the IFA 2012 electronics trade show in Berlin.
A live, real-time demonstration of Epic’s “Epic Citadel” app, which has been released for iOS and Flash, was shown on the Asus Vivo Tab RT, the device formerly known as Tablet 600.
While this is not an exhaustive list, I hope that it gives you a sense of the breadth of support for languages, tools and frameworks available to all developers wishing to take advantage of the huge opportunity that game development offers on Windows 8. –bob
Technorati Tags: Windows 8,Win8,Visual Studio,Unity,MonoGame,Mono,XAML,C#,HTML5,JavaScript,CreateJS,ImpactJS,Scirra,Construct2,DirectX,C++,Game Development
Comments
Anonymous
September 04, 2012
x-linked - dfwiki.devfish.net/technology.Windows-8-Game-Development.ashx - great post!Anonymous
September 06, 2012
"The HTML5 canvas is great for creating games." ...if you have no other option.Anonymous
September 21, 2012
Excellent job! A lot of detail in here, and a ton of great tools for developers.Anonymous
October 08, 2012
and the news is?Anonymous
December 09, 2012
Hey, I just stumbled across this. I would really like to use MonoGame since I played with XNA quite a bit in the last year. However MonoGame doesn't seem complete yet and it seems people are worried about using it since there is not more further support for XNA. Is it worth continuing with it or should I move on? Just curious of your opinion. Thanks for the great article!Anonymous
March 04, 2013
And what about cocos2d-x? I hear it's pretty goodAnonymous
May 19, 2013
Please don't forget this one that is also free http://waveengine.net/ :) Regards