Best Practices for creating game levels (partition of assets into different sub-levels)

Hey guys,

This is not about level streaming (we know there are tutorials out there) this is about level composition and what to split up in between levels (lighting, audio, logic, etc.)

I have done a couple of levels and watched/read every tutorial I could find about level design & level streaming but I’m still completely lost about the following:

I’m not trying to make an open world game but I do want the levels to be non-linear and the player be able to go back and forth to different areas(fairly large levels).

I want this to run on current gen consoles (ps4, switch, xbox one) as well as pc’s…

  1. At what size should I be making my levels and when should I split them up into separate levels and implement a level streaming solution? (I realize there is this page that says the best level sizes, but It doesn’t say like - this is good for mobile, this is for high end pc’s, this level size is good for console, etc…)

  2. What other assets should be streamed in different levels, sounds?, lighting?(should each level have its own skybox and directional light source or should they all share one)?

  3. I am working on a top down perspective game so I don’t need levels just for background, but for the sake of others can someone address this as well, what are the best pratices for having those ‘Epic’ mountains in the background…?

Is there any good guides you guys recommend for this?

I don’t want to use world machine or world composition as this isn’t a huge map. I know how to do level streaming, there are plenty of tutorials on that, but they never explain WHY and WHEN to use level streaming for performance…

Thank you all

bump, somebody has got to know the answers… I’m sure there are lots of people wondering this… instead of the useless live stream tutorials with repetitive information (come on saving & loading has been covered in hundreds of tutorials already, I know I’m being a jerk but I’m doing it for the hundreds of noobies like me who are taking this stuff seriously, I quit everything to get into game design)…

Whenever the texture streaming pool exceeds 1500mb (with many draw calls break it up earlier) I start to consider breaking things up. During level transitions between large areas I create multiple small vestibule levels so that there is minimal memory consumption during the larger level loads. Try to create minigames that unlock doors or something to stall the character for a few seconds while the area loads.

I put sound in the main level

Put the lights in the individual levels and make sure they never overlap. Build the lighting in the levels separately.

You will get messages about the lighting not being built while the levels are switching because the game thinks the lighting isn’t built when two levels have lighting.

Mike, thanks for the advice! Where did you get 1500mb from , is that the limit of any specific hardware?

bumping this again, really hoping to hear some more from others, tips & tricks for level comp advice, would love an official EPIC UE4 tutorial (please not a livestream) about level design related to performance, scalability on multiple devices (not everyone is making a game only for steam with keyboard and mouse as every ue4 tutorial[done by 3rd parties] seem to think)…