• Register

POSTWOLD is Singleplayer Hardcore Action RPG game where you can replace body parts with prostheses on the fly! Also game has non-linear story where you can join 1 of 3 factions: Cultists, Slavers or Railwaymen.

Post news Report RSS POSTWORLD: a note about making large level

In this article we will talk about the problems we have encountered while crafting large level using Unreal Engine 4 and how we solved them.

Posted by on

For our roguelike shooter we have decided to develop one large level. Initially we thought only about how it helps us to implement different gameplay elemens and fully ignored any potential problems.

oI3bMSKQ5Lc

yewkh kvnbA

FmudXp 8h0Y

Screenshots above clearly show that this level contains a lot of geometry. From the beginning our teammate used only the baked lighting but this approach started to show its drawbacks very soon (long light building time, shadows seams, etc.).

We solved this problem using dynamic lighting (shadows disabled). Though FPS counter reduced its value a bit everything else run pretty smoothly.

QUKWvTlzhZI

One way we have already tried to improve FPS was using instanced static meshes components which are generated by custom blueprint for buildings. It is very simple and yet very flexible.

d4fTm Aaw5g

The other was is converting many static meshes into one large static mesh using default UE4 merge tool.

WpKAS86hcuY

UE4 provides built-in way to stream levels. Maybe we will use it further if FPS will not be good for us but for now level is almost ready.

Feel free to share your thoughts!

P.S. Or how you did optimization stuff since it is always interesting topic :)

Post comment Comments
kcs123
kcs123 - - 943 comments

Large map world is big desire for each developer in latest days.

That certainly does not come without price - performance loss issues. One way to solve it you are already described in this article, by merging several static meshes into one larger mesh. But that also only work to certain limit.

UE4 built in streaming of level with various degree of details might be reasonable solution. That however have it's own drawback. You need to create same meshes at least triple time more, to have meshes for each level of detail that will be loaded trough stream process. Not suitable for small indie team much.

Other company wrote nice article how they solved additional workload for various level of details. It poped up on moddb several days ago: Moddb.com

And here is tool that they used: Instalod.io

Reply Good karma Bad karma+2 votes
POSTWORLD Author
POSTWORLD - - 37 comments

Oh we missed your comment :( Thank you for useful links! Yeah the way we solved some issues are not silver bullet way indeed. There are more things to try.

Reply Good karma+1 vote
kcs123
kcs123 - - 943 comments

No worries, I have missed your reply too :)
I'm glad if I was able to help.

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: