Jump to content
  • Advertisement
Sign in to follow this  
DrinkMoreWater

Which language is right for me? (Ruby, C++, or C#)

This topic is 3477 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

My own research will probably answer this, but in case I miss something, or to help speed up the process, please give me your opinion on the following matter: I'm interested in -- making my own multi-player space game. The ambition is to, constantly have 40-120 players, simultaneously. (Graphical client, connecting to a central server) I do not know how to program. Please tell me, which language you'd use, and why.

Share this post


Link to post
Share on other sites
Advertisement
One option I would consider is a Java server with an Actionscript client over a compressed AMF communication channel (with the client regularly querying the server for data).

Another option would be to have a C# client and a C# server communicating with each other using your choice of proxies and remote communication.

I'd steer clear of C++: it would take far too much time to set up a connection system, and it would probably be difficult to change on the fly. A C# or Java/AS solution would allow a wider range of experiments, which would help you find an optimal communication approach faster (and therefore, improve the performance of your system). Not to mention that you tend to get visible results much faster when using either C# or AS, which would keep you motivated to keep working [smile]

I honestly don't know about Ruby (which I hardly hear of outside of Rails), but I suspect you'll have less support for a client application than you would have found in the other languages;

Share this post


Link to post
Share on other sites
Python is another popular choice for beginners, and EVE's client and server were written in Stackless Python so it's certainly powerful enough.

Share this post


Link to post
Share on other sites
Quote:
I do not know how to program.
Do you not think you should do something about this? Or do you imagine you can just jump in with no knowledge and make your way through just fine?

Share this post


Link to post
Share on other sites
"I do not know how to program".
Then you have zero chances, period. Even if you knew how to program, networking (multiplayer) is (very) hard to program. So you should first start learning to program.
As for languages, I'd say C++ or C# (very well supported).
You might want to learn to output "Hello World" before making your own Quake III, though :)

Share this post


Link to post
Share on other sites
Quote:
Original post by asdqwe
Even if you knew how to program, networking (multiplayer) is (very) hard to program.
With Java/AS3 (and, to a lesser extent, with C#) establishing a network connection between a client and a server is a thoroughly documented breeze. Designing the actual protocol so that it's efficient and robust is another matter, but is mostly unrelated to programming (once you have a good idea, implementing is is easy).

Of course, the point of learning how to program before actually programming anything is something I agree with wholeheartedly.

Share this post


Link to post
Share on other sites
To address the above comments... I am starting by 'learning to program'.
I do not plan on developing this game, for at least five years. It's my future goal. But I do want to learn a language, that will set me on the right path.

Share this post


Link to post
Share on other sites
Quote:
Original post by DrinkMoreWater
To address the above comments... I am starting by 'learning to program'.
I do not plan on developing this game, for at least five years. It's my future goal. But I do want to learn a language, that will set me on the right path.
Knowing only one language after five years of programming is usually seen as a failure (at least where I leave/work). In fact, many people start programming in lightweight languages which support experimentation, are coherent and predictable, and are reasonably beginner-friendly (consider Python, javascript and ActionScript; C if you have a competent human teacher; OCaml, Scheme or Haskell if you have a mathematical background). After a few months, they use their newly acquired knowledge to start learning other languages with a more industrial philosophy (C++, C#, Java) that would have been a heavy language to start with.

Share this post


Link to post
Share on other sites
Among the choices presented -- C++, C# and Ruby -- I would suggest C#. It's easier than C++ to pick up, yet relatively similar syntactically, which would make switching to C++ later easier if it becomes necessary for performance or portability reasons.

Ruby is a real dream to work with, but with the current set of libraries I wouldn't recommend trying to write any sort of graphical game in it; it'll likely end in disaster.

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.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!