So You Wanna Make a Game?
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:
- A PC running Windows 8 (or a Mac with the appropriate tools to run Windows 8)
- A copy of Visual Studio 2012 Express for Windows 8
- A valid Windows Store account
- (optional) Third-party game framework of choice
The first three are required, and I'll cover them in the next section.
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.
|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-boot||Full Upgrade||Virtual 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.
Install Windows 8 to dual-boot
Dual-boot using VHD
Create a bootable USB drive from a Windows 8 ISO
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)||Professional||Premium / Ultimate|
Indie Devs on a budget*
Pro Devs wanting integrated ALM
Development Teams / Studios
Visual Studio 2012 downloads
Visual Studio 2012 downloads
Purchase Visual Studio 2012
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.
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 and ImpactJS, which are great for writing HTML5 Canvas games, tools like YoYo Games GameMaker, Scirra's Construct 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:
- Create a Windows Store developer account
- Open the Windows Store developer dashboard (log in with your Microsoft Account, if not logged in)
- Click the Submit an App link (as seen below) to create a new release and reserve a name for your app
- 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.
- Follow the remaining steps, up to the Packages step…each step has help if you need it.
- 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…
- 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.
- 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.
- 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.
- 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!
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:
- Designing Video Games – tips and tricks for developing your game idea, storyboarding, etc.
- How to Think of a Good Game Idea
- Construct 2 Game Examples
- Construct 2 Beginner Tutorial
- HasGraphics Sprites – set of 10 free sprite sheets
- HasGraphics Textures – free tilesets for background textures
- Sfxr 8-bit Sound Generator – great fun app to create old-school game sounds
- Bfxr – Enhanced, online app inspired by Sfxr, generate and save old-school game sounds
- FreeSound.org – music and sounds, many with licenses friendly for game devs
- Open Game Art – Textures, objects, sprites, and more
- More Game Resources – Graphics, Music, Sound, and more
- Additional Free Game Assets
- Free Stuff from IndieGameDesigner
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.