Hello! I already have a large RPG project and players are asking me to introduce a minimal multiplayer. What can you advise me to implement the network? I know C # quite well and have done several projects with it, but I absolutely do not know how to work with networks (I can only with Photon Cloud).
To begin with, I only want to synchronize the positions of players in the hub. I could easily use PUN 2 for this, but it costs money for a large number of CCUs.
I looked at uMMORPG, but its problem is that this is already a complete game, but I have all the skills, levels, combat work already according to my rules.
Please advise me the easiest way to create a network (write your own server?). So that I can make connection and synchronization of positions.
You will also have to consider if you want an authoritative server, semi-authoritative, etc. Personally, for the project I’m working on I’m doing my own custom console server with is 100% authoritative and using LiteNetLib as my network library. I’m happy to answer any specific questions, I’m nowhere near an expert but I’m happy with the progress on my own project (2D Isometric MMO/RPG).
Start by thinking about what network architecture you are looking for. Host/client with lobby or matchmaking? Sharded dedicated servers? Giant single open world? LAN play? Then start looking at the options which fit best.
But make sure you understand there is no such thing as “minimal multiplayer”. You’re very likely going to be rewriting every system in your game to add compatibility with multiplayer.
Thanks for the answer. I think I could use a client as a host specifically in this game. There is no open world in the game, only individual levels that could be played cooperatively. An arena would also be needed. All this I could easily have done through PUN 2, but it is not profitable for me.
The low number of CCUs is deceiving. To hit this many players at one point in a day, you’d need a minimum of 20x the DAU.
PUN 2 has a one time 100 CCU subscription, which can be used in a commercial way. There are sometimes sales for it in the Asset Store, too (as PUN 2 Plus).
If you want to avoid all costs but have the time, go for the usual suspects of free networking libraries. Mirror, MLAPI and Forge come to my mind. They are easy to find in this forum.