Is C# viable for new game developers?
The C# language isnt outdated. I believe the implementation of C# (old version of mono) that Unity uses is quite outdated though.
XNA is obsolete, you will want to look into MonoGame (open-source re-implementation) instead. This can use the most modern implementation of C# (both Mono and Microsoft .NET).
Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.
The C# language isnt outdated. I believe the implementation of C# (old version of mono) that Unity uses is quite outdated though.
XNA is obsolete, you will want to look into MonoGame (open-source re-implementation) instead. This can use the most modern implementation of C# (both Mono and Microsoft .NET).
Oh nice!
I didn't know about MonoGame...
I made a quick research about it and it seem pretty awesome... And damn, I was going to XNA... Hope this gonna help me!
Thank you!
I don't think C# is going anywhere. It's the default language for doing any kind of business-related development in the Windows world, and stands to stay in that position for the foreseeable future. Microsoft is continuing to put a lot of investment in it, and if .NET Core, or whatever they have recently rebranded that as takes off, it might start to eat Java's lunch on *NIX-based systems. Whether or not you eventually go full-time into game development, getting good with C# wouldn't hurt your employability in other areas.
XNA is pretty much dead now, not having seen any updates since 4.0 in 2010, and officially discontinued in 2013. Monogame is an open port of XNA, that's being actively developed (3.4 last April).
If you are only interested in Windows, you can use SlimDX or SharpDX, which are pretty straight-forward wrappers around the C++ Direct X libraries. A number of the developers of these libraries are pretty active on here in the Direct X sub-forum.
I don't think C# is going anywhere. It's the default language for doing any kind of business-related development in the Windows world, and stands to stay in that position for the foreseeable future. Microsoft is continuing to put a lot of investment in it, and if .NET Core, or whatever they have recently rebranded that as takes off, it might start to eat Java's lunch on *NIX-based systems. Whether or not you eventually go full-time into game development, getting good with C# wouldn't hurt your employability in other areas.
XNA is pretty much dead now, not having seen any updates since 4.0 in 2010, and officially discontinued in 2013. Monogame is an open port of XNA, that's being actively developed (3.4 last April).
If you are only interested in Windows, you can use SlimDX or SharpDX, which are pretty straight-forward wrappers around the C++ Direct X libraries. A number of the developers of these libraries are pretty active on here in the Direct X sub-forum.
Ok, I'll check DX lib. Thanks. :)
XNA was a wrapper around a specific set of DirectX 9 technologies, coupled with a few portable utilities.
Monogame is an open source implementation. It is dead, or not dead, the same way DirectX 9 is either dead or not dead. It is not dead in that it continues to work just fine. It is dead in that it isn't getting updated to DX10 or DX11 or DX12.
You can continue to write software using DirectX 9-era tools and software if you choose. It was most viable when it was released, was still viable in 2007 or 2010 when people were asking if it was dead, and is still somewhat viable today in 2016. What you build with it will still work for years to come, but there are newer things available.
Dead or not... XNA / Monogame are great tools to ease the learning curve into game development. This will help to understand the game structure and how it all works and give you a good idea on how to write a game from scratch using DX9 or a library in SFML using C++. It is all up to you, but learning is never a bad thing.
C# as a language is the most updated... For some years it is been above Java with some features.
There are tons of library ports for C# , which include many famous C++ libraries.
And you have Unity which uses C# scripting.
As others have said, C# is one of the faster moving languages out there. It started life as a poor Java clone but has transformed into a powerful language that supports many styles of working, Java is now trying to play catchup but failing because Oracle and bureaucracy while C# keep moving. C#6 just released and already they are planning C#7 and evaluating new feature requests, I would expect we will finally get immutable record types in C#7, Hoping anyway :)
To be honest if you are a new games developer it does not matter what language or framework you use. All that matters is that you just make games and have some fun.
Considering you are using C# at college then you may as well stick with for making your games.
Making games will improve will help with your college work and your college work will help with making your games.
As for frameworks again try a few and go with the one that you are most comfortable with. Don't listen to any advice that says "but, the pros use this language" or "thats not how we work in the industry" until you have at least learnt to make a game.
Once you have written a couple of simple games you can then think about changing language or framework to "what the pros use".