Our lovely friends at Microsoft made a lot of indie developers nervous last month when they decided to announce that XNA would not be supported in Windows 8. There wasn’t much info behind it, just a pretty vague statement that created a flood of questions. I was definitely surprised by this decision. It didn’t make sense to me why they would abandon something that seemed to be doing so well. Not only is this powering the entire XBLIG catalogue, it’s one of the main development platforms for the new Windows Phone 7 operating system. There has to be more to the story here. So I went searching for answers.
You lost me at XNA
I may have gone a little geek for some of you here so let me fill you in if you have no idea what I’m talking about. XNA is a development kit that runs on its own runtime environment that, in the simplest explanation possible, makes building a game way easier. It simplifies a lot of the more complicated sides of game development, so you can just focus on the important parts in making your game fun. This is especially appealing to those of us who didn’t really pay as much attention as we should have in our advanced C++ and math classes in college. XNA doesn’t really stand for anything. It’s just a cross-platform framework that lets you more or less develop a game and easily run it on any platform that supports it. You can develop a game that can run on the PC, Xbox, and Windows Phone 7 without having to modify very much of your code at all.
So enough tech talk. Let’s get back to Windows 8. The idea behind Windows 8 is so that no matter what Windows device you’re using, whether that be a laptop, tablet, or phone, you are using the same operating system. This is a very appealing idea for both developers and users. Knowing that you can run your favorite apps on your desktop or on the go with your phone or tablet is a great idea. The same idea goes for developing. The fewer versions of your app or game you have to create the better. If you’ve seen any of the Windows 8 demos, they’re heavily promoting the new Metro interface. If you’ve seen a Windows Phone 7 then you’ve seen Metro (which is also coming to Xbox 360 in the Fall Dashboard update). They’ve basically brought their colorful, touch friendly, tiled interface to desktops and tablets. The kicker here is it’s all HTML5 based. They’re even pushing HTML5 for apps and a plugin free browser. That sounds great in the mobile environment in terms of simplifying development and increasing battery life, but we all know that HTML5 can’t compete with XNA from a game platform standpoint no matter how much of the HTML5 kool-aid Microsoft is drinking right now. As a developer myself, I personally feel like people are building games in HTML5 just because they can, and not because it’s the best platform for it.
Well, it turns out it really just stops there. Behind Metro is the same old Windows 7 like interface that you’re familiar with, aka “Classic Mode.” So even though Metro isn’t going to support XNA, you can still install and develop for the framework just like you could in Windows 7. Your only real limitation is that you won’t be able to sell your latest XNA title in the Metro app store. XBLIG is remaining unaffected for the time as well, so no need to panic indie devs. Microsoft still loves you a little bit. They just still don’t know what to do with their phones. Unfortunately, it does sound like the new Windows Phone 8 could pose a few issues for developers planning on porting their games over if Microsoft follows through with an XNA and Silverlight free operating system on that device. I still refuse to believe that they’d abandon both technologies for game development just to promote HTML5 and Metro, but they’ve been known to do crazier things like invent Silverlight in the first place, thinking that it would replace Flash. We’ll see how all of this rolls out when it actually happens, but for now keep calm and keep on making games.
Speaking Code – Informational series about game development and the tools behind our favorite games.