I am trying to create a multiplayer rogue-like with procedurally generated levels. I am stuck on figuring out how to support a Diablo 3-like “rift” system.
In such a system, players can freely move about multiple “floors” that have been procedurally generated. These floors may contain persistent loot or enemies. Ideally, the players would not need to move as a group (ie server traveling from map to map), and should otherwise be able to communicate freely.
After a lot of time spent figuring out persistent levels, I do not think it will do what I need to unless there is some trick for separating areas between players. It seems like I could load/unload streaming levels to ensure they are only loaded when players are present in the area, but it seems like a performance hog to have potentially dozens of large areas all replicating to all clients, instead of each area replicating to the players on that floor.
I am almost thinking I will need to set up a server instance for each “floor”, but I am not sure if that would work for Listen Server (aka locally hosted).
How can I accomplish this?