Jump to content
  • Advertisement
Sign in to follow this  
tplague

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

This topic is 2638 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
EVE was written mostly in Python? Wow!

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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!