Petar Zvezdanov from Ubisoft shared his experience of working on Assassin’s Creed Valhalla from home and talked about the production of asset kits, ornaments, and bark material for the game.
My name is Petar Zvezdanov and I’ve been working as an environment artist at Ubisoft Sofia for almost 10 years now. Upon my BS graduation in Psychology from my hometown’s university, I realized that I really, really wanted to learn how to make 3D art. Therefore, I enrolled at a different university in Sofia, where they had this Master’s program called Computer Graphics for Non-Specialists. After 2 years in it, I realized that I wasn’t going to learn anything remotely related to what I really wanted to, so I just dropped out and home-schooled myself in ZBrush and Maya, as well as in Unity 3D engine.
Career at Ubisoft
In 2011, I applied for a job at Ubisoft Sofia as a 3D environment artist and Assassin’s Creed: Liberation for the Playstation Vita was my first project at the studio. After that, I had the opportunity to work on the following titles:
- Assassin’s Creed Liberation HD – a remaster for PC and consoles where I pretty much reworked most of my assets from the VITA version from scratch
- Assassin’s Creed Black Flag
- Assassin’s Creed Rogue
- Assassin’s Creed Syndicate
- Assassin’s Creed Origins
- Tom Clancy’s The Division 2
- Assassin’s Creed Valhalla
Working on Assassin’s Creed Valhalla
I started working on Assassin’s Creed Valhalla as soon as I finished my work on The Division 2. The team organization has been pretty much the same as in the previous projects – I and some other environment artists were assigned to a Lead artist who supervised our work. I discussed with him different approaches when planning and making assets. He provided regular feedback on my work so that we could all move in the right direction. From there followed a clear, fast, and constructive direct communication from my side to the other teams – Level artists, Game and Level designers, programmers. It was strongly encouraged so that we could be as clear and efficient in our joint tasks as possible.
I was given the task to create two main types of architectural kits for the game. The first one was the Assault kit that was created specifically to work with the Assault gameplay feature that we as a studio had to develop in the game. I had to come up with efficient modularity and visual look following the direction given by our Art Director Eddie Bennun, and a good ratio between optimization and geometry details. At the same time, I also had to take some specific cases regarding the player navigation during these assault sequences in the game – smooth running on top of the battlements, for example.
The second kit was the Jotunheim kit for the mythical world that the player encounters a bit later in the game. It had to represent giant structures that mix more organic rock parts and more polished man-made structures. I had to make the kit, prototype the most efficient approach to modularity in that specific case, and create a benchmark that had a complete vision for these kinds of structures. In addition, the need for certain assets required me to make some ornamented stone assets, as well as bark pieces that cover the gigantic tree roots of Yggdrasil, and come up with some visual flavor assets such as big ice decals to blend the ice meshes with the rock walls.
The tasks would come from my lead, Andrey Stefanov, who would also give me really constructive and specific feedback. He is one of those people who can actually sit down and draw something that would explain the idea much faster than 1000 words.
It was pretty challenging for us and me personally to develop and finish Valhalla. When you work from home, the distinction between working space and hours and your off-work personal space is blurred. The beginning was a bit tough, but once you get to that point where you can sync up with your lead or just discuss something with other colleagues via a quick call, you realize that you can blast music all day in your room while working. I love listening to music while creating anything 3D. I managed to balance my working out and eating habits and eventually everything settled into a nice new routine. I can safely say that the main reason I was able to put some extra polish on something or come up with stuff like the ice decals or the bark pieces is that I could do it from home at my own pace.
The Assault kit was a bit more straightforward when it came to asset creation – I mainly modeled it inside 3ds Max, and for some parts, I used Blender’s Dyntopo brush when I wanted more organic and dense geometry only on certain parts of an asset. For each piece to work well in the editor, it needed to respect the gameplay metrics, texel ratio. The tricky part was mostly keeping very clean even topology at both ends of each asset so that they all could snap perfectly without any UV or texture blend seams. That needed to happen with as few iterations as possible, because every time I changed the profile of the castle walls, for example, or changed the material blends, I had to go through each one of them and update them accordingly.
For Jotunheim, since the assets required were different in terms of size and shape from the standard architectural kits used in the Assassin’s Creed games, I had a lot more freedom to experiment with various 3D software. I used 3ds Max, Blender, ZBrush, Painter in some cases when I wanted unique albedo. The main approach, however, was to use a shader, mixing baked unique normal of an asset with two types of tileable texture with controls regarding tileable normal intensity, texture blend, etc. This was done because some of the assets were so huge that even a 4k albedo map with a detail normal wouldn’t get us good crisp results up close. I worked closely with our texture artist, Tsvetelina Valkanova, to ensure that the tileable textures work well on big-scaled surfaces and don’t have too many recognizable patterns.
For the stone ornaments, I wanted to create something that was new but heavily inspired by the real Viking stone and wood carvings that have survived until today. I gathered very specific references in a PureRef file, made a quick paper sketch, and then started masking them manually in ZBrush. Once having a nice clean mask, I’d use Deformation/Inflate, sometimes additional Inflate Baloon, then polish with ZBrush, and finally make a pass using very subtle rock alphas from scans. After that, I would go and do some final chipped parts using Trim Smooth Border. I didn’t want to use ready and clean-looking alphas for the ornaments, since they are placed on pretty big surfaces and they needed to be pushed with a reasonable amount of geometry to look believable. In addition, the small imperfections that the ornaments might have when made manually actually created a more rough-looking type of Viking carvings – that was the specific vibe I was looking for. The Sculptris Pro feature in ZBrush actually helped me keep the high-poly asset within reasonable limits and put more geometry only where I really needed it.
Circular Stone Ornaments
The approach for these ornaments was pretty much the same as described above. The concept came to me after listening a bit about the first area in the level this asset had to be used in – the house of the witch Angrboda. I made a quick sketch drawing with the 45-degree modularity in mind for the separate pieces, as well as some stone border trims. For some parts, I used photo references and then mixed some ornament shapes into something new. This one actually used two unique albedo maps for all the pieces, in order to bring a bit more details and distinction to the ornaments.
Stone and Rock Assets
I didn’t use scan data for the stone elements. Even the best rock scan by itself has a very distinct and recognizable shape so its usage is somewhat limited. For me, the key was to make all the assets use the same tileable textures to unify them and create enough variety of elements that could be mirrored inside 3ds Max and used as additional assets, or rotated upside down. When making more organic rock assets in ZBrush, I would regularly rotate them upside-down and think “Is this working ok in terms of shapes if I place it like that in the level?“
In addition, as an example, the stone blocks that I made for constructing more ruined parts of the giant fortress were duplicated, mirrored, rescaled, and imported in the game editor as new assets that used material duplicates. That would use the same baked normal but would change the tiling size of the tileable textures in order to keep everything with more or less the same texel ratio in game. On top of that using the texture blend would give additional visual variety.
The only scan data I used for this project was the tree bark. It’s one of my most memorable experiences within any game I ever worked on because it happened at the beginning of the work from the home period. At one point, we realized that we didn’t have a clear idea about how to approach these huge pieces of bark covering the roots of Yggrdasil – it was very different from anything that we did so far in other Assassin’s Creed projects. So I went out on a late-afternoon walk and started looking at the trees that were near the entrance of the nearby park. I went through maybe 8 of them, trying to imagine “Ok, is this specific bark going to look good in game when it’s scaled really big? Is it interesting enough?“ I found the perfect tree and snapped quickly around 300 photos. Then I ran home, loaded the photos in Metashape, and realized that half of the photos were botched because I was too impatient and was moving too much (motion blur, bad exposure, etc). I realized that I had around 20 more minutes of good light so I ran back to the tree, took new photos very carefully, and then it worked.
The cleaning of the scan data was done primarily in ZBrush. The main obstacle here was that I wanted to make many separate pieces out of only one solid piece. So I masked the separate pieces, detached them, made an extrude in order for them to have an actual thickness, polished that new extruded geometry, and then one by one I duplicated them. I dynameshed them in order to clean the topology and used Decimation Master to make the lowpoly. The unwrapping was a bit difficult, but Blender got me through it. For the visual material in game, I wanted something that preserved the unique scan albedo and got nice detail up close, so we did a variation of the previous shader that I used for the rock assets. This one showed in the distance the unique albedo, but would softly transition in a medium or close distance to the player into tileable textures with similar colors. That got rid of the tiling that otherwise would’ve been noticeable on some of the larger pieces when viewed from a big distance. Our technical artist, Georgi Hristov, developed a procedural system inside Houdini to help populate quickly the giant root meshes with the bark pieces and give them enough randomness. For the smaller bark pieces with which the player would be interacting up close, I kept a bit higher polycount. As for the rocks, I used the same set of pieces but rescaling them and importing them at different sizes – Small, Medium, and Large. On the small pieces, I added moss and lichen growths using the available plant textures for our specific biome - more reddish looking moss, compared to what it is in the England level, for example.
Challenges and Lessons Learned
The main challenge I think, besides the big chunk of the game world we were responsible for in terms of Level Art, was the COVID-19 situation and the sudden transition to working from home while keeping the same speed and efficiency as before. There was a transition period for me during the first month when I needed to adjust to a different working regime.
Each game title that I've worked on has taught me in different ways to be patient when things are not working perfectly from the first try. Also, to use my stubbornness to get me through some more intense periods of prototyping and iterations, and to try to think more outside of the box when it comes to using and combining different 3dDapps and approaches in order to solve a certain visual challenge. One of the best tricks – I never stop playing video games. When playing something like Red Dead Redemption 2, Control, or some other game that has beautiful environments and assets, in the back of my mind there is always that curiosity about how they did that specific thing. Then I would take screenshots of these interesting parts, sometimes I would send them to colleagues and discuss them, just so that we can stay out of our comfort zone when making game environments.