The Fields of Ard Skellige
In this article we dive deep into Borys’s idyllic scene inspired by The Witcher series. Learn how Borys utilized Gaea, SpeedTree and 3ds Max to create a stunning, foliage-filled landscape combined with texturing in Substance and brought to life in Unreal Engine.
Intro
Hey everyone, hope you’re all doing well! My name is Borys, I’m from Wales and I’m an Environment Artist at Playground Games, having been studying 3D for about 3 years. Before starting to study a games art degree at university this had been a small side hobby for me. I initially started through creating mods for Skyrim and uploading them to the Nexusmods website, from there I started to teach myself how to create 3D props and it just went from there really.
This project was a big learning experience for me, I had a lot of failures along the way and I learnt a whole lot. Hopefully you’ll be able to learn a thing or two from my mistakes and successes. Thank you Michal Kus for the amazing concept!
Composition
As I was working from a concept the bulk of the compositional work was already done for me. Here’s a simple paint over to show the main compositional elements. The mountains and landscaped were shaped in a way that they would create leading lines that flow towards the tower, the path also acts as another leading line.
Colour and Light
My goal for the lighting was to give it that crisp winter’s day look and to have a slight feeling of fantasy. In the end, I went for the classic cold warm contrast approach, the cool blue of the fog and the warm sunlight creates contrast. The trees on the near right are there to help frame the shot but also to create subtle god rays that are pointing in the direction of the tower.
Straying From The Concept
Probably the most obvious disparity between my environment and the concept is the positioning of the mountains. During the early stages I tried to closely mimic this but had failed many times, I couldn’t get the sense of scale and distance to transition well over to 3D. To simplify things for myself I made the background feel flatter but still tried to keep the overall idea of having leading lines the same somewhat same.
I added extra trees since I felt it looked a little strange having them just around the tower. It also helped make everything feel less empty.
Lighting
I decided to go with full dynamic lighting in combination with mesh distance fields. The bulk of the lighting was created using a skylight, directional light and volumetric fog. For the skylight I changed the colour to a very subtle green, since there is a lot of green foliage in this environment. This was my attempt to fake some GI, normally I wouldn’t do this, but I felt it worked nicely for this situation. Probably the biggest advice I could give for the skylight is to keep the volumetric scattering at a low value, upping it often results in a washed out and over exposed look to the lighting.
For the directional light I used a light function material to try and create cloud shadows on the ground. I created a grayscale map that somewhat mimicked the shape of clouds to use as a mask and ran it through a really simple material.
The last noteworthy addition I made to the lighting was having a spotlight highlighting the tower. You can see bellow how much of a difference it makes.
Story
In all honestly, this is probably the weakest part of the environment in my opinion. I wanted to give it an abandoned feeling, so the fence in the foreground and the steps leading up to the tower are made with pieces of rotting wood that are falling apart. The tower itself has a lot of dirt and uneven mortar to make it look unkept and old. If I were to go back, I’d try to add a more personal story through adding props such as items of clothing, weapons, some sort of signs of a battle with a monster perhaps. Just something that invokes a bit more emotion.
Gaea
This was my first time creating mountains or using Gaea. There are probably more efficient workflows out there, but I found this worked well for me at the time. The thing I love about Gaea is that you can get amazing results with very few nodes, my graph is super simple. To create a second mountain, I change the seed values and re-exported.
From there I took the height maps I had created in Gaea and displaced a plane in 3DS Max to create the high Poly model. To create the low poly, I used the ProOptimizer modifier. I used the same approach for this that I would use to create any other prop.
In Substance Painter I used a smart material created by Andrew Averkin and can be found in his World Machine to Substance Painter tutorial, it’s a fantastic tutorial and would recommend it to anyone who is looking into this kind of workflow. I used the maps I had exported from Gaea, such as flow, velocity, peaks etc. as masks for the different materials. From here it was just a case of exporting out the final maps, creating a basic material in engine and placing them around the scene.
Fitting such a huge object into the 0 to 1 UV space results in blurry textures, even at 4k. So, this had its drawbacks. Since I had thick distance fog in my environment, I could somewhat get away with this.
Tips For Learning Gaea
Like with any software, I find just getting in there and messing around, trying to find out what everything does is one of the best ways to learn, at least for me. Quadspinner have some fantastic tutorials and livestreams on YouTube which everyone should check out. Their Facebook page also has some cool workflows on show from other artists in the community. If you’re like me and are coming from using a software like Substance Designer, you’ll probably pick things up quicker since the fundamental principles of working with height maps and colour will carry over nicely.
Foliage
The first step is to gather reference. One tip I have for gathering reference for foliage is to always use the scientific names of plants. You’ll always get better results and if you’re lucky, you may stumble across research studies which can give you a whole other level of information. I also always look at what other artists are doing, it’s always cool to see, and gives me ideas for my own work. It’s important to remember that you don’t need to reinvent the wheel every time! I guess this applies for everything, not just foliage.
Asides from the bark material the trees were created entirely in SpeedTree. I created the branch atlas by stacking branch generators and using the export to material function to bake out the final maps. I didn’t do a great job of making each branch unique enough though. If I would have made them more unique, I could have cut down the total amount of branches, while keeping the same level of variation and have a higher texel density. Hope that makes sense! I got this bit of advice from Jake Woodruff.
The trees themselves are super straight forward. Just a trunk and then a leaf generator with the branch material applied to them. Again, I went overkill with the numbers and created eight variations, you really don’t need this many, four should be fine for all cases. Don’t waste your time like I did!
Also don’t mind the graph, I like to keep all my trees in the same file and toggle/hide them when needed. I don’t like having lots of files, the graph does scare me every time I look at it though.
The rest of the foliage was modelled in 3ds Max, with some elements having a quick sculpt in ZBrush. It’s really nothing special, I think the key for me was not overcomplicating things. With such a large environment like this, going into small details is pointless because no one is going to see it. Focusing on the larger shapes and silhouette will ensure everything reads correctly and still maintains its shape at a distance. Also, if you can, make sure to block in foliage. Model the silhouette, give it a quick bake and get it in engine. From here you can check how dense clusters need to be, scaling, readability at different distances and quickly iterate.
I finished up the textures in Substance Painter. I would normally use Substance Designer but in this case, I wanted the extra control Substance Painter offers with its painting tools. The end result for the atlas is super basic, but that’s all I needed.
Setting up some sort of way to add colour variation in engine is great for breaking up uniformity, here’s how I did mine. You can find this exact setup on the Unreal Engine forums. The only part of this that I made was the colour variation map, which was made in Substance Designer by combining random noises and running it through a gradient map.
Substance Designer Versus Substance Painter
For tiling materials, I prefer to go all Substance Designer. The thing that really attracts me to Substance Designer is the efficiency, iteration is quick and great results can be achieve in a relatively short amounts of time. I used Substance Painter for texturing smaller, uniquely baked assets. For example, I used Substance Painter to texture the wood planks and stones found around the tower. However, for the tower itself, which is much larger, I used tiling textures in combination with face weighted normals, vertex painting and decals.
As I said when talking about Gaea, just jumping into the software, not being afraid to fail and messing around is a great way to learn. You’ll get used to what different nodes do and discover some setups which create cool effects. If you’re already an Artstation Plus or Pro member, ArtStation Learning has some great beginner tutorials from Javier Perez. Substance themselves also have great tutorials, if you’re a complete beginner to anything like Substance Designer I would go check out their YouTube channel. They have great beginner tutorials. For slightly more experienced users, there are a couple tutorial series that really stick out in my mind as being fantastic, I’d recommend them to anyone:
• Fundamentals Part 1: Pattern Creation and Natural Scattering by Daniel Thiger (Dete Art Resources)
• Substance Masters Vol. 1 by JRO Tools
These are by no means the only great tutorials out there, I’d encourage everyone to go and look further on ArtStation, Gumroad and YouTube. Substance Designer is one of the most well covered software’s tutorials wise.
Inspiration
For me I get a lot of inspiration from music, I was listening to the soundtracks from the Witcher games on repeat while making this environment. I’m not quite sure what it is about music in all honestly, I’d say it helps me visualise things and gets my imagination going, it’s hard to explain. I also keep a PureRef board with hundreds of concept art images and general art I’ve collected over time. I love coming back to this when I’m not feeling inspired and it gives me a little boost. Just seeing what other people have done is inspiring for me.
Feedback
For me the best places to get feedback are communities such as the Dinusty Empire and Exp Points. They are full of friendly, like-minded people who are willing to help. There are people from all background, from industry veterans to hobbyists, so you won’t feel alone not matter where you’re at. I think in general these communities are a great environment to be in, they’ve really kept me motivated over the years and I’ve met some great people. These are by no means the only good places to get feedback, these are just the places I have been going.
Tips and Advice
For me, I think the most important thing is to have fun and not over work yourself, it’s very easy to get caught up work and forget everything else around you. You’ll end up burning out and it’ll suck. So yeah, just take it easy and try and keep your sanity, game development can get very stressful at times.
The Game Dev Discussion Podcast did a great episode with Josh Lynch discussing burnout, motivation and mental wellbeing. These are topics which don’t get mentioned enough in my opinion. If you haven’t already, I’d really recommend you listening to it.
Future Works
In the future, I hope to continue making environments like this one and dive deeper into Gaea, Substance Designer and foliage creation.
Outro
Firstly, I’ve got to give a big thanks to the guys over Experience Points for creating such a great platform and giving me the opportunity to talk about my work. Writing this really gave me some valuable reflection time for this project, I’ve personally learnt a lot and I’m looking forward to what the future holds. I hope you’ve learnt a thing or two and maybe found some inspiration for your current or upcoming project(s). Thank you to everyone in The DiNusty Empire and Experience Points Discord servers for the help and encouragement over the years. Also, thanks to my personal tutor at University, Mike Woods, who was a big help.
With how the current global situation is I hope everyone is staying safe and continues to be a good health! Thanks for taking the time to read this. Take care.