there is no need to create a vdb, but it works yes
Super taf! ;)
Ted Bundy's car? :D
Mathieu Gasperin answered a couple of questions about the environment design techniques used to create the amazing stylized world of Dishonored 2.
My name is Mathieu Gasperin, I’ve graduated from ENJMIN in France, and before that from Art School in Nancy.
I started to work in the videogame industry in 2010, at Spiders games. I worked on several projects, like Of Orcs And Men, and Bound By Flame. It was a small team with small budgets but the games were still ambitious. I learned a lot, mostly about being efficient and prioritizing.
In 2013 I joined Arkane Studios for the development of Dishonored 2, and the Stand Alone. Before that and as a hobby, I made illustrations for several RPG books in France. I still like to draw, but I spent most of my free time on 3D personal projects.
Modularity is something essential when you have schedule and memory constraints. Each time I start a new asset, or a new set (like buildings, rocks,etc.), I look at which pieces I can repeat, things I don’t need to do again and again. In the classic case of a building facade, it’s easy to spot repetitions and structure (windows, pillars, etc).
It’s interesting in differents way. First, it’s obviously faster. When you make the assets, you doing the minimum required. Second, if there’s an issue, you don’t need to rework everything. In some case, you’ll need to iterate a lot, and quickly, and modular assets are perfect for that. And of course, in terms of memory cost, it’s less expansive too.
Modularity also concerns texturing. Not every assets needs a specific texture. And you have a lot of ways to use a unique tiling texture multiple times.
So less texture and assets, less time making them, less memory used, and more iteration.
It’s a virtuous circle, because the more you use modular assets, which are obviously more versatile, the more situation you can cover, and you will eventually reach a point where you will progressively need less and less stuff made from scratch, and being faster, and so on.
So I start by thinking about what I really need, which modules, how many, which size, and if I have something already done (by me or someone else) and if it can fit with my needs, i’ll use it in priority. I’m lazy, and I like when I can have quick results in order to test things. And now with softwares like Substance Designer, or Houdini, everything that allows to make procedural stuff, you can put modularity everywhere. For example why would you sculpt again and again different versions of stones, with different tiling and placements, when you can do that procedurally, win a huge amount of time and have more energy on creative stuff.
Of course there’re flaws. You will need more modeling to support the lack of specific details, you will have sometimes more complicated UVs, or you will need other techniques to break repetitions (decals, texture blending, etc.).
Rocks textures were sculpted in Zbrush. I like to work with the 2D canvas for that. I sculpt different rock parts, and use them to compose the tiling texture. It’s a good technique to have a quick result. The idea behind that is to stay modular, having a toolbox that I will use for a lot of different textures. The goal is to have quickly a heightmap that I’ll convert to a normal map. There’s no diffuse at this point. Then I test it in situation. Making a heightmap out of smaller part is fast, and I can make lots of them for test. And I still can grab a heightmap out of my tests to use them in another sculpt. Actually I spend much more time sculpting the pieces I’ll use just to ensure the quality. When I’m sure of my heightmap, then I’m starting to work on diffuse and gloss. I always keep a scene alongside to test my materials.
Assets were already prototyped with quick modeling, and tested in a test map with temporary textures. The goal was to have rocks from very large cliffs, to small piles. It had to be modular, used in a lot of situation, and with gradients in it. So I chose to use a lot of modular assets, with blended tiled textures. I had three families of asset, each with his own main texture, for bottom, middle, and top rocks, the bigger ones (used for cliffs). Plus a blend to have a transition between each part. When I’m satisfied, I model the final asset.
I tried to keep in mind different frequencies of details. Micro and medium frequency were obtained by the material, big frequencies with modeling and assets composition in the level. After that there’s a lot of other elements to blend the different parts, like vegetation for example. Of course, lighting is an important part.
To be honest, there’s nothing really special about the way I built the vistas. We wanted a vista completely in three dimensions, to have better effects with lighting and atmospheric effects, and with that a better sense of depth. The use of a cheaper shader allowed me to have a higher amount of vertices.
I had the chance to start with a strong concept in 3D. It was useful as a base to compose vistas for each map. Each vistas is slightly different depending on the area, what it tells, what is need to be seen, etc. For example, the iconic mountain is way bigger and a lot closer in the “Edge Of The World”, during the arrival by sea. Sometimes we need to see the whole island, sometimes we increase altitude, or we focus on a specific landmark. So the topology of the vistas is not always exactly the same, though we wanted it to be consistent.
So the first step is using existing elements to test in situation. Then I started to model the assets I need. At this point of the production, a lot of buildings and street furnitures were already made so I just had to make LOD versions of those. And the map of Karnaca and the island surrounding was pretty detailed, with the themes of the different districts.
I used mostly tiling textures for rocks, forests and of course the mountain. The moutain and the wind corridor below the Dust disctrict actually needed a lot of iterations to get the right shapes and amount of details. The mountain was the main landmark, and was seen from various point of view.
Concerning the trees, it’s a mix of alpha cards and a tiling texture.
I won’t go too much into details, but the lighting is a combination of direct lighting, and a sort of baked lightmap. I was responsible for the bake, according to the lighter and Art Director intentions.
The illusion of distance is due to a lot of elements. The ratio of sizes must be the same in playable zone and vistas. It help a lot if you have a reminder of a foreground element in the vista, like a street lamp next to a building, next to a tree. You’ll also need a gradation from foreground to background. It helps too to see the size of, for example, a building, gradually decreases. So you need a foreground, a background, and a lot of middlegrounds inbetween.
The distance at which you can render objects is not infinite too. Sometimes, when the scale was too huge, I used forced perspective, and/or heavy deformations in depth.
But of course, the most effective way to get the illusion of distance is atmospherical effects. Fog, Sun haze, etc, and a good mood and a good lighting are really inevitable. As usual.
How does stylization influence your workflow?
I’m not really thinking about stylization on its own. Of course at Arkane there’s a strong art direction, and the idea of something very pictorial. But not only in a way that your textures or assets has to mimic a painting. This is more likely a consequence.
It’s always about finding out what is really important in terms of details. We tried to avoid anything useless, don’t make a noisy picture, with strong shapes, clear masses, tense and sharp shapes, etc.
Even if you want something realistic, it’s always useful to keep that in mind, and then it’s mostly a question of balance.