Now that xna is no longer developed, should i still learn it or should i learn something else
If i should learn something else, what framework/library should i learn for making games in C#
Thanks
Now that xna is no longer developed, should i still learn it or should i learn something else
If i should learn something else, what framework/library should i learn for making games in C#
Thanks
XNA is no longer being developed, but it's a mature library that's pretty good at what it does and which you can still use to make games. As a previously very popular library there are also plenty of learning materials available, and plenty of people still know the library well enough to help you.
It's probably not something you would want to continue to use for a long time in the future, but if you just want to make some games at the moment there's no reason XNA wouldn't make a fine choice. A lot of what you learn would still apply to development in general, and quite a bit of it will also apply to other libraries you might choose to use.
That being said, if you're looking for a modern library that is similar to XNA and still being actively developed I would recommend the excellent MonoGame library, and unless you were really set on using XNA I would probably consider MonoGame a better choice for a beginner choosing a library.
Even Microsoft Studios are using MonoGame. That is the new (and improved and cross-platform) XNA. ;)
Using XNA now would be silly, IMO.
if you really want to spent your time with c#, then take unity
Unity is a very capable and very popular engine, but using a full engine like Unity is very different to developing with framework like XNA or MonoGame. MonoGame is being actively developed and is very well supported, so it's also likely to stay around for quite some time to come.
Unity is also a fine recommendation for someone looking for a full engine, but the size and complexity of the editor and massive API can sometimes be overwhelming for beginners, and for smaller games or those that aren't well suited to the editor, or for individual programmers who may not be able to leverage the full capabilities a lower-level framework can sometimes make a better choice. As you mentioned, there's also an educational aspect to working at a lower-level and implementing more details yourself.
It also depends on what your goal is, if you want to learn rendering etc. but starting with just an API like OpenGL or Direct3D is too heavy, you could start with Monogame. If you 'just' want to go out and create a game, you could go for unity directly.