Sign in to follow this  
ChristianFrantz

xna dead. now what?

Recommended Posts

I've been teaching myself XNA for a while now and after recently discovering that it's no longer being supported by Microsoft, I'm wondering what the best alternative to XNA is if there even is any. Does anyone have any information on where else to look now that XNA isn't getting updates?

 

Keeping in mind that I'm going to be using C# as my main language now until I feel comfortable enough to move to C++.

Share this post


Link to post
Share on other sites
jbadams    25676

There are a couple of alternatives available including [url="http://www.monogame.net/"]MonoGame[/url], and [url="http://anxframework.codeplex.com/"]ANX[/url]. Searching to find the MonoGame website just now I also stumbled across [url="https://code.google.com/p/monoxna/"]MonoXNA[/url], but I hadn't heard of it previously and don't know anything about it. Of the three, I believe MonoGame is the most stable and mature, so I'd suggest taking a look at it if you're not comfortable continuing to use XNA for now.

If you make a game in XNA right now, will it not be able to be installed on PCs?


Not at all, there's absolutely no reason you can't continue to use the existing XNA library for now, it just won't be receiving support or updates.


Hope that helps! smile.png

Share this post


Link to post
Share on other sites
Andy474    694

XNA isn't supported anymore, but thats no reason to jump off the band-wagon. Its still a Fantastic Framework to use for developing games and will work on any PC that has .NET 4.0+ and the XNA Redist installed. (and compatible gpu :P)

 

My personal feeling is, that when the "720" comes out they will have a new version / platform for us (indie folk) to develop on. I personally cant see why the wont' as Sony has PS4 Indie Confirmed(?).

 

So, just becuase they stopped supporting it, dosnt mean they are going to kill it anytime soon. Lik eJbAdams said, Monogame used the same framework just 'supported'.

Share this post


Link to post
Share on other sites
Capoeirista    3266

Another vote for Monogame here - I've been using it for a few months now as a replacement for XNA, and it's really good.

 

As evolutional mentioned there's a beta of the new content pipeline (otherwise you need the windows SDK as Monogame uses the XNA content pipeline), and there's a DirectX implementation on the way too. Being open source is a big plus too.

Share this post


Link to post
Share on other sites
metsfan    679

I too was disappointed about the death of XNA.  I am working on a rather large project that used XNA, and since finding out XNA was getting the axe, I have switched over to SharpDX.  I actually prefer working with a lower level interface than XNA.  While XNA is nice and convenient  I think overall I just prefer the low level API access.  You can still use the parts of the XNA API that are timeless, such as the 3D vector math library, but as for the rendering engine, SharpDX provides the same functionality with more flexibility.

 

Or you could just switch to MonoGame, of course.  

Edited by metsfan

Share this post


Link to post
Share on other sites
dilyan_rusev    1360

We use XNA for our game, and it works quite well on all supported platforms. We've got problems with other things, not XNA. We aren't going to switch to anything else in the foreseeable future... there's just way too much code to port, and so long as our clients are happy, we don't care if there aren't gonna be updates for the XNA runtime. Which is even better, cause we'll then have to figure out an update strategy for clients with poor internet access.

Anyway - go and use XNA. When Monogame is ready (and by ready I mean they've got fully functional content pipeline), it might be sensible to do the switch. If you're just starting out - it doesn't really matter. Also, please do consider engines and not frameworks.

 

EDIT:

Don't do C++ if you are a lone dev, apart from purely academic interest. In C++, you've got nothing (in terms of standard libraries). Take for example validation/activation logic. You have to look for REST/JSON/HTTP client/encryption libraries. True, you can code all the shit in sockets, but you'll waste weeks doing meaningless boilerplate instead of getting ahead of your competition. And don't forget the debugging bliss of stepping through assembly for every serious problem that you've got istead of the friendly .NET stack trace. C++ is an option only if you've got the experience AND existing code base you can take advantage of. Plus, you need bigger teams with C++ (which are more expensive in case you're hiring).

Edited by dilyan_rusev

Share this post


Link to post
Share on other sites
Alpha_ProgDes    6921

Eh? Now I'm no C++ expert. But between libraries such as STL, Boost, RakNet, Winsock, Qt, WxWidgets, just what kind of low-level programming will any idiomatic C++ programmer be doing? There are so many libraries for C++ that you'd have an easier time avoiding pirahna in bloody waters, than not finding a library you need. Any writing any non-trivial software will take as large a team in C++ as it would in C# or Java or Python.

Share this post


Link to post
Share on other sites
Xanather    782

+1 for MonoGame, I find it really cool, not only can you still use XNA but it works on multiple platforms aswell!

I try to contribute to the MonoGame project where I can with my very scarce low-level programming knowledge, but I have to say that its a very active open source community! Has its own website now aswell showcasing many of the games (monogame.net).

Share this post


Link to post
Share on other sites
CC Ricers    1491

MonoGame has the best future out of the open-source alternatives, though it still has its share of troubles for some with setting it up for various other platforms and building programs in them. It's also rough trying to port something more graphically intensive with many custom shaders. One big missing feature for me is hardware instancing. Still, it is the most complete in functionality, beating all of the other ones I've browsed- one in particular was full of NotImplementedExceptions!

 

I will be sticking to it for its multiplatform support. Before, I was entertaining the idea of doing a port such as going from XNA to pure DirectX, then to OpenGL, or sticking with C# and using the OpenTK library. MonoGame abstracts the use of OpenTK for Linux and Mac platforms.

Share this post


Link to post
Share on other sites
VladR    722

No support from MS can also be a good thing in terms of stability.

 

It means that your engine will not break when they release an "update".

 

It means, that you won't have to read articles about "it took me an hour to change things for my game and now I run using the latest version of XNA".

 

Sure, if all you do is just couple sprites, but as soon as you have something even remotely slightly complex, it is not going to be an hour. Or day for that matter.

 

 

So, I personally am glad they are not going to introduce any more hacks into the API and the thing will remain stable for the foreseeable future.

 

 

Which, if you plan to use MonoGame for all other platforms, is really critical.

 

I just saw the video of Content Pipeline running in Linux. Man, I'm so excited. Just few more months and we can switch to MonoGame...

Share this post


Link to post
Share on other sites

When i found out that XNA was no longer supposed to be updated I started looking around for alternatives. After months of searching I tested Unity3D and I must say that that is the best software I have ever played with. Its not XNA like but if you used XNA because of its simplicity I strongly recommend Unity. And Microsoft have announced that they will be supporting unity and unity will be able to make metro apps with xbox live. So basically Unity is going to be the replacement for XNA.

Share this post


Link to post
Share on other sites
locoflop    135

Here is my favourites (random order):

  • SharpDX: If you want DirectX support currently better for Windows PC, perhaps in the future also for tablets/mobile. There was an ongoing vote to convice Microsoft to enable some functionality that could allow developers to support mobile/tablet devices running Windows 8, but who knows what happened.
  • OpenTK: Very good for cross platform (Windows/Mac/Linux), unfortunately support is halted so you must use the repo of Andy Korth at github in order to get the latest version. Also if you are interested in MonoTouch and MonoDroid chances are that you can reuse most of your code.
  • Pencil.Gaming: An evolution of OpenTK, more clean and practial. It looks like a polished version of OpenTK that is tied to GLFW3 instead for Window management.
  • Unity: You will have to use it to believe. For me personally, let me do other creative things in game rather than system development. It's a matter of where exactly is your interest.

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