Even though I’m no longer a Developer Evangelist with Microsoft anymore, the dead-ending of their XNA games development toolset upsets me. This development was quietly announced to XNA MVPs (Most Valued Professional – an officially recognized “civilian evangelist” for a Microsoft technology or tool, a title which comes with a fair number of perks) in their mailing list. Until MVP Promit Roy shared the following snippet of the email on his blog, it was generally unknown:
The XNA/DirectX expertise was created to recognize community leaders who focused on XNA Game Studio and/or DirectX development. Presently the XNA Game Studio is not in active development and DirectX is no longer evolving as a technology. Given the status within each technology, further value and engagement cannot be offered to the MVP community. As a result, effective April 1, 2014 XNA/DirectX will be fully retired from the MVP Award Program.
You could think of XNA as a thin wrapper around a bunch of DirectX’s components, but I preferred to think of it as a way to make game development simple and deployable to a number of Microsoft platforms: Windows, Windows Phone and Xbox 360 (and if you have a soft spot for stillborn platforms, Zune). I loved XNA because it made the hard stuff easier and the seemingly impossible possible; it also allowed an eager game developer go, as I liked to put it, “from zero to awesome in sixty minutes”. I myself ran a series of game development tutorials for university students in eight cities across Canada during TechDays 2010, where I gave them a forty-minute crash course in native mobile game development:
Best of all, I did it from scratch: by live-coding up a simple game, from
File -> New to playable demo, right in front of their eyes. In my allotted forty minutes, I walked them through the basics of sprite textures, moving them about the screen, collision detection, playing sounds and, since I was talking about XNA game development for Windows Phone, touch detection. We started with simple variable declarations and finished with an amusing game called Biebersmash (named after Scott Hanselman’s game, BabySmash), a Bieber-flavoured “punch the monkey” game.
I’ve seen some great 2D and 3D XNA-based Windows Phone apps built by local developers, and I worked hard to make sure that they got noticed by both the game-buying public as well as The Powers That Be within Microsoft. Of note was Mike Kasprzak’s incredibly addictive Smiles, pictured below:
Here’s a little Smiles gameplay:
Also of note was Sudoku 3D by Alexey Adamsky and Alex Yakobovitch, which used XNA’s 3D mode to present the gamer with a maddeningly frustrating yet addictive twist on Sudoku:
And XNA was a big part of the game design and development courses at the University of Toronto, some of which were taught by my friend Steve Engels, who’s featured in this video:
When XNA’s aggressive update schedule — five major updates in under two years — suddenly stopped with XNA 4.0 in the fall of 2011, it was cause for concern. Some people saw the writing on the wall a little earlier than others, and given Microsoft’s history of hyping certain technologies and giving them lots of love and attention in the beginning and then letting them die from neglect, their arguments were credible.
Still, many developers held onto the hope that the technology that they loved and that had enriched their lives would go on. It’s a rare thing when developers get emotionally attached to a toolkit, but developers did get emotionally attached to XNA. While it doesn’t have the fanbase of something like Rails, there was enough of a Twitter groundswell. Seriously, check out the tweets with the hashtag #BecauseOfXNA:
#becauseofxna I moved from MI to WA, got paid to write Zune HD games, worked at MS for 2.5 years, and currently contract with Turn 10.
— Nick Gravelyn (@nickgravelyn) January 31, 2013
#becauseofXNA – I am a published author and got to travel to Seattle and meet dozens of awesome developers and MS personnel
— Jim Perry (@MachXGames) January 31, 2013
#becauseofxna I released games, ran business, did blog/mag/radio interviews, spoke at conferences & worked in games for my childhood heroes.
— Deejay (@BinaryTweedDeej) January 31, 2013
#BecauseofXNAI’ve gone to Germany, became an MVP, spoke at GDC, helped sell thousands of titles through an indie promo, made a game…
— Dave Voyles (@DaveVoyles) January 31, 2013
#becauseofXNA I could afford to fly my family to visit my father before he passed away
— Bill Fowler (@dadooGames) January 31, 2013
#BecauseofXNA I was able to start a small game company and peruse being and Indie Game developer as a full time endeavor.
— DigitalDNA (@DigitalDNAGames) January 31, 2013
#becauseofxna FEZ happened, and I realized that I wanted to do games programming for a living, and am doing it right now!
— Renaud Bédard (@renaudbedard) January 31, 2013
#becauseofxna I’m not stuck working for someone else. Also, you know, a million sales is nice. :-)
— DjArcas (@Fortress_Craft) January 31, 2013
#becauseofxna my childhood dream came true. Just wish I could show the kid version of me the game I made with this technology.
— Chaosoft Games (@ChaosoftGames) February 1, 2013
#BecauseofXNA Hating C++ and being a game developer is not mutually exclusive
— Nick Landry (@ActiveNick) February 1, 2013
— James Silva (@Jamezila) February 1, 2013
— Codeglue (@Codeglue) February 4, 2013
It breaks my heart to see the hopes of these developers’ hopes dashed.
Microsoft’s official stance is that XNA remains a supported technology, but speaking as a former insider, I would take that with a softball-sized grain of salt. It simply means that it works on the current platforms, and no more. If you’ve got an XNA project with a user base, you can continue for a little bit. However, if you’re thinking of starting something new, take XNA off the list of possible tools. While platforms and toolsets never quite truly die, they often become undead, and that’s no good to you.
DirectX, it would seem despite the confusing messaging from Microsoft, is an ongoing concern (but don’t believe them completely). That’s cold comfort to the developers who built their games and careers on XNA; while DirectX is the underlying technology, it’s the XNA wrapper that brought them in.
It’s yet another Microsoft technology that entered with much fanfare, followed by much fandom, then left to die like a forgotten dog in a car on a hot August day. It’s another sign of the rot deep within The Empire, and some very big problems with which their (mis)management has to contend. While I have much to say on that topic, I’ll leave the final word to Promit Roy, who sums up my opinion on whether or not you should bet on the Microsoft platform:
Just to be clear, I don’t attribute any of this fumbling to malice or bad faith. There’s a lot of evidence that this type of behavior is merely a delayed reflection of internal forces at Microsoft which are wreaking havoc on the company’s ability to compete in any space. But the simple ground truth is that we’re entering an era where Windows’ domination is openly in question, and a lot of us have the flexibility and inclination to choose between a range of platforms, whether those platforms are personal computers, game consoles, or mobile devices. Microsoft’s offer in that world is lock-in to Windows, in exchange for powerful integrated platforms like .NET which are far more capable than their competitors (eg Java, which is just pathetic). That was an excellent trade-off for many years.
Looking back now, though? The Windows tech hegemony is a graveyard. XNA. Silverlight. WPF. DirectX. Managed C++. C++/CLI. Managed DirectX. Visual Basic. So when you guys come knocking and ask us to commit to Metro — sorry, the Windows 8 User Experience — and its associated tech?
You’ll understand if I am not in a hurry to start coding for your newest framework.