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.

Download Windows 8

Downloads Visual Studio 2012

image

C# Developers

Unity image

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.

image

Screenshot: Unity3D Tutorial

MonoGame image

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.

image

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# image

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.

image

Screenshot: Sprite animation using Blend for Visual Studio 2012

HTML5/JS Developers

GameSalad image

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.

 

gamesalad

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! image

 

GameMaker image

image

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 imageimage

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.

image

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:

image EaselJS provides straight forward solutions for working with rich graphics and interactivity with HTML5 Canvas. It provides an API that is familiar to Flash developers, but embraces Javascript sensibilities. It consists of a full, hierarchical display list, a core interaction model, and helper classes to make working with Canvas much easier
image TweenJS is a simple tweening library for use in Javascript. It was developed to integrate well with the EaselJS library, but is not dependent on or specific to it. It supports tweening of both numeric object properties & CSS style properties. The API is simple but very powerful, making it easy to create complex tweens by chaining commands
image Consistant cross-browser support for audio is currently a mess in HTML5, but SoundJS works to abstract away the problems and makes adding sound to your games or rich experiences much easier. You can query for capabilities, then specify and prioritize what APIs, plugins, and features are leveraged for specific devices or browsers.
image PreloadJS makes it easy to preload your assets: images, sounds, JS, data, or others. It uses XHR2 to provide real progress information when available, or fall back to tag loading and eased progress when it isn’t. It allows multiple queues, multiple connections, pausing queues, and a lot more.
image Zoë is an AIR application that converts SWF animations to sprite sheets. Simply drag a SWF onto the application, and Zoë will automatically detect the required dimensions for the images in your sprite sheet, maintain any frame labels present in your SWF (for controlling playback), and export a sprite sheet. Other advanced features are also included.

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.

image

 

ImpactJS image

      

ImpactJS is a JavaScript Game Engine that allows you to develop cross platform/browser HTML5 Games. The Impact developer license costs $99 and includes: image
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.

image

    

 

Construct 2 from Scirra image
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:
  • Want to start making their own games
  • Want to make production quality games
  • Want to rapidly prototype new games
  • Want to move on from old tech like Flash

Construct 2 is available at 3 price points:

  1. Free – $0
  2. Personal – $100
  3. Professional – $350

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.

image

Construct 2 supports building games for Windows 8. There is a great tutorial that can help you get started here.

HTML5/JS using Canvas image

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

More great content from Dave

Getting Started with JavaScript Game Development on Windows 8

C++ Developers

DirectX image

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.

image

Screenshot: First Person Shooter C++/DirectX Sample

 

Epic Games Unreal Engine 3 image  image

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 good

  • Anonymous
    May 19, 2013
    Please don't forget this one that is also free http://waveengine.net/ :) Regards