C++ or C# for 2D mmorpg?

Started by
15 comments, last by Fiddler 16 years ago
Hello everyone, I've got an e-mail about me and my teams 2D mmorpg project. We're are using C++ with SDL. He said that C# (with IDE Visual C# 2005/2008 Express Edition) is much better for these kind of projects. That this IDE was designed for students and hobbiests like us. And C# gives much less work and higher performance, also much easier handling with graphics and bitmap classes. And says when we're ready to use multi-playering and hard-accelerated we're avable to .NET sockets and XNA framework (which is relative easy to use). Could you guys tell me if this is correct, and should I leave C++ and SDL behind and start using C# and XNA instead? I'm only interested in 2D games and mmorpgs. Please tell me what you think! Thank you so much for your reply!
Advertisement
I would use C#. The Tao Framework enables you to use SDL from C# or any other .NET language.
Quote:Original post by smr
I would use C#. The Tao Framework enables you to use SDL from C# or any other .NET language.


You're not answering his question. He asked about XNA, not about OpenGL.

On-topic: Yes, I personally say: Go with C# instead of C++. While C++ allows you to get more out of a computer in the sense of performance, C# will increase your productivity, because you no longer have to spend your time doing low-level things. You can focus on the job, and not the utilities to get it done.

I heard good stories about XNA, but I never used it myself so I can't answer there. I did hear tho that redistributing the XNA framework can be a pain in the ass, but esp. for beginners, it's a great library to start out with.

Toolmaker

The biggest thing you must keep in mind if you are planning on using C# + XNA is you are effectivelly limiting the places you can run the code (client or server) to Windows and XBox 360. Now that's you're choice on if that's bad or not.

Indy
Quote:Original post by Toolmaker
Quote:Original post by smr
I would use C#. The Tao Framework enables you to use SDL from C# or any other .NET language.


You're not answering his question. He asked about XNA, not about OpenGL.

He mentioned that he currently uses SDL -- it doesn't hurt to point out that the decision between languages and the decision between libraries can be somewhat separated. You're the only one to mention OpenGL ;-)
Quote:Original post by Arelius
The biggest thing you must keep in mind if you are planning on using C# + XNA is you are effectivelly limiting the places you can run the code (client or server) to Windows and XBox 360. Now that's you're choice on if that's bad or not.

Indy


Why do people make it seem like this is a major issue? I guess if you wanted your game to run on the 8.2% of what is left I guess that would be an issue. Why do people think that because your game will ONLY run on 91.8% of computers that it is any kind of problem? Oh yeah and you get one of the gaming consoles as a bonus.

Sorry, but I am getting very tired of people saying that.
theTroll
Quote:Original post by Arelius
you are effectivelly limiting the places you can run the code (client or server) to Windows and XBox 360.


">Wrong wrong wrong wrong

The Mono Project allows C# to work on many more OSes than just Windows.
Jpetrie is also being a devious bastard and playing with C# on the PSP, although that project is admittedly not quite in the mature stages of development.

[Edited by - MaulingMonkey on March 21, 2008 4:56:18 PM]
While it is True Mono allows C# to work on other OSes, I'm not sure XNA does as well which I think is what Arelius may have been going for. If XNA is available on other platforms then Arelius is completely incorrect.

C++: A Dialog | C++0x Features: Part1 (lambdas, auto, static_assert) , Part 2 (rvalue references) , Part 3 (decltype) | Write Games | Fix Your Timestep!

MM, I doubt we'll see a usable version of XNA on linux. Mono.XNA looks pretty sickly.

TheTroll, the fact is that you can make about 20x as big a splash on linux/mac with a really great free game than getting lost in the sea of windows freeware.
If you're doing it for experience in order to later move on into a industry position I would use C++. I'm also fairly sure there is more middle ware for C++ which is either free or fairly cheap. It's a harder decision than what language allows you to be the most productive, the productivity from already tested existing libraries will far outweigh any increase of productivity the language itself provides. If language productivity is paramount I would choose python not C#. Python is also cross platform and allows you to easily outsource performance critical code to C.

Quote:
The Mono Project allows C# to work on many more OSes than just Windows.

People keep bringing this up, but how many Linux users actually deploy mono applications? I know I've never deployed one. This is my mind speaks volumes about what the general view in the Linux community is on .net. People do not like the huge slew of non-free stuff mono is reliant on, there are many legal issues with patents. Mono is fine to deploy on a corporate internal servers, but externally on user computers it might not be as appreciated.

I would LOVE to see some stats of market penetration for .net 2.0 on Linux, MacOS and Windows. If someone knows of a resource I would be very grateful.

This topic is closed to new replies.

Advertisement