Control is the latest release of Finland-based game studio Remedy Entertainment. Their take on the Brutalist architecture had them opt for Substance Designer to create materials for the game’s impressive concrete environments.
https://youtu.be/PT5yMfC9LQM

Introductions

Hey, I’m Miro Vesterinen. I’m a Senior Environment Artist at Remedy Entertainment in Espoo, Finland. I’ve been working in the industry for 5+ years now, currently working as the active environment art lead for shipping Control and for the future DLCs.

I had always been very interested in games and the usual; computers, movies, comic books, etc. And I’ve also always been very interested in Arts and visual mediums, so this naturally pushed me into working with 3D. I’m not sure if there ever was a defining moment that I decided to get into 3D and games, more like a natural flow of events.

I did study Game Art here in Finland and at Teesside University, in the UK. After my graduation, I got a position as a 3D artist at a smaller PC games company, and after a couple of years, I started at Remedy in the Environment art team and have been here ever since.

Remedy Entertainment

Remedy is a game studio in Finland, founded in 1995. Best known for AAA cinematic-action PC and Console game franchises like Max Payne and Alan Wake. Remedy has focused on memorable characters with highly focused action gameplay. The latest title from Remedy was Quantum Break, released in 2016 for PC and Xbox One, and currently we are working on CrossfireHD and CrossfireX single-player campaigns, Vanguard as well as Control of course.

Personally, I’ve been at Remedy now for roughly three years. I started on Crossfire, but moved on to Control early on during its pre-production, so I have been working on Control most of my time here.

Control has just been released. How are you feeling?

Excited, relieved, maybe a bit scared even. I think it is common to get these types of mixed feelings with every game release, especially with a new IP. We have been getting positive reactions from the press and from influencers who have had the chance to play it early, so I am quite confident that people are going to enjoy it.
Image courtesy of Remedy Entertainment

Substance in Production

We already used Substance in the production of Crossfire, but with Control we moved to a fully Substance based pipeline, so all of the edits done to textures were through Substance. Setting up the templates and shelves for the company was quite painless and we also had a Substance workshop to make sure the team had the skill required and up to date knowledge of the package. The substance tools are quite intuitive to use, so this process didn’t take too long.

As this was the first time we started building our Substance pipeline on the Environment art side, we didn’t yet have the best practices nailed down. So Control, in a way, was also a pilot to learn what and how to do things, and what not to do in the future. I feel that we now have a much better understanding of how to improve and streamline our workflows regarding texture creation and I’m excited to see how far we can push it.

We were also able to set up some content validation tools that we have in Northlight (Remedy’s custom engine) straight into Substance as well, so we could quickly and effortlessly check that, for example, all diffuse albedo values are within a reasonable range and so on. We’ll keep on working to improve these tools for our internal use, but for now, we were able to cover the use cases that we needed for Control. Overall we felt that the Substance toolset helped us to ship the game in time, with good quality, and with a relatively small environment art team.

Visual Style of Control

After we decided that we’d go with the iconic Brutalist Architecture art direction, we knew that we needed to focus on the surface shapes, materials, and lighting to create the mood and aesthetic that we wanted to achieve with Control. The brutalist architecture is known for its geometric, block-like structures and very pure or honest building materials; raw concrete, bricks, steel etc. In Control this represents the security and solidity in the face of the unknown.

So we needed tools to make these “simple” and often repeating surfaces interesting and consistent in quality, and this is where Substance really shined for us, as we were able to iterate fast and non-destructively.

As we knew that we’ll need to create a wide range of concrete materials, we created quite a few custom nodes to speed up the base creation; These were mainly pores, cracks, micro surface roughness or noise, and concrete peeling among few other generators. Early on we also looked into the possibility of using one “master” concrete generator, but we ended up with a more lightweight solution of using multiple smaller nodes to keep it more customizable. The benefit of using these same custom generators throughout the game made sure that the quality and end result was consistent, and that we were able to create quite a large amount of variation in a short amount of time, which was crucial due to the size of the development team.

Image courtesy of Remedy Entertainment

Pipeline

All of the environment props were textured in Substance Painter and most of the tileable surfaces were fully created in Substance Designer. We don’t currently have the Substance file integration in-engine, but we do have custom exporters and project templates for the textures in Control. This is to ensure that our naming conventions and texture formats stay consistent. Overall, Control relied heavily on the use of Substance for our texture creation.

We have also been working on a more robust Substance to Northlight integration to unify the shading between the two packages to provide artists almost one to one representation while working in Substance, but this is still a work in progress transition that will hopefully improve our workflows for future titles.

Breakdown

I’ll show you the board-formed concrete that was kinda the backbone of our concretes, it’s not necessarily the most challenging, but shows a lot of the elements I mentioned earlier and a lot of the things in this graph became the custom nodes that we needed for future materials, some of which weren’t concrete at all. All our tileable architecture materials were created in a 4 by 4m scale, so we could easily change materials on our meshes, and we knew that our generators would always be in the correct scale by just drag and dropping them onto a new graph. It also helped us not to focus on details that are too small while working on the material.

Boarded concrete material in-editor screenshot
Boarded concrete Substance graph

Our workflow at Remedy is pretty standard, we build the height map first, and then move on to the diffuse and smoothness maps. Starting from the big shapes and gradually working to smaller ones. We mostly use just a single “Height to Normal” node at the end of the height combine chain. We use a 0.5 middle gray as the starting point for all our heightmaps, this ensures that we can easily blend the materials together.

As the material team mostly consisted of me, we didn’t have too strict rules, for Control, on how to arrange the Substance graph as long as needed frames and comments were there and that the graph was easy enough to follow. For future projects, we already have a more structured processes in-place and clear documentation on how to build our Substance graphs and what parameters to expose, as bigger development teams require more structural approach.

Boarded concrete diffuse albedo progression

After we had our height map and different generators set up, we realized that concrete usually has a lot of color variation, especially the rougher ones, and this really defines the look and makes the surface more interesting to the viewer. So we put a lot of effort into making sure that our diffuse maps have a wide range of minor color variations and other details.
And like I mentioned before, a lot of these framed elements became or were custom nodes that were used on other materials as well. I’ll give a quick breakdown of our wood veins generator that was used to create the surface for our board-formed concrete. The same generator was also used on a large number of the wooden surfaces of the Executive sector and throughout the game, so we wanted it to be simple and versatile enough for future use.
Wood veins and fibers generator overview
And like I mentioned before, a lot of these framed elements became or were custom nodes that were used on other materials as well. I’ll give a quick breakdown of our wood veins generator that was used to create the surface for our board-formed concrete. The same generator was also used on a large number of the wooden surfaces of the Executive sector and throughout the game, so we wanted it to be simple and versatile enough for future use.

We’ll start by creating the veins seen on the surface of the wood. Overall the graphs are quite simple. We start by elongating standard paraboloids with different luminance and size and add some blurring to smooth out the edges between the shapes. After that, we add multiple warps to achieve a more natural wavy pattern.

Once our base shape is ready we run it through gradient node to get those ring-like shapes seen on wood. We used a dynamic gradient with a linear gradient to easily adjust the number of rings needed. Finally, we add some extra noise and roughness to break up the shapes with warping and blending to make the rings more coarse and wood-like.

And to finish it up we start by creating the height map and blend in some wood fibers for more variety on the surface. After this, there are just some scale adjustments left and we can generate the normal and masks for different purposes. We wanted to keep these base nodes simple enough that the users could then easily expand upon on their graphs.

Tips and tricks

Always plan the scale and resolution of which you want to create your textures so that reusing materials on different surfaces becomes much easier. I’d also recommend always working from big to small shapes and thinking on how you can break to surface into a reusable nodes or smart materials, to keep the quality and style consistent. Substance Designer graphs can also quickly become spaghetti, so it’s a good idea to add frames and comments for future reference.

For the more simple surfaces, like concrete, focus on the subtle details that really make the surface. Gathering a lot of references is crucial even for these “simple” surfaces.

How has your view on concrete shifted?

I think about 75% of our tileable materials are some sort of concrete, and there are around 50 or so different concrete materials so that’s quite a lot. Working in Control made me really realize how many different types of concrete and finishes there are and how they affect the end result. In the end, concretes vary from very coarse to very smooth or fine surface, and just a few different elements in it really define the outcome of how the concrete looks. This also made me appreciate the smaller details; concrete isn’t just a gray mass but it has a lot of subtle color variations, ranging from browns to greens and blues that come from the cement and the gravel that is used as aggregate when creating concrete. But in the end concrete is also a relatively simple material that worked as a perfect backdrop for our lighting, so it’s also very functional material when building environments.

Selection of concretes rendered in-engine
Concrete renders from Substance

Future use of Substance

I see that we’ll keep on working on the Substance and Northlight integration and keep building a material library with custom nodes and tools. Control in many ways was a learning process for us and we are keen to improve our workflow.

End word

Control was released on August 27 on PS4, Xbox One and PC. I hope you’ll enjoy the game as much as we enjoyed making it. And thank you to the Substance team for the opportunity to share about our workflow and material creation for Control.

We are always looking for new talent to join Remedy, have a look at our open positions right here.

All images courtesy of Remedy Entertainment.