A friend and I are doing a 2D XNA game. Thus far, the API seems really cool and performance is acceptable. My question is more towards the release of it though. As other developers how have done games, how well have they done for you on PC (as far as downloads, sales, etc)? I know the statistics about the Xbox360 from seeing it personally but, I was curious as to how successful these were on PC?
I don't have any stats to compare the differences between XNA and non-XNA game sales - I'd suggest that data is impossible to come by - but I imagine it would show there is no difference for equivalent games. So let me answer your question with a run through of the major issues specific to distribution of XNA games on PC (particularly online):
First of all: For an XNA game to run the system needs to have installed: the XNA Framework, and the .NET Framework.
The XNA Framework is a fairly small download, easy to install, but will requires admin privileges - so will cause a UAC prompt as well as a EULA prompt. The framework is not upwards or downwards compatible - but can be installed side-by-side. (ie: a XNA 3.1 game needs XNA 3.1 and won't run on XNA 4.0).
The .NET Framework 2.0 is bundled on Vista and above, so I recommend targeting that (Project Properties -> Target Framework). [UPDATE: XNA 4 requires .NET 4, so this won't work any more]
The .NET 3.5 installation is very, very slow - I recommend avoiding it. I'm not sure about the full 4.0 installation, but the 4.0 Client Profile install is fast enough if you need newer .NET features (you probably don't - you can still use lambdas and extension methods in .NET 2.0).
A .NET Framework install will of course cause a UAC and EULA prompt. It can also cause a reboot.
Currently the "standard" way to distribute XNA games is with ClickOnce. You can do an online install - the downside is that your user gets a small "bootstrap" installer executable that pulls all the loose game files from your website. Alternately you can just distribute all those loose files and the installer in a zip. Neither of these is a self-contained executable file like users expect from most games.
A major pain of ClickOnce is that it will display several warnings about downloading unsigned software, which can look quite scary.
Another other downside of ClickOnce is that you don't have much control over things like, for example, what start menu entries you have.
The upside to using ClickOnce is that it's very easy to set up, and it will automatically download and install the required frameworks from Microsoft's website.
I am under the impression that these issues with ClickOnce can be solved by using an MSI instead - and it can still automatically download and install the required frameworks. I'm afraid I don't have specific instructions for this on hand.
If you do your own installation, or no installation at all, you need to be aware that your game executable will crash with an extremely unhelpful error message if the required frameworks are missing!
Oh, and your install might be a bit bigger (or a lot, if you include frameworks). If you're using XNA's built in content stuff (and why not, it's there and it's easy) your user might have more to download because the files aren't compressed as well as they might be if you handled it yourself (especially audio).
That's about it. Once the game is installed you're in pretty much an identical situation to any other game using native DirectX (ie: most of them).
(If you're doing something like CD-ROM distribution, instead of online distribution, you may face some of the same issues I described - but you can put everything that would otherwise need to be to be downloaded onto your CD instead, including the required frameworks.)
If you're doing downloadable shareware you're basically trying to get users along a chain from finding out about your software, to playing the demo, to buying the full game. The downside of XNA is that it makes the installation step in this chain a bit harder to polish - but it's still possible.
(IMO the upside of easier development and XBox compatibility is well worth it.)
So to bring this back around to your question: using XNA might make a tiny difference - but not enough that it matters. So any stats you find about PC game sales should be applicable to XNA games on PC.
|show 5 more comments|
It's been more than a year since this topic was created, and since then there's been quite a bit of development on the XNA side. For instance, here's a list with a few popular XNA games that have been released for PC and are currently being sold on Steam:
...and these are only the ones I happened to buy and noticed that they used the XNA runtime - I'm sure there are more of them that I'm unaware of.
And in case you don't know them, Terraria sold an amazing amount of copies (if you couldn't tell from the "over one million copies sold" disclaimer on the link above), remaining in Steam's best sellers list for a long time. And Bastion... well it just won three Spike VG Awards (incluiding best downloadable game of the year) a few days ago.
I also urge you to check the other games. Chime is an amazing casual/music game providing an extremely relaxing zen-kind of experience. And Sequence is a really original mix of DDR and RPG (with some music by Ronald Jenkees for those who know him). Finally, Magicka is an action RPG similar to Diablo which is also pretty cool.
I suppose that should say something about the feasibility of using XNA for developing PC games.
|show 1 more comment|
No idea on actual stats, but it might be worth seing if you can find anything about blueberry garden and flotilla. Both are written with XNA and both are avalible on steam. Flotilla even has some steamworks (just friendlist i believe) support built in
By creating your game using XNA, you are not going to hurt your sales too much. (Granted, users on Mac/Linux won't be able to play). What is going to be a bigger factor is the advertising, teasers, demo, and actual game play.
Most windows users are going to have everything they need to play your game. If you want to be really cautious I ubelieve you can have the installer check for requirements such as .net, xna runtime, directX, etc... And prompt them to install it.
Essentially, don't think that by using XNA, pure DirectX, or Direct3D that you will get bigger sales. You do get a bigger audience, but that doesn't equate to sales.
Focus on making a great game, invest some money in advertising (create a Facebook fan page and see if you can create some buzz there), spend time making a good teaser video, and most of all build a fun demo.