1. Dungeon Crowley
  2. News
  3. [LEVEL DESIGN INSIGHTS] Building levels in UE4 and using randomization tools.

[LEVEL DESIGN INSIGHTS] Building levels in UE4 and using randomization tools.

Hello dear mortals,

welcome to this new post about level design insights, we will tell you more about how we are building our levels and a very interesting (and free tool) that we use to randomize elements in them.

Along this Early Access stage, we are sharing the different stages that the project is going through. One key aspect for us in Dungeon Crowley is the level design process. And we thought it would be interesting to give you some insights and illustrate how we are going through it in a more detailed way.

So prepared the following time-lapse, and a list of steps showing our workflow in Unreal Engine 4:



  1. Global lightning (all rooms in Hod share a common directional light, skylight, skysphere and such).



  2. Preparing material sets: all common materials that should be shared across maps, taking color and blending in consideration.



  3. Map lightning: overall lightning specific to the map such as torches, other light sources and reflections spheres.



  4. Macro construction: walls, big meshes and overall bounding assets.



  5. Micro construction: small props and details; plants, sun rays and such.



  6. Unique details: details that are unique to the map.



  7. Lightning finalization: re-analysis of the level light with all assets and level-design done.



Final result:



Also related to level design, we want to share with you a free tool we found very useful when doing our level design with randomized elements, it is called Prefabricator, and here you can see it in action:



To contextualize how we use it, we have to explain we use a strong randomization algorithm and had split our process in two steps:

1. Macro: randomizing entire hand-crafted rooms and interchanging the order of appearance between them.

2. Micro: altering internal details (such as decoration and some gameplay related props, wall, chests, etc.)

We've been using the Prefabricator plugin to perform do the second step. It is a fabulous tool because of the following reasons:

  • Very level-design oriented.
  • Allows prefab collections, thus, stressing the reutilization of those.
  • Can be used during runtime and even in a async way, allowing very cool effects like re-randomizing an entire scenery in runtime without blocking the game flow.
  • Can handle nested collections.
  • Allows seed linking to relate entire different prefabs, (fine control over chain generation of different collections, thus, amplifying re-utilization and giving better macro control of a entire scenery).


We had to make a few changes to allow it to work with our multiplayer design, but aside of that, this plugin is a very professional and complete tool; and even better: it's free!

You can find more info about Prefabricator for Unreal Engine here: https://prefabricator.io/

Stay tuned for more news,
Animvs Game Studio