Search code examples
c#c++client-serverunreal-engine4

Game Client/Server Language


I'm Still Currently watching these tutorials in youtube.com

links:

1)youtube.com/watch?v=bjAeEDUd6Ls (Unreal Engine MMO Blueprint "Series")

2)youtube.com/watch?v=TpFmdKRxaIg (Unity MMO C# Programming "Series")

3)youtube.com/watch?v=EyNVeTzhC1w (Making an MMORPG Game using NODE.JS as Server Language & Game Maker Studio as Game Engine)

Question Would be:

1) Can I use C# for server and C++ for my Client?

  • would it work?
  • Is it Advisable?
  • if it would, then, Is C# (as server) real time like Node.JS?

Notes:

  • I would Like it to run over the Internet (Clients Could Download my game and connect to my server that is running in my house)
  • The Game is only going to run in Computer (I would like it to run on linux, BUT for now I sticking at Windows)
  • The Server would just be a console
  • The game will be Created via Unreal Engine.
  • Server Will be Created via Visual Studio.

Don't worry about me searching for MMORPG tuts I am just going to create a VERY VERY Simple game. no special effects. no hard coding. I'm just worried about Connecting client to server and their communication.

P.S. Sorry for such a dumb question. if my question itself is already a mistake then feel free to explain it to me how it works :)


Solution

  • Yes, you can definitely use two different languages for client and server because they will be two separate applications. The will connect with each other via a common medium that stays the same, no matter the language that uses it. You can find lots of tutorials on how to do networking in both C# and C++.

    Is it advisable? I would say that you should just use whatever fits you best. The only benefit you may gain from using same language here and there is that you could easily create common libraries that would be used by both applications.

    I'm not sure how well you know C# and C++ but if you do not know them well then it may be easier for you to just use one language for both so that you have less things to learn. For example, you will need to learn how to handle networking in just one language and not in two.

    I'm not entirely sure what you mean by the last question about C# being real-time. However, yes, C# is perfectly fine for a server application and you can write a commandline server app that will run the simulation of your game and respond to your game clients.