logo80lv
Articlesclick_arrow
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_login
Log in
0
Save
Copy Link
Share

Breakdown: Building a Winter Environment of a Castle in a Mountain

Andrii Koroliak shared the workflow behind the Emberwatch Keep project, discussing how he did the blockout for the main idea, built the castle and created the vegetation, and detailing how lighting can enhance the scene.

Introduction

Hi everyone! My name is Andrii Koroliak, and I'm a 3D Environment and Prop Artist focused on creating atmospheric, story-driven scenes. I've always been fascinated by how game environments can convey emotion and narrative through lighting, composition, and small details. This passion led me to 3D art, where I found a balance between technical problem-solving and artistic expression.

Most of my skills come from self-education and persistence. In the beginning, I spent many nights learning and practicing, trying to use every free moment to improve. There were many mistakes along the way, but each challenge became part of the learning process. I spent a lot of time exploring different workflows, studying tutorials, and experimenting with various techniques to understand what works best.

Personal projects became my main training ground, allowing me to test ideas freely and push myself with each new scene. Over time, this process helped me develop both stronger technical skills and a better artistic understanding.

Emberwatch Keep

Emberwatch Keep started as a simple practice. To be honest, I didn't plan to publish it on ArtStation at all. It was just an exercise where I wanted to explore atmosphere and improve my environment workflow. As I kept working on it, the scene started to feel more interesting and emotionally stronger than I initially expected. The lighting tests began to create a mood that felt cinematic and nostalgic, and that's when I decided to push it further and turn it into a finished project.

For inspiration, I've always been deeply drawn to winter landscapes, cold silence, and dark fantasy grounded in history. There's something profoundly emotional about places shaped by time and hardship, structures that have endured storms, wars, and centuries of isolation. With this keep, I wanted to capture that feeling of resilience. It stands alone in the mountains, exposed to unforgiving winters and endless winds, yet it refuses to collapse.

Its walls are worn, its surfaces scarred, but its presence remains unbroken. To me, it represents quiet strength, not loud or heroic, but enduring. There's loneliness in the scene, but it's not weakness. It's the kind of solitude that builds character. I wanted the viewer to feel both the weight of time and the dignity of survival. One of my favorite games, Kingdom Come: Deliverance, also influenced me.

I really appreciate its grounded medieval atmosphere and realistic architecture. For reference, I purchased a landscape reference pack on ArtStation, and it became my main starting point for the project. From that pack, I selected one particular landscape that resonated with me the most and used it as the primary visual foundation.

It helped me establish the overall mood, composition, and lighting direction. After that, I began expanding the scene by gathering additional references, particularly for castle walls, roof structures, and aged wood details. These helped me design the architecture in a way that felt grounded and believable while still fitting the atmosphere I was aiming for.

I created the blockout directly in Unreal Engine using simple primitive shapes. At this stage, I focus purely on composition, scale, and silhouette. It's far from the final result and intentionally very rough. Sometimes we can all be a bit lazy with blockouts, but I believe it's important to at least establish the overall shapes and a clear composition before moving forward. I first shaped the landscape to define elevation, then placed the main castle mass to test dominance and balance against the mountains. I also added simple tree shapes to check scale and depth. 

The Castle

For the castle, I started by building a solid base structure: main walls, small towers, and the central keep. Once the primary forms and proportions felt right, I began adding damage to the walls. I created these imperfections by simply cutting into the geometry to break up the silhouette and avoid a clean, artificial look.

To enhance the destroyed areas, I modeled small individual stones that matched the wall texture and manually placed them along the broken edges. This helped add depth and made the damage feel more believable.

To introduce additional surface variation, I created a Height map in ZBrush and used it inside Unreal Engine on a simple remeshed plane to generate displacement geometry. I then manually cut around the stone shapes, performed retopology, and placed these pieces directly onto the walls. This allowed me to create more pronounced, irregular surface buildup and added extra depth where needed.

Wood Planks & Roof

For the wooden planks, the workflow was fairly straightforward. I created a simple sculpt in ZBrush without adding too much detail, then did retopology and baked the maps. Most of the surface detail was added later during texturing in Substance 3D Painter to save time. These planks were mainly used for the upper wooden part of the keep and the gates, and later, I added damaged areas to create more variation and visual interest.

For the roof, I started with a simple base shape and created damage by cutting directly into the geometry. The roof shingles were sculpted in ZBrush and arranged to be tileable. From that, I extracted individual pieces and placed them along the edges of the roof to add variation, using a similar approach to how I handled the stone damage.

Rocks & Vegetation

For the rocks, I started in ZBrush by stacking a group of cubes to quickly establish the overall shape. After that, I used Dynamesh and sculpted the forms using basic brushes like Clay Buildup. For surface detail, I used custom Rock Brushes and Alphas, but I tried not to add too many small details since that can make the Normal map look noisy.

Once the high-poly was finished, I used Decimation to generate the low-poly mesh and then created the UVs. In Substance 3D Painter, I created an RGB mask where each channel represents a separate texture variation, which helped add more material diversity in the engine.

For the trees, I created a few branch variations in SpeedTree, one with leaves and one without. I rendered the leafy branch to create a texture with an opacity map, which I later used for the foliage cards. Later, I created a foliage atlas map in Substance 3D Designer by combining all the foliage pieces into a single texture.

After building the trunk and larger branches, I used a Frond node to distribute the branch texture. From there, it was mostly a process of refining the shape and adjusting different parameters until I was happy with the final result. The same workflow was also used for the spruce, grass, and bushes.

Snow

For the snow, I tried a slightly different approach and decided to experiment with Unreal Engine's Substrate materials. In the master material, I created a setup that allows snow to automatically appear on surfaces based on the Z-axis direction, so it naturally accumulates on upward-facing areas.

I also added a vertex paint function to manually control the snow in certain places when needed. This allowed me to increase or reduce snow coverage in specific areas and helped create more natural variation across the scene.

Later, to make the snow look more appropriate and believable, I used the Substrate Slab BSDF, Complex Special node, and set the MPF Scale to 1. This helped soften the surface response and made the snow appear more natural and less harsh under lighting.

Retopology & Texture

I mainly used Maya for retopology and UV work. Some assets were manually retopologized there, especially objects like the fallen tree, tree stump, wooden debris, and some stones, where I wanted more control over the topology. For larger rocks, I used Decimation to generate the low-poly mesh from the high-poly sculpt and then created the UVs afterward, which works well for more organic shapes.

For objects where I planned to use RGB masks, I created a second UV channel. In that channel, everything is packed into the 0–1 space. In the main UV channel, however, it's not always necessary to pack everything into the 0–1 space if you're using tileable textures, which gives more flexibility when working with larger surfaces.

I started by planning what core textures the environment would require. The main materials were a stone wall texture, mortar or grout that could appear in damaged areas, roof materials, wood, and snow.

For the castle walls, the stone texture serves as the base material, while the mortar texture is mainly visible where the walls are damaged or broken. This helped create more believable transitions where stones are missing, and the internal structure becomes visible. Most of the texturing work was done in Substance 3D Painter, where I focused on adding variation, roughness differences, and subtle surface details rather than relying purely on sculpted geometry.

This approach helped keep the assets efficient while still achieving a realistic look. To avoid repetition, I used RGB masks and layered materials in Unreal Engine, stored in a second UV channel, which allowed me to blend different textures and introduce variation directly in the shader.

This became the main workflow for most of the environment, while only a few assets use unique textures. Later, I added a few dirt and leak decals to break up large surfaces and introduce additional variation.

Assembling the Scene

For the final scene assembly, I followed the rough reference I had chosen at the beginning of the project. It helped guide the overall layout and direction of the environment. In this case, the setup was fairly straightforward. The keep was placed on top of the hill as the main focal point, while a ruined entrance was positioned on the lower level to add depth and lead the viewer's eye toward the castle.

The surrounding landscape and elements were arranged to support this structure and reinforce the overall composition. When scattering the smaller details in the scene, the process involved a lot of experimentation and small adjustments.

I placed most of the elements by hand, relying on what felt visually right rather than following a strict rule. I usually work in passes. In this case, I started with a first pass of smaller elements like grass and bushes, and then moved to a second pass where I added trees and additional variations.

My goal was to avoid making the scene too noisy or overcomplicated, adjusting the placement until the environment felt balanced and natural.

Lighting

I'll be honest, lighting is one of the most challenging parts for me. Even if you have a strong scene with good assets and textures, poor lighting can easily ruin the final result, and it's very difficult to fix that later in post-production. Also, a good practice is to set up lighting roughly how you want it to look early in the process.

This helps you quickly see if the mood works and allows you to focus on the most important areas of the scene. Early lighting tests were very important for this. In the example shown here, I experimented with changing the direction of the main light, which completely changed the feeling of the environment.

Even though the sunset itself isn't directly visible, the light coming from the side creates stronger shadows and helps guide the viewer's attention more toward the right side of the composition. Small adjustments like this can significantly affect how the scene reads and where the viewer's eye naturally travels.

For the main light source, I used Ultra Dynamic Sky, which helped quickly set up the sky and lighting. I adjusted the sun angle to match the sunset direction and then added more clouds and far fog to enhance the atmosphere and depth of the scene.

As shown in this image, I first set up a cloudy lighting setup close to the mood I wanted. However, the keep looked a bit flat compared to the landscape, so I added a few spot and point lights to introduce more depth and subtly highlight certain areas of the structure.

But the sky setup didn't stop there. One of the key visual elements of the scene is the red burning sunset on the left side. My initial plan was to create a half-sphere, find or create an image for the sky, and apply it to the sphere with an emissive material and an Opacity map to simulate the light coming from the sunset. Later, I remembered the Matte Painting Skybox Pack, so I decided to buy and try it instead.

It turned out to be a great tool with many useful presets. I simply selected a sky that matched the mood I wanted and manually positioned it to fit the composition of the scene. This allowed me to quickly achieve the dramatic sunset effect and better integrate the background with the lighting of the environment.

Post-Process

Most of the post-production work was done in DaVinci Resolve. I mainly focused on color grading to enhance the mood of the scene, adjusting contrast, color balance, and saturation to emphasize the warm sunset tones against the cold environment.

Conclusion

This project took me around a month to complete. One of the main challenges was creating a natural-looking environment while working with sunset lighting. Balancing the warm sunset tones with the cold, snowy landscape required a lot of adjustments and experimentation. Through this process, I learned how important lighting and mood are for the final result.

My advice to beginner artists is simple: keep moving toward your goal and don't be afraid to experiment. When you start trying different things, you slowly begin to understand what truly excites you and what direction you want to follow. That process takes time, but it's an important part of becoming an artist. For me, this journey was very personal. I learned almost everything by myself.

At some point, I was working in construction, often coming home tired after long days of physical work. But even then, I spent many nights learning, watching tutorials, reading articles, and practicing. Every free minute I had, I tried to improve or discover something new. It wasn't always easy, but the passion to create something kept pushing me forward. What motivated me the most was the feeling of building something from nothing, creating worlds, places, and moods that once existed only in my imagination.

That feeling is very powerful. When you see your ideas slowly becoming real, it reminds you of why you started in the first place. I also remember reading many articles and breakdowns on 80 Level years ago. I was always inspired by the artists sharing their work and explaining their process. At that time, it felt like something very distant, and I could only imagine what it would be like to have my own work featured there someday. So being able to share this project now feels very meaningful to me.

Nowadays, I often see people thinking it's too late to start learning something new or changing their direction. But in my opinion, it's never too late. If you truly enjoy what you do and keep moving forward step by step, opportunities will eventually appear. So my biggest advice is simple: stay curious, keep experimenting, and don't give up too quickly.

Passion and persistence can take you much further than you might expect. And finally, thank you to everyone who took the time to read this article. I hope some part of my experience can be helpful or motivating for someone who is just starting their journey. And of course, thank you to 80 Level for giving me this opportunity to share my work.

Andrii Koroliak, Environment Artist

Interview conducted by Emma Collins

Ready to grow your game’s revenue?
Talk to us

Comments

0

arrow
Type your comment here
Leave Comment
Ready to grow your game’s revenue?
Talk to us

We need your consent

We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more