XNA C# vs C++ for 300-500 multiplayer game

Started by
7 comments, last by ApochPiQ 12 years, 7 months ago
I don't want this to become a flame war and yes, I did search. It seems that most people believe that XNA C# runs slower than C++. I could make a game way faster through XNA and I do know enough C++ to get by...but which would YOU take on for a 300-500 multiplayer game?

I want to have options open for the players (i.e. very low settings and very high).

Thoughts?
Advertisement
No, sorry, at best C# would be able to handle 299 players.




In all honesty, the limiting factor for number of players has nothing to do with language. Eve Online supports tens of thousands of players and a great deal of it is written in python. As to XNA networking libraries, well chances are they aren't tuned for that kind of game. But C#. Easily... with great difficulty. Just like almost all other languages.
EVE was written mostly in Python? Wow!

I've seen some benchmarks where C++ uses less memory and C# uses almost double at times...
Erlang.



In all seriousness - who cares? Use whatever technology you can be most productive in. If you become insanely lucky and actually outscale your chosen technology, you can always grow later.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

To stack some more wood on this fire, most people starting off get caught up in trying to find some sort of perfect technology before making their game.

Honestly, especially for the scale that you're probably working with, it doesn't matter that much. What you should really concentrate on is how fast you can write code. If you can write code way faster in C# using XNA, then it's the winner. We're not pinching bits on the Atari 2600 anymore, so not everything needs to be the absolute fastest. It needs to be fast enough to do the job, and C# probably will be.

EVE was written mostly in Python? Wow!

I've seen some benchmarks where C++ uses less memory and C# uses almost double at times...


Determining the validity of benchmarks is no simple task. Assuming the benchmark you saw was relevant to the game you're planing to make, I'd say it doesn't matter.. unless the amount of memory you need for your project falls within that range where the C++ allows your code to run and the C# doesn't.

Indeed, EVE has a lot of Python. Runescape and MineCraft are Java. So, rest assured that very ambitious projects have been accomplished with languages that are not the fastest, most efficient language available.

Pick what you feel will make your game a reality most comfortably (quickly, available on the platforms you want, enjoyable for YOU to code in, etc) and go for it!
Great responses guys!

I believe I will make a "mock-up" within C# and if I ever need to, I will port it over to C++. I will however be writing C++ here and there as counter-parts to my C# code just so I have my own little database going.
The main problems with a game of that scale is with the server architecture and content creation, The languages you use for the client are mostly irrelevant and for the server it might be a good idea to pick a language that makes writing large , highly scalable applications as easy as possible (Which means i wouldn't recommend C++ for it.

Remember, hardware is cheap (relativly speaking) so for the server the most important thing is that the software you write scales well so you can just throw more hardware at it as your playerbase grows, For the client things are a bit different (You can't just tell your users to upgrade their hardware and having them use more than one machine for the game is pretty much impossible) but even cheap PCs these days can handle quite alot and for the performance critical parts there are plenty of libraries you can use.

Thus your primary focus should be bandwidth usage and scalability.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
Also, note that EVE uses stackless Python, not vanilla Python, which contributes a lot to its scalability.

But yeah. Language isn't terribly important at 300-500 players. Write first, optimize once the obvious bottlenecks appear, if you need to.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

This topic is closed to new replies.

Advertisement