Is C# with XNA Good?

Started by
5 comments, last by 3Ddreamer 11 years, 5 months ago
Hello all. I have been doing programming for a while and was thinking of trying out C# with XNA for making games. So far I've been doing all my work with Java and I was wondering if there are any advantages to making the switch to C#. I keep hearing a lot of good things about C# and XNA, but is it any easier to get things done with that than in Java? For me my main problem is working with graphics as I'm not a good artist and I don't really know how to make art. So far I've been limited to what I can draw with basic shapes. If I was to stick to Java could someone give me a recommendation on how to make a decent 2D game with more than basic art? Thanks
Advertisement
I'm not sure if I'm understanding your question correctly, so if this doesn't answer it please let me know.

There are differences between C# and Java, but there's no reason you can't make a decent (or better) 2D game with either. For putting graphics on the screen it's easier to use an existing library or set of libraries compared with rolling your own code, and in that respect XNA is quite nice. It's pretty easy to use, and gives you a lot of options as far as scaling, rotating, transforming, coloring, really anything you'd need for a 2D game. But there are other libraries that would also help you do those things, both for C# and Java.

If you'd like to learn C#, there's no reason not to. If you're already skilled in Java it won't be all that difficult to pick up and C# is said to be similar to Java in a lot of ways. But you don't have to use C# to achieve your stated goals. Unfortunately I don't have any Java recommendations for libraries (I don't use it myself), but someone here will be able to suggest something.

As for your concerns about "basic" graphics, the style/detail/quality of the art assets you use doesn't have much to do with the programming language or libraries you choose. They all can put images on the screen, but if you aren't satisfied with the graphics you're using in the first place they won't change to become something you like more. You can get other graphics by practicing your pixel art skills (using a program like Gimp), hiring an artist, or visiting sites with free art like OpenGameArt.

-------R.I.P.-------

Selective Quote

~Too Late - Too Soon~

Thanks for the reply. It kind of answers my question but I guess I also want to know is it more productive to use C# and XNA. Is the community better and is there more documentation available, or tutorials. Is it better for making games with than just Java with the standard libraries? And just how easy it is to get things done with as compared to Java? I appreciate all replies. Thanks
Hi,

Both languages have huge repositories of libraries and large communities. Both languages, the common development environments used for them, and the games being made are also very extensive. Great and popular games are made in C# or Java.

Having Java experience, I recommend that you stay with Java at least until you get a bunch of games well made and polished - simple ones to start. You will never outgrow either language, but you might choose any language based on other considerations such as it being the one used in a particular game community which you want to join.


Clinton

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Pixeling 101
http://www.petesqbsite.com/sections/tutorials/tuts/tsugumo/

Language doesn't matter. There is LibGDX for Java. Try out the TIGSource forums to see what other people are doing with Java.
@3Ddreamer Thanks for the reply as well. I looked at the website for C#/XNA and the amount of content available is amazing. So many helpful tutorials and things to help beginners. I think that definitely has a larger community than anything I've seen for Java, so I think I want to experiment with that. Thanks again
Gearslayer360,

Though I hoped that you would stay with Java, I understand the appeal of a huge community and much support surrounding XNA. Game developers are finding ways of using MonoDevelop/Mono or SharpDX with XNA. These software environments would not only help you in learning stages but also for advanced game development in the future. Both of these areas have good platform and support technology so you could potentially stay in those game development environments for all your technical needs. Huge advantages go to MonoDevelop/Mono for support of GUI, sound, input, and so forth, in cross-platform potential. SharpDX is compatible with various Windows and DirectX versions even the latest. If you research these issues as I have, you will discover that XNA and other C# development environments are competitive to allow you to go from newbie to AAA game developer if you can make it. biggrin.png

Clinton

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

This topic is closed to new replies.

Advertisement