Using Photon, UE4 and PlayFab for a semi-open multi player game

Good evening,

I recently stumbled upon Photon and PlayFab and was intrigued how well they worked together.
Here's what I'm trying to accomplish:
Currently my team an I are working on a semi-open multiplayer game, which focuses on cooperative gameplay. That means, you and your character start in a city where you'd assemble a group which you then venture into the wilderness. In the wilderness you and your party are alone (i.e. leaving the city would be a map change). This is very similar how Diablo II and Path of Exile handle things.

Currently I'm using plain UE4, where I have my own database for players, items, maps, etc. and I'm spawning a new instance of the UE4 dedicated server for every group that leaves the city and one (or more) persistent city servers.
Yet after some research I found out that this might not be the best approach, not to mention hosting costs for a small indie team.
I want to know if I can accomplish my goalin Photon (plus PlayFab) and UE4 and the best approach to do so, if possible?



Comments

  • Hi @Ruhrpottpatriot.

    The wilderness part can easily be done with out of the box functionality of Photon.

    The city instances with lots and lots of players inside one instance are not so well suited for Photons room-logic, which is targeting many instances (so called rooms in Photon term) of just a few players each (from 2 to 8, maybe 16 or 32, when your send rate is low and when you can use a interest management intensively), while hundreds of rooms can be hosted per physical server instance.

    The Photon low-level networking core is very well suited for open worlds with hundreds or thousands of players per instance, just the high-level logic that runs on Photon Cloud and that is the default application for Photon Server, is not. So you would need to implement your own high-level Photon Server application with an according interest management for your cities.

    Photon allows writing you own open-world style application on the server side and this has been done by other developers before, for examples please see https://blog.photonengine.com/2014/09/dev-story-das-tal/ and https://blog.photonengine.com/2017/02/albion-online/.

    However please be aware that open-world multiplayer games are huge projects that require a team of experienced networking engineers. If you are just a single programmer or a team with 2-3 programmers of which non has successfully implemented multiplayer on a released and somewhat successful game before, then I strongly recommend for removing those city-instances from your game entirely.