Hi there…
I’m 3 Months into developing my optional Co-op Rpg.
Networking with EOS is running, a Client can join an opened session, inventory is running, shop and market systems work… combat runs…
Now i’m scratching a problem i know it will block my progression…
How can i have each Player be on “a different level”?
The “” in purpose… cause…
I know OpenLevel is not working, cause openlevel on a client will cause em to be leaving the session.
servertravel only works for all connected players (host and clients) together… not individual…
so… i thought a persistent level and Levelstreaming of sublevels could be a solution…
But… Loading a level stream causes the level to load for all players, too… not just local…
To define my situation more specific:
When starting a new Game as Co-op session, both players should play the proloque individually, until they meet at the same spot at the end of it.
means… both players need to be on their “own server”.
And later… A building in the game is the main hub players can build into. But each player indiviually should be able to chose to go outside into town and world… while the other stays inside or is doing other stuff deeper in the building…
how would one do such a mechanic without having servers over servers for instances of different levels… just for a simple p2p co-op session game?
First, I am not a expert; however, I am unaware that you could have a multiplayer game where the players are on different persistent levels.
So simple maybe… …have 1 persistent level and have the players travel to different locations on that persistent level of which these different locations would be different streaming levels which would act like your different game “levels”.
For me, I have 1 streaming level and, currently, 134 streaming levels. Multiplayer open world game and the players can have different streaming levels open and be where ever in the persistent level and still be playing concurrently.
I am using a listener server so someone is the host/server and the others are the client. Could just have a different starting point for each player which, while on the same persistent level, would have a different gaming experience based on their streaming level until you, the game designer, allow them to meet up.
My experience/conclusion given UE 4.26.2 is that multiplayer level streaming is broken (or I could not figure out how to make it work). I had to write my own level streamer such that levels stream correctly for the host and the clients. I claim the out-of-the-box level streamer only considers the location of the host when streaming in/out levels which will leave clients on unstreamed levels from the host/server perspective which, in turn, will cause the clients to fall thru terrain and walk thru objects that are supposed to be blocking.