Tuesday, June 20, 2017

What is the future of XNA in Windows 8 or how will managed games be developed in Windows 8?



I know this is a potential dupe of this question, but the last answer there was 18 months ago and a lot has happened since.


There seems to be some uncertainty about XNA in Windows 8. Specifically, Windows 8 by default uses the Metro interface, which is not supported by XNA. Also the Windows 8 store will not stock non-metro apps, so it will not stock XNA apps.


Should we stick with XNA or does Microsoft want us to move to a different framework for managed game development in Windows 8?


Edit: As pointed out in one of the comments, Windows 8 will be able to run XNA games in a backward compatibility mode. But that smells of deprecation.



Answer




EDIT: It's official, Microsoft has killed off XNA. I'm saddened by this but it was not unexpected, it's what I was predicting would happen, but hoping I was wrong. Everything below this point is my original post from early 2012.


Something else to consider is that Microsoft is likely to release a new console in mid to late 2013. Will they continue with trying to have something like XNA work on their console? If they want individuals to make games on the new Xbox, they're going to need something, and it would be wasteful to scrap XNA and start anew with something else. Additionally, Windows 8 will run on tablets with ARM processors, and we all know how big the market is for apps for phones and tablets, that's a big opportunity for Microsoft to have an API for creating apps on those devices, but will that be XNA, or only .NET?


I see a couple of potential paths:




  1. XNA hasn't been extremely successful with the current Xbox, mostly due to how few XNA games are showing up, and how poorly setup the store is for XNA games on Xbox Live. So Microsoft may decide to pull the plug entirely, leaving us with XNA 4.0, which is compatible with DX10, and will be a decent platform for people to make simple PC games with for the next few years before it disappears.




  2. Microsoft may see the huge possibilities with homemade apps, things like Apple's App Store are huge money makers, and if Microsoft can make it easier to make games and get them onto Xbox Live and Windows 8 tablets, then they have a chance to make it big in the console apps market. If Microsoft goes down this path I see the new XNA supporting DX11.1 with its next version, and continuing support for XNA for at least 5 more years.





Some things to consider:




  • Currently with XNA you must pay $100 if you want to develop your game for the Xbox 360, that's $100 just to try it out and see if you could make any money, and even then MS gets a chunk of the profits from your game. If Microsoft takes out the $100 fee and just takes the chunk of the profits, they may actually end up seeing a lot more games and make more money off of the deal.




  • XNA games have performance problems on the Xbox 360. Microsoft did not want XNA games posing a security risk when they ran on other people's Xboxes, so they basically run XNA games in a sandbox with limited access to the CPU, GPU, and memory. In addition to the limited access, games programmed on the full Xbox SDK are not written in C# and do not need things like garbage collection, but XNA runs on Microsoft's own C#, so Microsoft had to write a wrapper to get XNA to run on the Xbox, and that wrapper slows things down quite a bit. Things like floating point performance can be up to 10x slower than Xbox games that are written through the full SDK. These performance problems mean that Xbox games developed through XNA cannot really use the full potential of the Xbox, which just hurts the quality of the games that Microsoft can get from the community. Microsoft would do well to consider this if they continue with XNA so that their next console allows XNA developers to use the system to its full potential.





  • As far as I know, XNA will not support Windows 8's metro style, so developers will not be able to write games to take advantage of it. XNA also will not run on ARM processors, so you could not use XNA to write apps for Windows 8 tablets that will be coming out soon. Is this a sign that XNA might not be supported in the future?




  • Microsoft uses XNA for games right now, but with a little work it could be used to make some interesting applications as well. If Microsoft pushed XNA to communities other than game developers then it might get used more often and have more reason for Microsoft to continue supporting it.




  • The XNA forums have dried up a bit, it takes more time for people to get answers, and I rarely see any member of the XNA team on the forums anymore except Shawn Hargreaves, so they may just be in a support role at this time.




  • I created and support an open-source game engine for XNA, over the last 2 years the downloads of the engine have dropped to about half of what they started at, even though the engine is much better than it used to be. This signals to me that a lot fewer people are using XNA than used to. Here's a graph of the number of hits I have on my site, you can see interest in XNA peaked around late 2007 to mid 2008. QuickStart Engine Page Views





Here is a long discussion that includes some members of the XNA team. Of course, they're not willing to comment on much because Microsoft doesn't talk about things much before they're announced:


http://xboxforums.create.msdn.com/forums/t/91616.aspx


Also quotes like this are interesting:



Create immersive games using the power of DirectX The new Windows 8 graphics stack is better integrated, making Direct2D, Direct3D, and DirectCompute components easier to use together and requiring fewer duplicated resources than before. Capabilities previously available only in XNA, such as DirectXMath, XAudio2, and XInput, are now available. For the ultimate experience in gaming and video, use DirectX 11.1 to bring stereoscopic 3D to your apps.



http://download.microsoft.com/download/1/E/4/1E455D53-C382-4A39-BA73-55413F183333/Windows_Developer_Preview-Windows8_guide.pdf


I currently support an open-source game engine for XNA, so I would prefer to see it supported in the future, however, even if XNA 4.0 is the last XNA, it's still a decent platform for creating Windows games quickly and easily, and also a great API for those who want to learn how to make video games.



My honest opinion is that XNA 4.0 will be the last one, but I truly hope I'm wrong about that.


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...