Fabian Kraus has shared the workflow behind the Medieval City project, spoke about why Unreal Engine is a perfect toolkit for level design needs, and explained how the use of different shapes helps lead players.
Hello, I am Fabian Kraus and I am an Environment Artist from Germany. I studied Virtual Design in Germany and worked as a 3D Generalist for TriCat GmbH, a Unity-based "second life" for the business sector. Currently, I am looking for a job in the games industry.
The project came to life after I played the Gothic 2 mod "The Chronicles of Myrtana: Archolos". The modding team created a fantastic and immersive city.
Since I always really enjoyed blocking out environments, I started to doodle around in Unreal in the evenings. After a while, it developed into a bigger and more coherent project and with that, I started to plan out the city.
I did a lot of research about medieval life, cities, and buildings and assembled a large collection of reference images.
My goal was mainly to create an enjoyable spatial composition that is fun to explore, similar to the cities in other games like The Witcher 3 or Thief. Especially when you enter a location for the first time and places unravel before you, bustling with life and character.
Unreal Engine offers quite a few methods for blocking out, but I mainly use a plugin called Blockout Tools made by Dmitry Karpukhin. It provides basic procedural shapes with a really nice grid material. Unreal Engine 5 provides basic modeling tools which allow quick custom shapes. The nice thing is that most basic functions are already there, e.g. the player controller, game templates, etc. For everything else, there are plugins or tutorials. On top of that, I create additional models in Blender.
The Structure of the City
It is important to note that everything is about iteration. I didn’t have concept art for my city so I used the first iteration as my concepting phase where I mostly use scaled and rotated cubes without grid or fixed rotation angles. During this entire process, I kept on iterating on paper too. Once I was happy with the base I started refining the shapes and replacing everything with proper measurements, grid sizes, and rotations.
The city is structured in districts. Each district has a specific function and connects to another in a logical manner. For each district, I also specified buildings to gauge their minimum size and establish landmarks.
To connect the districts, I was keeping it simple: there is one main road leading through the city with 2 junctions. The road size is scaled by importance and type of space, meaning that the main street is visually distinct from the more narrow pathways. This helped with readability and formed a nice contrast to the branching pathways into the more private living quarters.
On top of that, the areas alternate between open places and linear roads. I can highly recommend Christopher Totten’s book "An Architectural Approach To Level Design", where he gives insights on a few methods.
Additionally, I tried to color-code types of objects, e.g. green represents vegetation, brown represents wood, and so on. I’m still working on unifying the plugin shaders with my own to have homogenous visuals for later stages. I’d like to develop a cohesive visual methodology for my projects in the future.
I try to lead the player with landmarks and areas of interest. For places, I mostly use statues. Archways also invite the player to explore further and tell the player that they enter a new area.
To guide players, I cordon off areas with buildings to funnel them towards a new area. I use changes in elevation to highlight landmarks and if possible layer them in the player's view.
Sometimes I isolate an area, block it out in a blank level and integrate it afterward adjusting both pieces leads to mostly nice results.
It is very important to always walk through your level multiple times and get a feeling for the spatial composition. Interesting compositions can turn up all the time!
Testing and Tweaking the Levels
Usually, I jump in whenever I finish an area or if I am unsure about the measurements. I walk through, taking in the spatial arrangement, compare it with my concept, and adjust accordingly.
For the base metrics, I established some loose guidelines, e.g. a mannequin, a transport cart with an ox, door sizes, and width of pathways. The Blockout Tools have automatic collision and for the purpose of designing all external models use complex collision as simple collision. I also try to keep clear round numbers, using a static grid of 10 units for translation and 15° for rotation.
In this project, I mostly disregard the lighting, since my city has almost no enclosed areas and is planned around regular daytime lighting. Lumen is really a lifesaver in this case. Although alternating between narrow pathways and the main street creates a natural contrast between the bright open spaces and the more dim alleys.
Level Design in Games
Recently, I played Elden Ring and Sifu – both fantastic games. Sifu is nice and compact and has a very interesting progression system built into its levels, similar to the shortcuts found in Dark Souls games. In my opinion, one of the best level designs can be found in Dishonored, its neatly crafted immersive experience had a significant impact on me. Sekiro and Thief 2 are also very inspiring.
If I had to give some advice to the artists who learn level design, I would say that a good start would be Christopher Totten’s "An Architectural Approach To Level Design". It’s a comprehensive overview. It covers all the basics and contains further literature.
While not a level design book, Francis D.K. Chings’ "Architecture: Form, Space, and Order" is also a valuable resource for designing spaces. Fortunately, there are a lot of resources to be found online.
There are also some free courses on Epic Games.
This content is brought to you by 80 Level in collaboration with Unreal Engine. We strive to highlight the best stories in the gamedev and art industries. You can read more Unreal Engine interviews with developers here.