.NET Zone is brought to you in partnership with:

G. Andrew Duthie, aka devhammer, is a Technical Evangelist for Microsoft's Mid-Atlantic States district, where he provides support and education for developers working with the Microsoft development platform. In addition to his work with Microsoft, Andrew is the author of several books on ASP.NET and web development, and has spoken at numerous industry conferences from VSLive! and ASP.NET Connections, to Microsoft's Professional Developer Conference (PDC) and Tech-Ed. G. Andrew is a DZone MVB and is not an employee of DZone and has posted 40 posts at DZone. You can read more from them at their website. View Full User Profile

So You Wanna Make a Game?

03.11.2013
| 3175 views |
  • submit to reddit

There's a new kid in town, maybe you've heard of him…Windows 8? Or maybe you've heard about his sibling, Windows RT. Maybe you've heard that over 60 million licenses for Windows 8 have been sold as of January, and recognize what that means in terms of a large and growing potential customer base.

Or maybe you've heard about the Keep the Cash offer, which provides $100 per eligible app published to either the Windows Store or the Windows Phone Store between March 8th and June 30th, 2013 (for up to $2000 per developer), and want to take advantage.

Or maybe you're a student, and you've heard about the Windows 8 App Madness Challenge, in which students can receive $100 per app (up to 5) they successfully submit to the Windows Store.

However you got here, you may have the question…how do I get started? I'm here to walk you through, step-by-step.

The 30,000 Foot View

To publish an app or game in the Windows Store, you'll need the following:

  1. A PC running Windows 8 (or a Mac with the appropriate tools to run Windows 8)
  2. A copy of Visual Studio 2012 Express for Windows 8
  3. A valid Windows Store account
  4. (optional) Third-party game framework of choice

The first three are required, and I'll cover them in the next section.

Prerequisites

Let's walk through the process of getting the necessary prerequisites, step-by-step

Step 1: Get Windows 8

You can get Windows 8 in a variety of ways…pre-installed on a new PC is probably the easiest, but you can also buy a retail copy in a box, or purchase a Windows 8 upgrade and download it immediately. And students may qualify to get Windows 8 Pro for a discounted price of $69.99.

Students may also have access to Windows 8 through their school's DreamSpark Premium account. To find out if your school participates in DreamSpark Premium, click here and click on the "More Software Through Your School" tab, then search for your school using the search box, and follow the instructions.

But if your budget won't accommodate purchasing an upgrade at the moment, and you don't have access via DreamSpark, you're not out of luck. On the Downloads page for Windows Store app developers, there's a link to the evaluation version of Windows 8. NOTE: this is a 90-day trial version which will expire and cannot be upgraded. So keep that in mind when considering using it, and make sure you back up any important data prior to the expiration.

Summary
Pro DevsStudentsEval
Get Windows 8 on a new PC
or buy online 
Check if your school has DreamSpark Premium
or buy a copy at a discount
Get a Windows 8 90-day eval

Step 2: Install Windows 8

Once you've obtained a copy of Windows 8, assuming you didn't get it on a new PC, you'll need to install it. There are several options for how you can install and run Windows 8, and which you choose depends on your particular circumstance:

Dual-bootFull UpgradeVirtual Machine
Pros: Existing OS preserved
Cons: Requires additional disk space
Pros: fresh start, less disk space required
Cons: Requires migration from old OS
Pros: Isolated from host OS, easy to remove/restore, etc.
Cons: Requires additional disk space, may have performance impact, depending on virtualization software, etc.
How-to: 
Install Windows 8 to dual-boot
Dual-boot using VHD
How-to: 
Create a bootable USB drive from a Windows 8 ISO
How-to: 
Install Windows 8 in a Virtual Machine

Create a Cloud-based Windows 8 app lab – for free

One nice thing, for folks who haven't installed Windows in a while…the Windows 8 installer is FAST! In fact, I decided to test how quickly I could get a virtual machine with Windows 8 and Visual Studio 2012 up and running, and I was able to go from VM creation to running my first Windows Store app project in around 35 minutes flat. And that's on a machine with a CPU that's several generations old (Core 2 Quad) with 6GB of RAM and the VM on a rotational HDD.

NOTE FOR MAC USERS: There are likewise many options for running Windows 8 on a Mac, including dual-boot with Bootcamp, or in a virtual machine using Parallels Desktop,VirtualBox, or VMWare Fusion.

Step 3: Install Visual Studio 2012

This step is pretty straightforward, with the only real questions being which version you want, and where to get it.

In order to develop Windows Store apps, at a minimum, you need Visual Studio 2012 Express for Windows 8, which is free (note that to use the Express edition for more than 30 days, you do need to register the product). You can also use Visual Studio 2012 Professional, Premium, or Ultimate, as well.

Express (Free)ProfessionalPremium / Ultimate
Good For
Students
Indie Devs on a budget*
Good For:
Pro Devs
Indie Devs
Good For:
Pro Devs wanting integrated ALM
Development Teams / Studios
Get It: 
Visual Studio 2012 downloads
Get-it:
Visual Studio 2012 downloads
Purchase Visual Studio 2012 
Get-it:
Purchase Visual Studio 2012

Installing Visual Studio is pretty straightforward. If the version you downloaded includes Setup.exe, you simply run the setup program and follow the instructions. If you download a version that's distributed as an ISO image (file ends with .iso), you can simply copy this to your Windows 8 machine, right-click it, and select Mount, and Windows will show the contents of the ISO as a virtual drive. Once mounted, look in the root of the virtual drive for the Setup.exe file and run it. Again, just follow the instructions.

Developing a Game

Games can be developed using a variety of tools and technologies. You can write code from scratch in Visual Studio, HTML5 Canvas, C++, etc., or leverage frameworks and tools, as detailed below.

Step 4: Choose your Game Development Tool or Framework

One of the beauties of building games for the Windows Store is that there are a wealth of frameworks and tools available to build games, whether you're an HTML geek building games on top of Canvas, a hard-core C++ dev wanting to build on top of DirectX, or just someone with a great idea for a game, but not a lot of coding experience.

image image image imageimage image image

Bob Familiar, one of the managers for our east region evangelism team, has a great post outlining the many choices available for game development on Windows 8, from canvas gaming frameworks like CreateJS andImpactJS, which are great for writing HTML5 Canvas games, tools like YoYo Games GameMaker, Scirra'sConstruct 2, and GameSalad, which make it easy for even non-developers to create and publish cool games, and of course the tools and languages built into Visual Studio, C# (and VB) and XAML, C++ and DirectX (along with game engines like Unreal), and for 3D gaming made easy, there's Unity3D.

Be sure to read Bob's post in full…there are a ton of great resources there, so I won't steal them all.

Step 5: Publish

To get your app in the hands of Windows 8 users, you'll need to publish it to the Windows Store. Here's how:

  1. Create a Windows Store developer account
  2. Open the Windows Store developer dashboard (log in with your Microsoft Account, if not logged in)
  3. Click the Submit an App link (as seen below) to create a new release and reserve a name for your app
    StartAppSubmit
  4. Click App name to start the process, and give your app a unique name. You should plan to do this as soon as you know the name you want, to ensure that you can reserve that name.
  5. Follow the remaining steps, up to the Packages step…each step has help if you need it.
  6. Package your app, using the Store menu in Visual Studio 2012 for Windows 8 (in the Express edition, you'll find the store menu as a top-level menu, and in Pro and higher editions, you'll find it as a submenu of the Project menu, as shown below), by clicking Create App Packages…
    StoreMenu
  7. As a part of the step-by-step process for creating the package for the store, you'll be prompted to run the Windows App Certification Kit (WACK), as shown below. DO NOT SKIP THIS STEP! The certification kit is a great way to find issues with your app before you submit it, from performance and startup issues, to other things that will cause your app to fail certification.
    CreateAppPackages_Leader
  8. Once you've successfully passed the certification kit tests (and, for a bonus, get yourself a Surface RT or other ARM-based Windows RT device, and download the Windows App Certification Kit for ARM, and install your package on that device and test it there, to ensure no surprises when on a lower-power device), you can upload your package (the .appxupload file) in your store account dashboard.
  9. Once you've uploaded the desired package, you can add the description, logos, etc. needed to list your app in the store. A quick tip is that you should ensure that you include both keywords and terms in your description that users are apt to search on, to make it easier for them to find your app.
  10. Once you've filled in all the required information, the "Submit for certification" button on the Submit an app page will be enabled. Click it, and you're on your way!

Additional Resources:

Make sure that you sign up for the new App Builder site (formerly Generation App) for great resources, tips, and inspiration. You can also find information there on the Keep the Cash offer, which provides $100 per eligible app (up to 10) per developer, for both the Windows Store and Windows Phone Store.

When approaching a game idea, you might be looking for resources from graphics to sounds, and even perhaps design inspiration. Here are some resources that may help:

Last, but not least, there's a nice step-by-step PDF walkthrough for preparing to develop a game that was put together for the App Madness Challenge, with additional resources beyond those listed here.

Published at DZone with permission of G. Andrew Duthie, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)