Not sure what's the best way to build a level

I’m creating a level for my first game (a sidescroller platformer) (i’m new on game dev), and i’m not sure how design it.
Using static imported meshes from blender to create the level (floor, mountains, floating islands, etc), or using UE4’s brushes/level editor? what is more effective for perfomance?
In case of being imported static mesh the best option… there is some size for mesh or something?
for example, what is better? a big mesh being the floor, or 10 mesh pieces together?

sorry if are dumb questions, but i’m new on this world, and there are a lot of things that are not clear, i’m trying to do the things by the best way.

(and sorry for my english)

I would recommend you to use static meshes, because normally BSP brushes are just used to create the rough structure of your level -> so they will be replaced with static meshes during the development process. Also use just 1 big mesh instead of smaller ones, because you will save some tris which will give you a better performance.

For the mountains/terrain I would use the landscape tool, because it already has good lods :slight_smile:

Thanks again !! Your are my lifesaver.
When my first game be released there is a place in the “Special Thanks” for you :smiley:
I’d really like UE4 doc be like Qt doc, Qt doc is amazing, each class, method, etc. is explained in deep, with “dumb proof” words, has a lot of examples, etc.

Hi Xiverio,

I’m just going to throw a couple of more thoughts in here to add to what suggested.

Static Meshes are always the best bet here. Simply having that type of control over your asset by being able to control how the materials are handled and the LODs can greatly benefit your performance! BSP/Geometry brushes are great for blocking out and testing how your game level will play. BSPs are a way to rapidly prototype which can tell you early on if something is working or not.

I use this example a lot, although it’s a relatively basic one, but in the Content Examples from Marketplace project > Open Level > LevelDesign_Workflow.umap. If you’ve not seen it this is a great way to see the process of prototyping with BSP all the way to the finished project with VFX and static meshes. You can even check out the video below where Jim Brown, one of our senior Designers, walks through the process of creating levels.

v=XDsJOFyxMnw

There is a theoretical limit on the poly limit for the mesh, but for all intents and purpose there is no limit. I’ve personally imported a mesh that was nearly 2.5 million tris with no issue. It took a few minutes for it to load in, but it did. Something that high poly isn’t necessary for real-time situations. Making sure you have a lower poly count will help in a lot of situations when it comes to optimization and getting that high fps.

For the Floor, since you’re doing a side scroller having one large mesh may work fine depending on the level length. By having one large mesh that will always be visible there is no way to cull that the parts that are off screen since part of that mesh will always be visible. By having it broken into chunks the parts that are not visible will be culled and you can setup culling distances so that you get better performance as well.

In many cases, since you are just starting out it would be OK to use what works best for you at this point. Start putting things together in stages and testing to see what works and what doesn’t. Focusing on the little things early on is not necessary. You can always go back and tweak. :slight_smile:

If you have any questions feel free to ask! :slight_smile:

Thanks for the answers.
I have one more question about this, think about a 2D platformer side scroller, with graphics “green hill zone style” or “mario 3d world style”, blocks of terrain (not rooms and walls) that need some “rock shape”, so they can’t be a flat square or reactangle.
How many tris could be ok thinking in perfomance terms?
If the level will have a lot of these “leve pieces”, i suppose they should contain less tris as possible, but i have no idea about those numbers, no idea how many tris or polys can contain my level (i’d like release it for android/ios in the future), and the “Subdivision Surface” modifier on blender adds a lot of tris/polys to the object, but if i only use the basic “smooth”, it’s looks very artificial and ugly. (with about 200 tris).


I’d like shapes like the upper rocks on the image, or the right side platform, but i’m scared about poly count.

(I don’t know how post the image as a thumb)

Hi,

Just as a comment from the sideline: Wouldnt that hurt the static lighting build times :rolleyes:
(Sorry, couldnt resist)

Cheers,
Klaus

Probably yes ^^ But this sentence depends on which kind of meshes he uses -> e.g when he builds a level with cubes, then it is better to use 1 big cube instead of 10 smaller ones, because you can decrease the tri count :slight_smile:
But as said, for complex ones you can use smalle meshes so that you can cull it

With mobile this can be helpful to get as low a poly count as possible. Some key points to remember for mobile as well is that for any single view on screen you cannot have more than 500k tris. Now with that said, Something like the screen shot above doesn’t have nearly that much.

There’s a lot of things can affect performance, having a few extra triangles in your scene would not be nearly as bad as having a complex material or other things going on in your scene. You want to keep this number as low as possible while still having enough detail that you feel it fits your style.

The “How many tris/polys should my object have” question is always hard to answer. The answer typically is “Depends.” This is because it really does depend. You want to be able to have the lowest poly count and still have the detail necessary so that someone knows what it is. Using normal maps can add much more detail to your mesh without having modeled geometry.

Some other considerations as well to think about:

How often will players see this object?
How close will they be to this object?
Is this an object they directly interact with or is it just background?

These basic questions can help you decide how much detail you need to put into the model. If it’s something they will directly interact with over and over and you want to have a higher fidelity then giving it a little extra detail shouldn’t hurt too much.

Feel free to ask questions if you have them! :slight_smile: