Hey everyone,
I‘ve spent some time on reddit and hear reading about procedural generation, level streaming and world partitioning. My understanding when to use what should be pretty solid by now, but somehow I wasn’t able to figure out how to solve what I am trying to implement.
That’s why I am trying to rephrase it and call it on demand level extension.
I want to build something like a dungeon crawler but the dungeon shouldn’t be generated upfront with a seed but on demand while the player is playing the game. You can always go only 1 room back and I always want to have the next 2 rooms loaded as soon as you enter a new room.
I thought this sounds like a perfect use case for level streaming…
As I want to have actors inside these levels I can’t use packed level actors for example and also no world partitioning, since the room exits can be oriented to any of the 4 cardinal directions and I therefore have to align the entrance of a new room to exit of an old room and it is all dynamic.
Procedural generation also doesn’t seem to be what I am looking for?
Having said all that, now to the interesting part: multiplayer support aka replication.
When using level streaming there seems to be an issue with actors and meshes. When you use them in your level they seem to exist on the server and all clients as their own copy and are not replicated. Also the level blueprint doesn’t seem to be executed, when spawning actors there it is not working.
How can I achieve what so many games written in the unreal engine already do, for example destiny 2 or so many other AAA games. Should I just use level streaming but don’t place the actors inside the sublevel but place only markers there spawn them on the server as soon as the level has been loaded and set them to replicated? I tried this with the level blueprint but it doesn’t seem to work. Where and how do I have to spawn actors then?
Or am I doing something wrong with the level streaming and the used methods itself?
There has to be a way to dynamically extend your world or level with multiplayer support. I mean we are talking about the unreal engine here which itself is build first class multiplayer support in mind.
And I am using blueprints if this is of any importance.
Thanks for your help. It is really much appreciated.
P.S.: There seems to be a plugin in the marketplace which claims to solve exactly these problem. So this problem really exists? Any idea of how they’ve solved it?