Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


Is C# still worth learning for game development now that XNA is dead?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
10 replies to this topic

#1 Toromak   Members   -  Reputation: 116

Like
0Likes
Like

Posted 16 February 2014 - 08:08 PM

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



Sponsor:

#2 dejaime   Crossbones+   -  Reputation: 4119

Like
7Likes
Like

Posted 16 February 2014 - 08:25 PM

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.


Edited by dejaime, 16 February 2014 - 08:27 PM.


#3 TheChubu   Crossbones+   -  Reputation: 4793

Like
2Likes
Like

Posted 16 February 2014 - 08:44 PM

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


"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

 

My journals: dustArtemis ECS framework and Making a Terrain Generator


#4 Starnick   Members   -  Reputation: 1255

Like
2Likes
Like

Posted 16 February 2014 - 09:45 PM

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.



#5 frob   Moderators   -  Reputation: 22783

Like
9Likes
Like

Posted 17 February 2014 - 12:56 AM

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?

Why are you learning?

C# is in very active use in game development. Tools use it extensively. Many engines rely on it, right now Unity is the most extreme for that, but it certainly isn't the only one. Sims 3 was especially notable as C# was the scripting language, and since everything in the game is controlled by script about 2/3 of the game was C#.

The popular cry "XNA is dead" has always made me roll my eyes. XNA always was a wrapper for a subset of DX9 technology. The technology had ceased evolving before XNA, but it had been slightly modified on several devices. That was the entire reason it was created. You could recompile XNA applications on different platforms that made use of the common subset. You could use some tools and functionality, and they were pretty neat.

The tools themselves are very approachable, they still work, and they will continue to work for probably the next five or even ten years. If they work for your needs that is good enough. If you want a feature set that is always in flux (ewww) you can get MonoGame. They have copied all the XNA functionality and continue to add new stuff.




But back on topic, why are you learning? What is your criteria for it being 'worth it' to you?

When it comes to learning, most successful people don't ask about the minimum they need to learn, or ask if they can get away without learning something. They figure out that they want to learn something for a reason, and then learn it if the reason is compelling enough. There are many great reasons to learn C#, but unless it is YOUR reason it doesn't matter.

You may look at your reasons for learning it and decide C# is the thing you want to tackle next. Or maybe Java. Or maybe Python. Or maybe shell scripting. Or maybe JavaScript and HTML5. Or maybe JQuery, or PHP, or JSP, or ASP, or SQL, or Boo, or 6502 assembler, or linear algebra, or number theory, or discrete mathematics, or cryptography, or any of thousands of other topics that might possibly interest you.

Nobody is more qualified to determine if something is worth it to you than you.

Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.

Also check out my personal website at bryanwagstaff.com, where I write about assorted stuff.


#6 Nightgaunt   Members   -  Reputation: 262

Like
2Likes
Like

Posted 17 February 2014 - 02:14 AM

I watched this video from Steam Dev Days (http://www.youtube.com/watch?v=MeMPCSqQ-34&list=PLckFgM6dUP2hc4iy-IdKFtqR9TeZWMPjm) and from what little I know about XNA it seems like SDL can provide a lot of the same basic functionality, and then more advanced graphics through OpenGL. While written for C++, SDL has bindings for C# (https://github.com/flibitijibibo/SDL2-CS).

 

Hopefully someone more knowledgeable then I can comment on this.


Edited by Nightgaunt, 17 February 2014 - 02:14 AM.


#7 Fiddler   Members   -  Reputation: 856

Like
2Likes
Like

Posted 17 February 2014 - 02:16 AM

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.


[OpenTK: C# OpenGL 4.4, OpenGL ES 3.0 and OpenAL 1.1. Now with Linux/KMS support!]


#8 arka80   Members   -  Reputation: 1063

Like
2Likes
Like

Posted 17 February 2014 - 05:56 AM

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



#9 DvDmanDT   GDNet+   -  Reputation: 1001

Like
1Likes
Like

Posted 17 February 2014 - 06:01 AM

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.



#10 Starnick   Members   -  Reputation: 1255

Like
1Likes
Like

Posted 17 February 2014 - 02:12 PM

 

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



#11 Buster2000   Members   -  Reputation: 1782

Like
0Likes
Like

Posted 18 February 2014 - 02:21 AM

I don't get all these questions asking is <insert tech here> worth learning.   Everything is worth learning.

As for C# it is still widely used in Unity and monogame and a couple of other lesser known mobile engines.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS