C#

Whether you're a newbie or an experienced programmer, any questions, help, or just talk of any language will be welcomed here.

Moderator: Coders of Rage

Post Reply
dearbo
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 5
Joined: Sat Mar 22, 2008 2:25 am
Contact:

C#

Post by dearbo »

Hello I'm a new member on your forums, but I've watched all of your game development videos. And from what I see, you are all talented game designers.

I am the project leader of a team developing an MMORPG ( www.faldorn.com ). This game is 2D iso-metric. We started out in VB6, but realized that this was too instable and didn't really fit our needs of what we wanted in a game, so we decided to start from scratch in C#. One of our programmers is very advanced in this language, but I am just starting and have been following countless tutorials trying to get to know this language- I am also ordering a book online for better understanding.

I have some questions for you guys, guessing that you know your share of programming and languages;
1. Is C# and XNA a good choice for a 2D iso-metric game, with a estimated 20-50 players online after release?
2. What are some pros and cons of C#? I've read all over the internet but the answers are so back and forth.
3. I am not going to attempt C++, because no one in our team is knowledgeable of that language, but would you suggest another language? Such as Java or something of the sort?


Thanks,
dearbo
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Post by Falco Girgis »

C# with XNA should be fine for what you want to do. It'll probably be the least hassle as well.

C# wouldn't be used for a demanding game that requires speed or optimization. It's a higher level language than C++, which (put simply) means that it's easier to develop with in exchange for performance.

I'm not very knowledgeable with XNA, but I've been told that it doesn't support 3D acceleration. For a 2D game, it shouldn't really be a big deal, though.

Java is something that I would never suggest to an aspiring game developer. It's not meant to be used for anything requiring the performance of a game. It's meant for rapid software development, and falls flat on its ass in comparison to C++ when used for game development.
dearbo
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 5
Joined: Sat Mar 22, 2008 2:25 am
Contact:

Post by dearbo »

All right, thanks for the info. By the way when do you guys plan on releasing another video? YouTube gets boring after watching all the bloopers..
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Post by Falco Girgis »

Finishing it up right this second, haha.
User avatar
MarauderIIC
Respected Programmer
Respected Programmer
Posts: 3406
Joined: Sat Jul 10, 2004 3:05 pm
Location: Maryland, USA

Post by MarauderIIC »

I don't know much about it besides what I've heard through the grapevine; but I'm doodling around reading http://en.wikipedia.org/wiki/C_Sharp_%2 ... anguage%29 and it seems rather informative so far.
I realized the moment I fell into the fissure that the book would not be destroyed as I had planned.
dearbo
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 5
Joined: Sat Mar 22, 2008 2:25 am
Contact:

Post by dearbo »

Thanks for the link, haven't read that stuff yet.
User avatar
dejai
Chaos Rift Junior
Chaos Rift Junior
Posts: 207
Joined: Fri Apr 11, 2008 8:44 pm

Post by dejai »

C# forces you to use OOP, which may not be what you want to do. It may sound strange, but it is possible for that to even be a big problem. I have not experienced C# in depth myself but I have heard from many other developers that its overrated. Still its has to be a good language if it is featured in XNA. If you want to learn C# I would recommend going to:
http://msdn2.microsoft.com/en-us/vstudio/aa700773.aspx
They have video tutorials on the language and after that you can decide if you like it and buy a book :D
User avatar
teamtwentythree
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 72
Joined: Wed Apr 16, 2008 12:19 am
Location: Seattle, WA

Post by teamtwentythree »

C# should be fine for your level of game. I haven't yet played with XNA too much, but having potential access to a HUGE number of relatively powerful consoles just a stones throw away from your PC code is pretty nice. And XNA is still exploding right now, so there are a number of good tutorials out on the web.

Also XNA gives you acess to 3D affects, which can easily be used to make a 2D game "pop" a bit more.

C# is a good language to learn in. C and C++ toss too many "gotcha" type scenarios to newbie devs IMO. Java would be better if you were trying to do a browser embed or something of that nature, but it doesn't have any particular benefit over C# aside from it being more cross-platform. Syntax for these languages will be similar, so learning one should make the other relatively easy.
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Post by Falco Girgis »

The only console that I'm aware of XNA supporting is 360.

Not only that, but you have to be a member of Micro$oft's gamedev group and pay $100 a year to distribute, and then you can only distribute to other people in that group.

Your audience is going to be relatively tiny on the 360. I don't see any real benefit over C/++ other than it's easier.

Or am I missing something? Does XNA have a deeper lure than just for the beginning developer?
User avatar
teamtwentythree
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 72
Joined: Wed Apr 16, 2008 12:19 am
Location: Seattle, WA

Post by teamtwentythree »

Yea, XNA is only for the 360, just guessed everyone knew that. In terms of distribution however MS did mention at GDC that they were going to have more options for it coming out . And given that any MMORPG game is probably a couple years out for a indie team, I'm guessing MS will beat the game "out the door" so to speak.

The audience may be tiny now, but if you look at the marketing stats for Console game sales vs PC game sales its a pretty significant difference. And with the success of downloadable games indicates, to me anyway, that indies will be able to get at least some penetration there. I don't think its something you bet all of our chips on by any means, but I figure its not going to hurt either.

The downside of XNA is that you loose the ability to be PC cross platform on Mac + Linux, so theres obviously a trade off there.

As for C# over C/C++, from my experience the best lanugage to pick for any project is the one that allows you to actually complete that project. If you don't have previous experience with C++ I don't think its a good language to start programming your first major game project in. Thats just from my experience however so you can take that with a grain of salt.

That said I'm using Python to make my game, so I'm by no means the traditional game dev myself. But assuming I ever complete my current project I'm going to be giving XNA a serious look.
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Post by Falco Girgis »

XNA runs on XP, Vista, and any other MS platform that supports the framework.
Wikipedia wrote:The Microsoft XNA Framework 2.0 EULA specifically prohibits the distribution of commercial networked games that connect to Xbox Live and/or Games for Windows Live in the absence of a specific agreement signed by both you and Microsoft. [13] This means that XNA Game Studio can still be used to develop commercial games and other programs for the Windows platform, although Microsoft's networking support code for Xbox/Windows Live cannot be used. Self-developed network code can still be used inside your XNA project.

Games created using XNA Game studio are limited to non-commercial scenarios for Xbox 360 titles. However, the software may be used to create commercial games which target Windows. The Professional version of XNA Game Studio must be used to create commercial games for the Xbox 360. [1]
To me, that just killed any interest I had in XNA. If you want to do anything with the 360, Microsoft basically owns your work. You can't sell it for profit, and you can't even network without them being in your business.

I've been a long time critic of XNA, because everything and more that it accomplishes can be achieved through other means. Sure, it's great for beginning developers who can't be bothered with the complexities of writing your own C/++ engine, but for more seasoned developers, it just doesn't seem like the ideal platform.

Microsoft stands to gain quite a bit from XNA. It isn't just them giving to the homebrew community.

1) Xbox 360 Audience - it's almost pointless. Your work can only be given to other people (once you've paid your $99/year) who pay $99/year. That audience is going to be other aspiring game developers rather than gamers. They aren't going to be the ones interested in playing your game.

2) Xbox 360 in general - You can't sell your work. You pretty much pay Microsoft to distribute it. Also, any 360 networking requires a signed agreement with Microsoft. Wait, whose work was this again?

3) Microsoft C# - Is Microsoft's own technology. Of course it would make sense for them to force you to use it rather than C or C++, which are industry standards. There's also no question that while C# is easier to learn and use, performance-wise it'll never be on par with C/++.

I feel like it's a great place to start, but that's about it. Anybody serious about their projects should take another path that doesn't involve Microsoft's greedy paws in your game.
User avatar
teamtwentythree
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 72
Joined: Wed Apr 16, 2008 12:19 am
Location: Seattle, WA

Post by teamtwentythree »

Well for me its still the exposure to that many consoles that appeals to me. The networking agreement isn't entirely suprising given that I'm guessing its LIVE code their talking about. I'm guessing the "commercial" part of that means you'd have to start giving them a cut.

As for distribution there is more coming down the pipes.
http://www.gamasutra.com/view/feature/3 ... izing_.php

And yea, I think anyone who jumps on a proprietary system should be ready to jump through some hoops. From what I've seen of XNA it looks like the good outweight the bad. Thats all IMO obviously.
Post Reply