Download

Code execution, teleportation to the unloaded sublevel

Hello,
I’m working on my game with a large open world.
Of course, I plan on doing it with world composition.
The game is based on multiplayer.

I’m not competent enough in UE, so I could be wrong.
I’m also not a native English speaker, so sorry for the mistakes in my speech.

Further, “level” is a sublevel in the world composition.

There are several settlements in the world located on different levels.
The settlements are controlled by AI.
The player develops science, builds his settlement.
AI’s also need to evolve: they mimic player behavior by developing their settlements.
Their characters work on machines, work on the development of science in scientific laboratories, trade between each other (AI and another AI) by sending caravans.

As far as I know, in multiplayer, the server loads the whole world and calculates the logic for all units that do something or just exist.
And, if I’m not mistaken, then my ideas are feasible, since world composition works on the client side. Therefore, the units should perform their actions without any problems, since their execution takes place on the server.

P.S. I was confused, and for some reason thought that when the level was unloaded, the unit’s activity would be suspended until the level was loaded. (this, if I’m not mistaken, is applicable for a single player game)

Tell me, am I right or wrong?
If I’m wrong, how could this be done?

Another question:
The player controls several characters, each can be in different levels.

Do I understand correctly that if the player switches the camera to another character in the unloaded level, I will need to load this level first, and then teleport the camera?
If yes, how can I determine which levels to load (especially considering that the character may be on the transition between two sublevels)?
If not, how can I make it right?

World Composition will load all the levels. Streaming distance determines whether you see it or not.

WC is client-side. The server will always have the level data loaded. If you need to have AI action suspended you need to handle that directly in code.

Swapping to another character across the map shouldn’t be an issue. Use Un-possess and Possess.

1 Like

Thank you for your answer!
It really cleared up my confusion.