Jump to content
  • Advertisement
Saikodan

Experienced programmer looking for network platform recommendations

Recommended Posts

Hi,

I'm doing some experimenting on network architecture and currently working on my multiplayer RPG game.

The game is written in c# (of course) and the client\single player part has basic functionality, so now I've started working on the network side of stuff. I've heard about KryoNet(Java) and it seems like a good solution for my server. But as I'm fairly new with C#, I wasn't sure what is the best library to go along with it on the client side.
There is no KryoNet-like library in C#, so I was wondering if you have any recommendation on a library you know, or should I just use the basic system.net of C# and try to learn from that. 

I would gladly accept any tips! Thank you!

Edited by Saikodan
(syntax)

Share this post


Link to post
Share on other sites
Advertisement

I'm not familiar with KryoNet but I'm guessing since it has no client component/library it's just a server application that speaks standard UDP/TCP packets?  If so then there are quite a few NuGet packages out there that can give you basic networking capabilities.  Writing a simple bit of client-side netcode isn't impossible either, takes some significant care though and lots of troubleshooting.  If you have experience as a programmer and want to keep your code bloat minimized, it's certainly possible to write it yourself. ;)

Tip: If you decide to diy, asynchronous netcode is a bit more complicated(but also not impossible), and you might not need it(depends on game), try to use synchronous methods first as they are easier to understand and troubleshoot.

Share this post


Link to post
Share on other sites
3 hours ago, Septopus said:

I'm not familiar with KryoNet but I'm guessing since it has no client component/library it's just a server application that speaks standard UDP/TCP packets?  If so then there are quite a few NuGet packages out there that can give you basic networking capabilities.  Writing a simple bit of client-side netcode isn't impossible either, takes some significant care though and lots of troubleshooting.  If you have experience as a programmer and want to keep your code bloat minimized, it's certainly possible to write it yourself. ;)

Tip: If you decide to diy, asynchronous netcode is a bit more complicated(but also not impossible), and you might not need it(depends on game), try to use synchronous methods first as they are easier to understand and troubleshoot.

Thanks for the answer!

 

KryoNet has a client-side library also, but it's in Java, and that does not help me much.

I can write everything myself, just wanted something prepared :)

Maybe I'll write something in C,  build it and just use it as an executable with my C# code. Should be easier, since it's on windows either way.

Share this post


Link to post
Share on other sites

The most-mentioned C# networking library for games is Lidgren; have you checked that out?

A second option is RakNet with C# bindings, which has also been mentioned on these forums before. (I don't know if the bindings are P/Invoke or what, though.)

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • 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!