Nathan Fouts quit his job at Insomniac Games in 2006 to strike out on his own as an indie developer, ultimately settling on Microsoft's XNA as his development platform of choice -- and here, he reflects on the tool, which Microsoft last week announced will be discontinued.
XNA Game Studio is a tools suite developed by Microsoft, first available in 2006. It's a mid-level, code-based set of libraries for development, lower level than Unreal or Unity -- both which come with built-in editors.
XNA was last updated in 2010. As of last week, Microsoft has stated it will officially stop support in 2014. The company has also stated XNA will not be supported in Windows 8.
That's now. To appreciate what XNA meant to developers and gamers we have to go back.
Before Big Indie
Walk with me for a moment, down the corridors of time. The year is 2006. Cee Lo Green is big on the radio, instead of the TV. That Borat guy is crazy! They rebooted James Bond and he's looking pretty tough. George W. Bush is in his second term as president, and the Vice President just shot his friend while hunting!
It's 2006, and indie games aren't a "thing" yet. "But I've been playing N and Rag Doll Kung Fu, and I think Kenta Cho is a genius!" Yeah, and you are really into the scene. It's not a multimillion-dollar industry. There are no Humble Bundles; Minecraft and Braid are years off. Most gamers don't know indie games.
For me, in 2006, I'm working at Insomniac Games, doing the weapons for Resistance: Fall of Man. It shipped as a launch title for the PlayStation 3. The new Xbox came out last year, and Microsoft has really revamped the Xbox Live Arcade store since the first Xbox. I've been hearing stories about that Geometry Wars game getting millions of downloads. Millions? But it's really small and not even sold in a real store. And it's only five dollars? Wait, how many people did it take to make that game? Only two? Really?
With the prospect of starting my own studio and directing my own console games, I asked an old programming friend to begin work on a game engine based on Microsoft's Managed DirectX (MDX). He works on it for months; it's slow going, as there are many systems to get into place. We talk about game designs and how to use his new engine when it's finally far enough along.
Then he tells me there's talk of MDX giving way to some new system. He downloaded the first version of XNA and he is gutted; all his work is worthless. In fact, he tells me, it's so far beyond anything he's been doing in terms of creating mid-level game development libraries that it would take him years to generate everything that's already available in this new XNA suite.
The original XNA logo.
What You Could Do
XNA Game Studio is a prototyping dream. It's at a low enough level where you can build anything you can dream of, but has an excellent blend of higher-level systems handling tons of work for you. Graphics, audio, input, storage, networking... everything is wrapped in almost universally excellent APIs. Moving from C/C++ over to C# and getting all these sensibly-named, documented libraries for free was too good to be true.
I've worked professionally in the industry since 1998, mainly using C/C++ and UnrealScript. I'd never programmed in C# before, but within four months using XNA, I had made an extremely powerful and robust level editor, animation editor, and object construction system. Using my XNA-based editors, a year later, I finished Weapon of Choice -- my first independent game -- largely by myself and of high enough quality to be ranked in the Guinness World Records 2010. XNA is just that good.
XNA has excellent support of high-end 3D visuals but also has full coverage for 2D rendering, making it unusually good for both amateur and professional use. When pushed to its limits, Garbage Collection and slow floating point processing present significant hurdles, but even these can be overcome as evidenced by the many high quality games created using XNA. The suite has been recognized by the industry as well, winning two coveted Frontline awards from Game Developer magazine.
Because XNA exists less as an engine and more as an extremely robust, superbly useable library system, there is no "XNA look", as sometimes comes with other engines. Popular XBLA and Steam games have been built with XNA, such as The Dishwasher series and Terraria, and on the other end of the spectrum, XNA is used in many school projects used around the country from Maryland to Kentucky to Arizona.
The end-all, be-all, can't-believe-it's-not-butter part of the whole XNA thing is that you can develop and publish your very own video games to a contemporary, powerful home console. Over the years, there have been pushes towards hobbyist console development, ranging from the XGameStation to the Net Yaroze. But still, nothing comes close to being able to walk into a store, buy an Xbox 360, download some software and start making games on that very system.
Microsoft launched the Community Games channel in November 2008. My company's own Weapon of Choice was a launch title. As can happen with uncharted territory, Microsoft made missteps, such as not having a rating system in place, not sharing sales data till later the next year, and sometimes-poor maintenance of critical sorting lists in the marketplace.
But the entire build it-test it-publish it system worked. Amazingly smoothly too; you develop on your PC and run games right on your retail Xbox 360 using XNA Game Studio.
Even things like the peer review system, while not without hiccups, have shaken down over the years to a fairly well functioning state. It's still a mind-blowing experience to have people across the world playing a game on their TV that you made.
The Xbox Live Indie Games channel did go through changes -- starting, obviously, with its name. The saddest thing was that Microsoft itself seemed frequently internally conflicted about how to handle the platform.
Obviously, an unregulated marketplace will have lower quality and amateur products show up; it's inevitable. But instead of acknowledging the prospect of amateur titles and then pointing to the best games on the channel -- such as Miner Dig Deep, Beat Hazard, Soulcaster, Protect Me Knight, or Breath of Death VII -- Microsoft publicly seemed to ignore the channel. Several Xbox 360 Dashboard updates would seem to further try and hide the XBLIG "problem."
How the games are presented to users greatly impacted what games are popular and played by more people. Problems surrounding these public-facing lists were a big issue when using XBLIG. The Top Downloads list showed what were supposed to be the most popular games. But this list, which users expected would update frequently and consistently to reflect new games arriving, often lagged -- sometimes resulting in stilted game launches.
Initially, sorting methods were limited and finding games was difficult. These are not problems only inherent to XBLIG or XNA, and have since been solved. Now the Xbox dashboard supports a search option and recommendations which increase discoverability of all games. But there were certainly growing pains for XBLIG.
The Allure of TV
The first time I got something rendering on my TV using my Xbox 360 it felt incredible --something magical, arcane, and forbidden. Growing up with Atari, the Sega Master System, and playing Super NES, there was no possible way, no matter how hard you tried, to make your own games for console back then. That dream came true with XNA and XBLIG. Barriers were broken; the smallest independent developer could accomplish the same as the largest, wealthiest publisher, selling a game on a home console.
I can still remember how excited I was to get my first tree drawing on the Xbox.
The particular timing of it all is key. Braid is released in 2008 and Flower follows it in 2009; independent games are suddenly blossoming. Employees were leaving big companies, forming indie studios. For those seeing full-time indie development as possible, now XNA made it an option on a console, not simply for PC.
The Xbox 360 marketplace launched in 2005, with PlayStation 3's store following in 2006. Nintendo's WiiWare didn't launch until 2008, the same year the iPhone's App Store and Xbox Live Community Games launched. Microsoft was clearly influenced by these different ecosystems, but went a step further with a nearly-completely community driven process. Microsoft pioneered open console development and continues to lead the way with XBLIG. Though quality output and management of XBLG may be sore subjects, I believe XNA and XBLIG pushed other big-platform decision-makers to consider making more room for independent developers.
XBLIG launched many a successful game studio, starting with Ska Studios, creators of The Dishwasher series, also Zeboyd Games, creators of Cthulu Saves the World, Radiangames with its popular twin-stick series, and Magical Time Bean, creators of Escape Goat, in addition to our own work.
The XNA game forums have more than 500,000 registered users. There are over 2,800 games made with XNA Game Studio for XBLIG.
Games released on XBLIG have cracked millions of downloads, millions of dollars in revenue, and some have even topped a million sales. Dozens of Xbox LIVE Arcade and Steam games such as Bastion, Fez, Dust: An Elysian Tail, and Terraria have used XNA Game Studio in part or in full.
Nick Gravelyn, long-time XNA developer and supporter started a hashtag a few days ago, which quickly exploded into hundreds of developers responding with what the platform meant to them. Some remarks centered on business, some on artistic inspiration, and many mentioned having made their first game because of the platform.
The most amazing pair of posts had to be from Ska Studios:
And the simplest but probably most important, echoed by others:
Where Do We Go From Here
Skulls of The Shogun was originally built in XNA and was just released on XBLA. My own Serious Sam Double D XXL was created in XNA and releases to XBLA in mid February. Charlie Murder and Terraria (the XBLA version) are just down the road. While "abandoned", it's still in heavy use. For those that wish to continue using XNA, MonoGame looks to be a solid choice on PC. While there's no spoken commitment yet to bringing XBLIG back to the next Xbox I'm still hopeful Microsoft will have some open-develop option available.
As always, there are options for PC, such as Unity and GameMaker, but for many gamers, PC development doesn't hold the same mystique. Will Android consoles such as the Ouya and the GameStick fill in the gap? Clearly, the issue there is user base. If those consoles fail to sell, it won't be the same opportunity as it is with XBLIG -- having millions of potential gamers being able to play your creations.
Regardless of where the future leads, XNA came at a time when indie games were growing and it helped them grow. Despite being created by a multibillion-dollar corporation, XNA still managed to facilitate volumes of honest game creation and foster new careers in development. XNA will be missed. Let's remember the high notes of open console development and well-designed game libraries as we move forward...
Thank you. It will be missed. It has made its mark in history, and has made indie development what it is today.