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++.

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

Beginner in Game Development? Read here.Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts

Spoiler

How on earth can you go around telling lies, be shown that they are lies, then continue to ignore the evidence to the contrary. I'm not qualified to deal with this, sorry. - HodgmanNever crash to desktop. That's the equivalent of a Starbucks rep punching you in the face when you try to order a coffee with soymilk when they run out of soymilk. - KoobazaurFor programmers, R & D means "Research & Duplicate".Just remember... XML is like violence. If it doesn't work, you just aren't using enough of it... - MoeEvery time I go into my account settings I feel like I've never used the internet before. - booleanPerson X: Do you want to live forever?
Person Y: No, but I want to live a long life.
Person X: Only cowards live that long.
Person Y: And yet, we travel to seek the counsel of these "cowards".

There are a couple of alternatives available including MonoGame, and ANX. Searching to find the MonoGame website just now I also stumbled across MonoXNA, 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.

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 )

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'.

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.

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.

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).

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.

Beginner in Game Development? Read here.Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts

Spoiler

How on earth can you go around telling lies, be shown that they are lies, then continue to ignore the evidence to the contrary. I'm not qualified to deal with this, sorry. - HodgmanNever crash to desktop. That's the equivalent of a Starbucks rep punching you in the face when you try to order a coffee with soymilk when they run out of soymilk. - KoobazaurFor programmers, R & D means "Research & Duplicate".Just remember... XML is like violence. If it doesn't work, you just aren't using enough of it... - MoeEvery time I go into my account settings I feel like I've never used the internet before. - booleanPerson X: Do you want to live forever?
Person Y: No, but I want to live a long life.
Person X: Only cowards live that long.
Person Y: And yet, we travel to seek the counsel of these "cowards".

+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).

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.

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.

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.