Firelink Shrine Remake - UE5

Video link: (Unreal Engine 5 - Firelink Remake - YouTube)

This scene is a recreation of Firelink Shrine from Dark Souls. The stone walls in this scene were procedurally generated. A total of 183,603 stones were used to build the shrine.

I chose to build the walls this way for a couple reasons:

First, this method would provide an immense amount of detail and variation. Each individual stone is slightly different from every other stone meaning there is no repetition, even on a large, flat wall.

Second, I thought it would be an interesting experiment to see if this method was a valid alternative to a traditional modelling approach; Partly from a technical side to see if the impressive claims Epic Games made about their engine actually held up, and partly from a pipeline side to see if this was faster or more efficient.

Wall Segments
pieces
Manually placing 183,603 stones for this scene would be rather time consuming - If I ever wanted to slightly alter the shape or use bigger stones, I would have to start from scratch. Instead, I decided to procedurally build each wall, laying out a spline in the shape of the wall and then programmatically placing stones along it. Each spline has several tags listing the properties of the wall segment. For example, I can specify the height, thickness, or if the wall would progressively grow.

Each stone in the wall has a slightly different scale, rotation and colour. This allows for a great deal of variation with no repetition. With this method, I could make a large flat wall and not have to break up a tiled texture.

Combining Segments
stages
To faithfully recreate the architecture of Firelink, I essentially traced the collision model from the game by bringing a section of it into the engine and placing splines along it. By applying various properties to each spline, I was able to successfully create my version of the wall, allowing large sections of a wall to be created with only a few splines.

Once the walls were generated, I did a manual pass to add finishing touches, such as destroying a bit more of the wall, adding debris, or fixing anything the procedural algorithm didn’t get quite right.

The last part of making the walls was adding moss. Unfortunately, vertex painting was out of the question. To start, there is no height data for the cracks between the stones, since it is not a texture. More importantly, Nanite does not support vertex painting in the Early Access version of Unreal Engine 5. Instead, I used an ambient occlusion bake as a texture mask. I ran a light bake on a particular section of the map, providing each stone with access to its own ambient occlusion data. I can then use this as a texture mask to bring in the moss. Ambient occlusion forms in the cracks and crevices of an environment, so it was inherently in the area where moss would naturally grow.

Glamour Shots

1 Like

Greetings, @ClintonWalsh, and thank you for sharing your incredible “Firelink Shrine” remake here in the Unreal Engine Forums! The similarities between your remake and the original scene are uncanny! You went far and beyond with this scene, and I am more than impressed! Using 183,603 stones for this creation indeed was no easy feat, even with the methodology you used. How long did it take you to create this project in its entirety?

Hi @Zezkaii ,
Thank you for your kind words. I probably worked on this for a little over a year of working on it a few hours a week. It started as a UE4 project where I was using Hierarchical Instanced Static Mesh Components in a Blueprint.

1 Like

The pleasure is all mine! With the fine quality of work displayed in your creation, I’d say that year was time well spent! Kudos again on the fantastic job done with this remake, and I can’t see what kind of awesome projects you share in the future! :grin: