Sign in to follow this  
johnnyMakesGames

Since XNA isn't being improved, what do I use?

Recommended Posts

It is important to note:  XNA is not a language.  It is a framework.  And it is not going away... it is just not being enhanced.  It is still perfectly viable to use XNA to develop your games in.

 

However if you do not understand C# (the language that you use to make XNA go) then you wouldn't understand XNA anyway. 

You don't mention any goals or anything really.  

I moved from XNA to Unity because Unity gives me an engine that I don't have to monkey with as I am not interested in programming engines, and I can also use C# to develop with, which is my primary language.

Share this post


Link to post
Share on other sites

For performance intensive games, Microsoft is pushing Visual Studio 3D Starter Kit [http://channel9.msdn.com/posts/Visual-Studio-3D-StarterKit] and DirectX Tool Kit [http://directxtk.codeplex.com/], along with XInput for gamepads, XACT3 for audio and Direct2D or WPF for GUI.  Altogether nearly all the functionality of XNA is replicated (and more in some areas).

 

For less performance intensive games they're recommending C#/WPF or JavaScript/Canvas.

Share this post


Link to post
Share on other sites

For performance intensive games, Microsoft is pushing Visual Studio 3D Starter Kit [http://channel9.msdn.com/posts/Visual-Studio-3D-StarterKit] and DirectX Tool Kit [http://directxtk.codeplex.com/], along with XInput for gamepads, XACT3 for audio and Direct2D or WPF for GUI.  Altogether nearly all the functionality of XNA is replicated (and more in some areas).

 

For less performance intensive games they're recommending C#/WPF or JavaScript/Canvas.

 

WPF is still alive?  I did not know that.  Also, I thought most Canvas HTML5 stuff wasn't there yet.  Again, I am wrong.  Thanks for all the information.

Share this post


Link to post
Share on other sites
Consider another point of view:  When XNA was being updated, if you wanted to upgrade your app to use the latest version, you would typically have to spend a while porting your existing code, possibly recreating your project with a newer version of visual studio (VS2008 for XNA 3, VS2010 for XNA 4), etc.
 
Now that XNA isn't being updated, you can use it without having to make the (sometimes painful) choice of whether to upgrade to the next version and re-learn the tweaked parts of the API.

This is even more important for the people who write and use 3rd party libraries which are based off of a specific version of XNA. It used to be that you had to either wait for the library authors to update their libraries to the latest version of XNA or do it yourself (if you were that brave or desperate). Now that XNA is not receiving any updates, the changes to each library can be more focused on feature improvements instead of wasting a week or two updating the XNA compatibility of the library. Edited by Nypyren

Share this post


Link to post
Share on other sites

Yes, I second/third/etc the advice to just use XNA.  The fact that it's not being improved doesn't mean that it suddenly stops working, or that you can't use it for any reason.  It's still a great platform to learn on, on the skills you pick up there will be easily transferrable should you ever decide to move on from it.

 

Remember that an API is just an API; the core concepts underlying them all are very much the same, and you'll still be loading textures, filling vertex buffers, issuing draw calls, doing matrix operations, etc irrespective of whether you use XNA, D3D, OpenGL or whatever.  It's just the way you do them that's different, but once you've learned one those differences are quite straightforward to pick up - you'll already have the hard part over and done with.

 

So with that in mind it makes sense to start with one that's designed around making it easy to learn with, and XNA is great for that.

Share this post


Link to post
Share on other sites

I think this question can't be answered unless you mention what your goals are.  Are you trying to learn how to make games?  Learn about graphics/3D APIs?  Trying to sell a game?  All of these have very different responses (at least IMO) and depend on what you actually want to do.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this