Advertisement Jump to content
Sign in to follow this  
johnnyMakesGames

Is the era of C# for game programming gone?

This topic is 1734 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Is the era of C# for game programming gone?  I read XNA isn't going to be supported or improved anymore.  I know that's old news, but I was curious about the future of C# and game programming?  Should I skip C# and go to Java?  Move to C++?  Thanks for opinions.

Share this post


Link to post
Share on other sites
Advertisement

C# is a perfect language for creating games and XNA is still a amazing and very useful tool to develop games.  There are still plenty of other popular game development tools that use C# like Monogame (A open source port of XNA), SlimDX and SDL.Net or engines like Unity or torgue that accept C# scripting.

 

However, Java is something to look out for, it can be easily ported to many platforms. The syntax is very much like C# so the step to java is just a small one and you can do it anytime you wish.

 

Unlike many others I would not recommend C++, you need to do twice the work for half the result and it is a very unclear and unforgiving language. I dabbled in C++ after some good experience with C++ but left it for what it was pretty fast. SFML is a nice platform though. 

 

The most important thing is; You just need the right tool for the job. If you want to make a FPS or top down shooter pick a existing engine like UDK or Unity. If you need a bit more freedom further down the mechanics go with C# or java and add some handy libraries yourself. If you want to make the next best AAA title and need all the power you can get then go C++. Profesional AAA title companies use C++ usually, at least to lay the backbone of there engine. However, since the mobile game market is booming Java has become a lot more popular but you can also build android games with C# for example with: http://xamarin.com/android it ports easily between IOS, android and windows devices. Long story short: pick the right tool you comfortable with.

Share this post


Link to post
Share on other sites

Funny you should ask this, aside from the other great libraries mentioned (personally I use SharpDX, it's a great wrapper for Direct3D...XNA is not the be all for C# graphics programming or game development). Microsoft has announced an interesting upcoming piece of technology called .NET native and their blog announcement. The gist is, write a C# application, then be able to compile it to native code ahead of time, rather than JIT it at runtime. While this has existed in the form of the NGen tool, it looks like they're taking native compilation a lot further with using (or using parts at least) of their C++ optimizer, among other things (watch the video on the first link, they go into detail of the compilation).

 

Of course, if Microsoft doesn't screw it up (their preview is geared for Windows Store apps). C# and .NET/Mono as it stands now is still great for graphics applications (whether they be games or not, and with or without XNA), but having the ability to essentially run as fast as a native app will make things very interesting.

Edited by Starnick

Share this post


Link to post
Share on other sites

Aww man. That means that Java will have it (or something like it) in Java 12 or something :(

 

Unless project Sumatra gets somewhere that is...

Share this post


Link to post
Share on other sites

I don't think I would call it an "era" for C# or any other language.  There are options for all of the languages to make games with.  Most of the graphics API's are natively accessible in C++, but there are lots of libraries that can interact with those API's from other languages.  In C#, SharpDX is the de facto standard.

 

So it is possible to use native and managed languages.  The real question is which language do you want to use?  If you are familiar with C++, then why not just stick with it?  If you know C#, use it!

 

If you want to use an engine, you could use Unreal Engine 4 in C++, or you can use Unity and use C#.  Of course there are many other options as well.  It just depends on what your capabilities are, and what the needs of your project are - there is no era starting or ending...

Share this post


Link to post
Share on other sites

Aww man. That means that Java will have it (or something like it) in Java 12 or something sad.png

 

Unless project Sumatra gets somewhere that is...

 

Unsigned integers first, please...

Share this post


Link to post
Share on other sites

And....apparently SIMD is coming to .NET:
 
http://blogs.msdn.com/b/clrcodegeneration/archive/2014/04/03/ryujit-ctp3-how-to-use-simd.aspx

 

This has me quite excited too!! I bet @xoofx will be happy also - I know he has been lobbying for this for a while now! And as already mentioned, SharpDX is a great option for developing games in C# either with the tool kit, or just through the raw Direct3D API access it provides.

Edited by spazzarama

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!