I was considering learning C# for game development. However, I recently learned that XNA is dead. Is C# still good to learn for game development? Can anyone suggest a better language and library for game development?
Thanks,
Toromak
I was considering learning C# for game development. However, I recently learned that XNA is dead. Is C# still good to learn for game development? Can anyone suggest a better language and library for game development?
Thanks,
Toromak
Certainly, there's still Unity and Monogame, both great tools and field tested. Several commercial games are already out using them.
And XNA was dead way before it was official. Just looking at its poor performance made me wonder how much it would last.
Sure why not? Many people consider it a very good language, for games and for things that aren't games. So whatever you learn with it, it should be easily transferable to other kinds of applications.
XNA isn't certainly the only thing going in C#, you can look around what other frameworks/engines are being worked on in C#, there are lots of it (without going to far, you'll find MonoGame, a XNA-like framework running on top of Mono).
XNA was not the only option for doing graphics programming in C#. SharpDX is currently the prevailing Direct3D wrapper (MonoGame uses it under the hood, as well as one of the openGL wrappers). For OpenGL there's OpenTK, although I don't know if that's been keeping current. There's also SharpGL, but I can't comment much beyond knowing it exists.
Or if you're crazy enough, just write your own wrapper to call into OpenGL or Direct3D with P/Invoke or C++/CLI. Although I would just recommend SharpDX, if you were interested in XNA (MonoGame if you want an API like XNA). However, don't go and assume that C# was relevant only because of XNA, because XNA is just one library. It's a very good language to know and use, whether it's a game you want to develop or something else.
Why are you learning?I was considering learning C# for game development. However, I recently learned that XNA is dead. Is C# still good to learn for game development? Can anyone suggest a better language and library for game development?
I watched this video from Steam Dev Days (
Hopefully someone more knowledgeable then I can comment on this.
XNA was not the only option for doing graphics programming in C#. SharpDX is currently the prevailing Direct3D wrapper (MonoGame uses it under the hood, as well as one of the openGL wrappers). For OpenGL there's OpenTK, although I don't know if that's been keeping current. There's also SharpGL, but I can't comment much beyond knowing it exists.[/quote]
OpenTK is very much alive, it just had a new release that added OpenGL 4.4 and a SDL2 backend.
Keep in mind that a game is not only the playing executable itself, but also the set of tools used to make it. Editors of any type (for levels, maps, assets manager, scripts) are often made in some enterprise-productive language like C#.
C# is an excellent language for game development, and it seems even Microsoft is promoting the open source XNA replacement MonoGame. C# is one of not-too-many languages you can use on (most) current platforms. Another nice thing about C# is that you can use it for not only the game development itself, but tools/applications and the web as well.
XNA was not the only option for doing graphics programming in C#. SharpDX is currently the prevailing Direct3D wrapper (MonoGame uses it under the hood, as well as one of the openGL wrappers). For OpenGL there's OpenTK, although I don't know if that's been keeping current. There's also SharpGL, but I can't comment much beyond knowing it exists.[/quote]
OpenTK is very much alive, it just had a new release that added OpenGL 4.4 and a SDL2 backend.
Good to know. I see you guys pushed out OpenTK 1.1 officially just yesterday, what timing :)