I’ve really loved using XNA Game Studio for game development. I think its been a great tool for hobbyists, students and even serious casual game developers. It looks like its time is about over though. While I was still at Microsoft there was a lot of talk about the demise of XNA but few wanted to come out and say “It’s dead” or really even give a clear message to provide to customers. It looks like that is changing though with a message to XNA MVPs last week. (XNA Phase Out Continues and Follow-up on DirectX/XNA )
Well not completely clear but there is some handwriting on the wall. So now what do we do for game development? Well there are a couple of options. People I know who are still on the academic team at Microsoft have been promoting MonoGame for multi-platform gaming. (See some links at Windows 8 Game Development Links) And there is Direct X as well.
What is MonoGame?
MonoGame is an Open Source implementation of the Microsoft XNA 4.x Framework. Our goal is to allow XNA developers on Xbox 360, Windows & Windows Phone 7 to port their games to the iOS, Android, Mac OS X, Linux and Windows 8 Metro. OUYA, Windows Phone 8, PlayStation Mobile and Raspberry PI are currently in development.
In many ways this looks like the option to go for. I have heard from a number of Microsoft people that MonoGame is where people should be turning. Microsoft may not be running it or officially supporting it but they seem to be happy it is being developed.
I admit to being pretty disappointed about the whole thing. I can’t say I’m surprised because Microsoft was probably not making a ton of money from XNA. The big gain for Microsoft were that it made it easy to create games for the XBOX and for Windows and Windows Phone. I have not idea how many applications built on XNA but I suspect that if the number was large enough to pay for XNA development after everyone else took their piece of them we’d still be seeing XNA being developed.
The other thing that happened was that the programming model for Windows 8 (specifically why they are calling Windows Store Apps but used to be called Mono) is significantly different from Windows 7 and Windows Phone 7. That means that using XNA to create Windows Store apps was going to require a lot of work (spelled M O N E Y) and that probably wasn’t going to fly.
The other win for Microsoft was that it enabled a lot of self-taught programmers and student programmers to get a good and fun start developing for the Microsoft platform. The current focus on the part of Microsoft seems to be less concerned about that goal. A number of products with this goal in mind have gone by the wayside over the last few years. Popfly and the Non-Professional Developers program it came out of for example. Some features that were put into Visual Studio but which are no longer included for another. Expression Web seems to be going away with the official line that Visual Studio lets you do all the same things. I can’t say I am happy about that decision either.
These are business decisions and of course we see other companies do the same things. Notably Google dropping some products that a lot of teachers I know were using. It’s the way of things. It’s why most of the best and most long lasting tools for teaching CS come out of universities rather than companies. (BlueJ, GreenFoot, Alice, Scratch, and now App Inventor – handed over from Google to MIT just to name a few.)
Things in the computer industry change with astounding rapidity and that is not likely to change. The trade off between tool power and tool ease of use seems to be leaning towards tool power. This may be great for professional developers (though I have some doubts about that) but it is horrible for beginners.
Related blog posts: