Is C# with XNA Good?
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
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.
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.
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
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
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.
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.
Clinton
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.
Clinton
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement