A friend told me C# and XNA but ...

Started by
47 comments, last by Galima 15 years, 8 months ago
Hi fellow Game Devs :) first of all I'm glad to be a member of this site. "just signed in today" Me and two others has decided to make a gaming group where we will learn a language and then produce games later on, we where all agreed that we would learn Java because its easy to understand and simpel, so we begun reading some books, no we has not come to the game state yet. Another of my friend which has programmed in C# for two years told me we should stop learning Java and learning C# instead and with something XNA he told me, then i youtube'd XNA and its kinda looking really amazing, and he told me that C# is looking a little like Java and its also easy to learn, then im all :O because i know C# is stronger than Java and sure we will produce beatifuller and stronger and more advanced game's with a stronger language. Now my question is. Should we quit Java and begin learning C# and this XNA, our goal is to produce beatifull advanced 3D games, singleplayer and multiplayer. And is there any limitations on XNA ? And more information would be great Regards Galima.
Advertisement
There is not really such thing as a stronger language.

1) No, If you have just started programming you guys should not ditch java. You guys need to concentrate on learning a language and sticking with it for some time. You seem to think that you can learn everything you need to know in a short while and pop out a beautiful 3D game. I have been programming for 3 years and I am being challenged by writing an asteroids clone!

2) Yes, I believe that XNA cannot use the XBOX live online system to play games through multiplayer on the XBOX. (Correct me if I am wrong)

My best wishes to you and your friends,
Jared
J.W.
Quote:Original post by jdub
2) Yes, I believe that XNA cannot use the XBOX live online system to play games through multiplayer on the XBOX. (Correct me if I am wrong.


Actually the restriction is the other way around. You currently cannot distribute a Windows game that utilizes the XNA networking APIs (which wrap around Windows LIVE). If you create an Xbox 360 game (and distribute it through the upcoming Xbox LIVE Community Games system), you most definitely are free to use the Xbox LIVE networking in your game.
Hi Galima,

The choice between Java and C#/XNA is not only a choice of language, but it's about available tools, libraries and (online) support as well. I don't know much about Java game development, but XNA is getting a lot of attention these days. So it might well be that you can get help to problems regarding C#/XNA quicker than to Java game dev related questions.

I don't know if you have spent a lot of time and money on Java, but if you're just beginning anyway, it might be a reasonable choice to move to C#/XNA. Not that much because of the language, but because of the support. Nevertheless, if you feel comfortable with Java, stick with it and gain experience in OOP etc.

Note that, like Jared said, you won't be able to write an AAA game just because you use XNA instead of Java.

Regards,
Andre

P.S.: And to finally come to the Java vs. C# flamewar-esque part: C# is certainly a more feature rich and further evolved language than Java.

Whenever I have the choice to decide whether a project has to be done in C# or in Java, for me C# is always the way to go. However, this choice is made before a very important background:
- I know both languages
- I know exactly what I want to do (e.g. business intranet apps in my job)
- I know I can squeeze more efficiency out of my work time by chosing C# over Java
What I want to say: I prefer C# over Java, because I know how to make use of the real differences of the two languages, not because I like class Foo : Bar better than class Foo extends Bar.
Andre Loker | Personal blog on .NET
Either of the languages you're considering are capable of producing good quality polished 3d games in the hands of a skilled programmer.

If you've already put time into or spent any money on getting started with Java you may as well stick with it for now. If not, then either of the two is a fine choice as long as you stick with one of them long enough to learn how ot program sufficiently to acheive your goals.



Personally I'd prefer C#/XNA if choosing between the two, but that doesn't neccesarily make it the best choice for you.

- Jason Astle-Adams

Quote:Original post by NickGravelyn
Quote:Original post by jdub
2) Yes, I believe that XNA cannot use the XBOX live online system to play games through multiplayer on the XBOX. (Correct me if I am wrong.


Actually the restriction is the other way around. You currently cannot distribute a Windows game that utilizes the XNA networking APIs (which wrap around Windows LIVE). If you create an Xbox 360 game (and distribute it through the upcoming Xbox LIVE Community Games system), you most definitely are free to use the Xbox LIVE networking in your game.


Oh okay. Thanks for clearing that up for me [smile]
J.W.
We need an article here that dispels all the XNA myths. So much misinformation is posted here every day.
Thanks alot guys,
actually i havent spent money on Java and i actually only in the beginning, I can't even program a graphical program yet.

But what are you guys saying about C# + XNA + Px Multiplayer would that work ?

I know it take ALOT of time, but as i did when i learned PHP I'm looking for it at the long run, And my long run is making 3D multiplayer games.

I do know that C# is better than java or, that I've heard because C# work faster and can handle more advanced stuff.

>>
I do know that C# is better than java or, that I've heard because C# work faster and can handle more advanced stuff.
>>

Who ever told you that C# is better than java is mistaken.

Just to add a bit more:

I found C# and XNA to be a lot harder to work than java at first.

If you use java you get nice little functions to draw shapes and pretty little images. A lot of what is going on is abstracted away for you. This makes java great (or at least I think) to start making games with because you can concentrate more on how you want structure and put the different parts of the game together.

XNA also does a lot for you and gives you a bunch of cool gadgets to work with
but it is more complex.

I would suggest that you do what I did by starting with java and get all the basics down, maybe make a few little games, and then move on to XNA.

If you start easier you will progress faster.
J.W.
Quote:Original post by jdub
Who ever told you that C# is better than java is mistaken.

Well, at least C#'s feature set is far superior to that of Java (properties, value types, lambdas, anonymous types (as in new { foo = "bar"}), "real" generics, delegates, events, LINQ, unsafe code, nullable types, extension methods, partial classes, type inferrence). This makes it a) more versatile (applicability in more cases) and b) more productive.
AFAIK C# misses only three features of Java: anonymous types with methods (in C# you use anonyous methods/lambdas in similar situations), wildcards and the class like enums.

Quote:
If you use java you get nice little functions to draw shapes and pretty little images. A lot of what is going on is abstracted away for you. This makes java great (or at least I think) to start making games with because you can concentrate more on how you want structure and put the different parts of the game together.

You can't compare java.awt.Graphics with XNA. If you use System.Drawing.Graphics you can do more or less the same things about as easily und .NET. XNA is a framework around DirectX with hardware acceleration etc. Of course it's more complex.
Andre Loker | Personal blog on .NET

This topic is closed to new replies.

Advertisement