Want Monogame.Networking || Monogame.Multiplayer ?

I’m a long time Monogame fan. Now I have some free time and gonna spend it on Monogame development.

The field I’m much interested in is adding Networking or Multiplayer capabilities to monogame.
I already have experience with this field with many projects, including an online simulation game. But I believe, the concept of “Multiplayer game development” differ from project to project.

What I want to know is,
Is it enough to create an IP/TCP server-client system with some serializers to send/receive data (Monogame.Networking)

OR if it’s necessary to create some more game-specific system with concepts like world, entities, players and ServerGame/ClientGame classes etc…(Monogame.Multiplayer)

AndAlso, I want your suggestions, comments and great ideas to make it more practical and usable!
Happy coding :grin:

3 Likes

It would be fantastic if you did this. I have been a heavy user and fan of Monogame for several years now, and in my opinion, the lack of an easy to use library for multiplayer network games is its biggest weakness.

For myself, I would prefer a solid, well documented, “Monogame.Networking” library that I can build on for each individual project, than partial solutions for both Networking and Multiplayer - there are already a number of half completed networking libraries around, and I find trying to get them to work very vexing.

1 Like

Man that’s a big old can of worms you have opened :>

There are lots of things it would be good to have in a library.

You sound like you already know the basics, but from the multi-player games I have written there are a hell of a lot of gotcha’s that need to be avoided.

The client server model is a nightmare when you don’t fully understand network latency and the inequities of broadband connections.

Just look at the mess that was Call Of Duty.

So what do I think you should create…

Well secure connections over UDP would be a good start. With packet loss detection and handling.

Maybe DTLS

State synchronisation would be nice.

Network topologies

A whole huge can of worms wriggling all over the place

1 Like