Levente Gajdos, a Senior Environment Artist at Treehouse Ninja, talked about the studio’s work behind some of the memorable environments of Wolfenstein II.
Before this, I worked at some other studios, like Digic Pictures, where I was involved in a number of cinematic trailers for AAA games, like Castlevania 2, several of Assassin’s Creed titles, Watch Dogs, the Call of Duty series, The Witcher 3, Uncharted 4, The Last Guardian, Gwent, and made some feature movies too, like Kingsglaive: Final Fantasy XV.
I graduated from university as a Hungarian literature and grammar teacher, but I was always interested in graphics, especially 3D graphics, so while I was doing university, I started to read and make tutorials, and I trained a lot. So, slowly I became a self-taught environment artist, I had my first job in the industry, and after almost eight years of experience, now I’m here.
As a young company, Treehouse Ninjas also deserves an introduction. We’re really proud of our independent studio. We provide top-quality environment work for games and movies.
So, the ‘Treehouse’ portion of the name relates to the fact we want to keep our working environment playful, fun, bullshit-free, and we don’t want to have hierarchies. The ‘Ninja’ factor expresses the serious side of our work, our reliability, agility, and flexibility: we don’t want to get stuck with just one single software or technique, we are generalists, and we pride ourselves on sticking to really high-quality outputs and high-end standards.
In fact, our first partnership was with ZeniMax and Bethesda on Wolfenstein 2, that was our first project. Now we are working on a new undisclosed (and slightly groundbreaking) project that’s fantastic, and I’d love to tell you about, but I can’t yet.
So we thought: let’s make a video game. We’re a young company, and this was our first game project, and yes, we feel so lucky to have started with a client like this.
Apart from Wolfenstein, all of us already had extensive experience in CG, so even if a first project is always a big challenge, we were in control, so we kept it stress-free and fun.
After flying to Sweden and meeting the team at Machinegames, we got in charge of one of the most important levels of the game: the final one.
After that, we moved onto helping with other chapters of the story. The main goal was basically to deliver game-ready environment work, following the art direction and the blockouts, to serve the gameplay.
At the beginning of the project, we studied concept art and got same basic art direction about the game’s mood, the retro style of it, and the Nazi-inspired blend of brutalism and pop-culture.
We got several hints and directions about the gameplay, so we had a set rhythm, a certain level of tension to keep, and a clear story purpose, for example, we knew what was the primary player path, we had the clear direction of being aiming at the final kill of the game.
The way we approached this environment was by first breaking down the whole area into sectors, so every artist was in charge of one of them, rather than having just a list of scattered assets to go through, this helps our motivation and sense of ownership on our respective parts of the whole level -by the way, we assigned the sectors by flipping coins- we established the naming convention, we tried to anticipate the lighting at the beginning, to help to focus on the most important parts, and of course we prioritized the game play, so the rhythm eventually was just the right one for the story moment. The whole structure breakdown was crafted by our legendary Creative Director, Mauro Frau, who has worked at many top studios around the world and has lots of experience in environment creation.
One of the most important things, when we built up the structure, was the naming convention: we knew complexity would have grown fast and we had to keep things organized, we automatized part of the process and also developed custom tools for it, to run through complexity safely and not having to do everything manually and, because of that, we had to really keep certain conventions from the beginning until the end of the project.
These tools that we developed helped a lot, and kept our metal sanity intact (and the deliveries pretty solid), so nobody went too crazy at the end when the 3d scenes grew really big and we were managing many hundreds of assets.
Our approach has generally a really simple and logical base and, as we just go ahead, we like being able to easily assemble the whole structure layer by layer.
Our main software on this project was Modo, so we were assembling everything inside of it, and checking the real-time response inside of Unity. As I mentioned, we developed some tools to build things automatically, then bridged everything to Unity, so we could check things in context, and then we had tools to build sectors and others such as to bring the surroundings of an object relative to the origin, plus bits and pieces to streamline the checkups and cleanups.
We called this very useful and sophisticated toolkit the ‘Chinani-Tools’, a fully handcrafted ninja product. This also helped us customizing the deliveries, as Mauro developed our very own proprietary file format (.thn) which allowed the clever technical artists at Machinegames to automatically assemble our environments with the click of a button.
Otherwise, the asset workflow in terms of modeling-texturing went through traditional low-poly/high-poly normals baking methods, and a mix of Substance procedural and painted textures. We didn’t do any groundbreaking invention there.
The main highlight here was the way we put all the assets together, get assemblies automatically built so we could see them in context and take broader artistic decisions.
We overall followed the common PBR conventions, using the spec-gloss standard, we created all the materials in Substance.
The way we got the base maps was again a ninja developed tool, the mighty ‘Ninja Baker’ (of course it’s part of the world-famous Chinani Tools kit). It basically set up the scene for a one-button asset baking, generating baking target meshes, material IDs, laying them out nicely to keep the exploded pieces in order, setting up baking cages based on the assets bounding box size, etc.. so we could progress really fast.
To get the materials right, we used to constantly check references, looking at pictures from retro styled objects, we tried to use lots of scratched old aluminium and iron, blend with briar wood for example, which on furniture and appliances you haven’t seen very often in the last thirty years, so it instantly brings you back in time.
Yeah, this part is very important, we can say, this is the core of our workflow.
Mauro comes from a movie background and he was very keen on injecting a composition driven approach, to enhance the cinematic feel of the game experience and support the story better.
So the basic idea is that you can’t anticipate where the player is going to look because it’s not a movie, but you can try to force the viewer into following the direction you want the story to go. You have a certain rhythm set up, you have a certain tension, and you can set certain goals. So when you build the environment you can lead the attention in a purposeful way.
We can also say that this is going to be a big thing in the next years because of VR movie making and immersive storytelling. It’s gonna all be about telling stories where you don’t have a frame, and you have to lead audiences without compromising their initiative, staying aware of how the story is visually developing.
So this is basically the whole idea of our primary, secondary, and tertiary POVs approach, which also applies when points of interests are multiple:
This principle goes applied straight into our levels, once you have the main target in focus (in this case, killing the main villain), you can force a primary POV that is aiming that way. We were very keen obviously on keeping the tension up because here we are at the very end of the game and we cannot get it wrong (literally, to keep the player satisfied).
Looking at the primary POV then you can tackle the composition of the view, which basically relies on all the classic composition rules that we have all learned from the master painters of the Renaissance.
So this is basically the whole idea behind forcing a synthesis of the perception of the space to where you want the player to look. You cannot completely force it, but you must take every opportunity to drive it in the right direction.
In the case of the destroyed Manhattan Subway Station we had to tackle a really huge, large level, so we couldn’t make custom items everywhere. Because of the size of the environment, the approach is closer to an open world situation where things are modularized and more procedural. But still must look good.
This means we had to reuse many things, but we took advantage of the broken-up lighting to have variations in the values, we were also relying on the fact that we had decals to add extra interest in a second stage, and we knew that it was an industrial environment, and these are very often modular by nature.
But the fact that you have to build something modularized, doesn’t mean automatically it is something that prevents you from producing cool detailed pieces, you just have to pay attention to some basic rules, like consistent scaling, position of the pivots, snapping to the grid, tiling textures, and shape, avoid too distinctive features, so always stick to generic detailing, avoiding easily recognisable patterns. In most cases you have to break up the repetitions, so using decals and layers to add custom complexity is a great solution. These features also depend on the specific game engine you’re using.
For example, I made this repeatable floor module, that needed to look realistic, I wanted it to have some believable details, very relevant to the environment, so I scattered several cigarette stubs and bubble gums, but I was also taking good care of keeping them consistent and even, while retaining a unique interest on the asset.
Talking about pitfalls, I would say that one of the most common mistakes it’s not to check often your modular assets in context. I have learned that the hard way: when you start doing something and put big efforts in it, investing in beautiful details.. and after all of that you start testing things in the final scene and you realize that the nice details just work against you and give away all the repetitions. That’s definitely the most common thing to avoid.
On this project we’ve learned a lot, apart from setting up a new company, we went through solving many question marks, for example, how to organize our visual approach and how to break it down into layers of visual features.
Let me use the Venus Station level as an example.
The idea here was to stay consistent with a very specific design style to fill the whole station with. There was a certain volume of different pieces that we needed to deliver for the environment construction, so the challenge was to create good variety with consistency. Filling up a convincing huge set of coherent elements, but without repeating over and over the same features.
So we tried to break down the features into broad-frequency, mid-frequency, and fine-frequency, so we got a full catalog of layered features, and then, with that catalog, we could start combining categories of shapes, achieving variety with consistency.
Here is the fundamental idea of how we tackle shapes and materials:
Everything is living in the same world, but nothing is really exactly the same.
So the final conclusion here is that we can apply this approach to pretty much everything: from the bigger masses, we go to the finer details.
This is true about our assets, our workflow, but not just these, it’s true about life, the universe, and everything… so you better not reverse it!