Josh Rife from Bosskey Productions discussed the peculiarities of environment design of multiplayer arenas. Great talk about levels, shaders, lights, skyboxes, and details.
My name is Josh Rife, Environment Lead at Bosskey Productions. I’ve been here since almost the beginning; fall 2014, a few months after the inception of the studio. I came to work at Bosskey after hearing about the startup, and reaching out to the then small team of people here, who were busy working on initial mockups of the game. The preproduction art, and Cliff’s original game pitch got me excited, so I all but kicked in the door to work on the project.
Prior to working on Lawbreakers, I worked as an Environment Artist and Designer on several games in the inFamous franchise at Sucker Punch Productions in Bellevue, WA.
The assertion that environment design is frivolous or unnecessary still comes up once in a while in the ether, as you mentioned, though perhaps less than in the past. I think that these days, people are becoming increasingly savvy to the truth; that good visual design can enhance gameplay, increase staying power for a title, and streamline the experience for players.
In the case of Lawbreakers, there were specific needs and concerns for visuals that went beyond just achieving a look. First off, the game has always been extraordinarily fast, so legibility of characters is a massive priority. The constant challenge throughout iterations really boiled down to a simple question: ‘Can you see your enemy’? If the answer was ever no (and my god, it was ‘no’ a lot), something had to be fixed.
The team addressed this issue of legibility incrementally, and the solutions weren’t fully realized into just before ship. In playtests, we knew that between VFX, the myriad character abilities and telegraphs, the UI and lighting features in post, parsing characters from the environment was difficult. Of course, we use gameisms in the form of outlines, pips, etc, but the answers didn’t stop there. In designing spaces, the Environment team took steps to enhance legibility as well.
Cliff has this term: ‘robo-bullshit’, which he uses to describe this trend of game artists adding visual detail without functional purpose; something we needed to take care to avoid. Tramell, our Art Director, has a similar mindset, in that he takes a practical read on construction and mechanics. If something is crazy detailed for no good reason, he calls it out and we adjust.
This focus became a weapon in the fight against distracting our players. You’ll notice that most of our maps favor simplicity and minimalism, keeping details to prominent player pathing or near objectives. We use detailed elements to highlight important areas, so that hopefully players understand the unspoken language of direction we’re trying to convey.
Notice how metallic, higher frequency detail is used to frame the battery charging station. Colors and values are more varied here than the surrounding areas as well
To this end, we don’t reduce detail so much as focus it to compliment the game.
Clearly, it’s vital that players spend what precious milliseconds they have acquiring a target, aiming, or reacting to enemy’ movements. We absolutely don’t want them spending those milliseconds trying, even unconsciously, to parse spaces that the brain can’t easily understand. The solution in our eyes came down to two pillars: Spatial Clarity and Consistency.
Spatial clarity is pretty simple, and it’s something that human beings are confronted with everyday. We use differences and contrasting elements in our surroundings to make sense out of them. In the application of designing spaces, it’s the practice of differentiating the values of the floors, walls, and ceilings so that the planes in space are easy to read.
The image on the left shows our albedo levels, where floors and walls are very different in value. This translates to an easy to read space, in nearly any lighting scenario
If the floor is dark, the walls are lighter. If the walls are more matte, the floors are glossy and reflective. If the walls are dimly lit, the floors are lit directly. If the floors are gray, the walls have color and so forth. There has been data gathered across several different modern games that show consistently that players will vote for the map that has the highest degree of spatial clarity. Simply put, the easier it is to read a space, the less frustrating it is play in it.
While the concept is easy to grasp, it’s something that can get lost quickly in production. An artist will be driven by his or her instincts, and often a material mix or a lookset will dictate decisions that can be counterproductive to spatial clarity. Part of my job as Lead in these situations is to find ways to preserve spatial clarity by any number of approaches, and suggest ways that the Art Team could enhance these contrasts to reduce mental frustration. Even in local, internal playtests, we find that just by simply paying attention to how spaces parsed out visually, and making minor adjustments accordingly, responses are far more positive, and the games are more fun.
Consistency is another big tool in visual design. It can be useful in helping players not only gain map knowledge quickly, it can also, as with focusing detail, speak a language that players can hopefully pick up on, even if they’re not actively thinking about it. An example of this consistency can be found in Mammoth. You’ll notice that every entrance to the interior spaces of the map are framed with color, while the surrounding elements are more muted.
In these images, we use color to call attention to the main gameplay paths that lead toward objectives. Framing, and huge splashes of solid color mark the way
Another example of Environments reducing cognitive strain can be seen in Station lookset. We knew that Station, by its CQB nature, was something of a labyrinth. In playtesting, testers would express frustration over being lost, getting turned around, or generally feeling like a rat in a cage. Obviously, these are things that we want to alleviate for our players. A somewhat elegant and simple solution was to install inset ceiling lights that guide players forward through spaces; literal arrows that light the way.
Example of leading players with lighting
This, coupled with landmark details and entrances and exits, provided a language that the brain easily accepts and understands while playing which, in turn, reduces frustration a great deal.
Due to the fact that our production cadence was so fast, it was vital that Design had a firm grasp on what worked for our game, and what didn’t. Generally, we’d start with a layout that had been thoroughly tested and iterated upon, while cycling on our own art preproduction to establish the lookset, the lore, etc.
Our processes evolved into a healthy balance of rules and conversations. The Level Designers know, for example, what the ideal maximum distance for combat in Lawbreakers is. They know what the proper height for doorways and ceilings are so that players aren’t constantly facing camera issues or feeling stifled. They also know enough, and are experienced enough to acquiesce that the sanctity of a primitive graybox is not absolute. As long as major line of sight blockers and high level layout are maintained, they’re happy to discuss being inclusive to the Art. This production actually became something of an impossible dream in that way. At least personally, I’ve never worked with Level Design that had such a healthy understanding of what needed to stay ironclad in the layouts, and what could flex. It was that flexibility that allowed us to focus on what was vital to gameplay, while meeting the needs of the Art team as well.
Another great aspect of working with experienced Designers was their ability to use concept to help inform some decision making. The pipelines go faster when LD’s have at least some notion of what the final lookset is meant to be. This helps foster a healthy back and forth with the Art Team, and reduces friction when the time comes to visualize a map within the bounds we’re given.
Small light details are actually a great tool to use for filling out spaces, so we go to it a lot. Details both in small track lights, but also in emissives or glass reflections really achieve the same thing. You’ll notice that a lot of spaces in Lawbreakers have implied spaces behind glass that you can’t access. It’s partly to make maps feel expansive, but also serves as a platform to play up the reflections in the map. If the playspace has an interesting screen or lit sign in it, any nearby glass reflections serve to double that effect.
Light details also serve as scale reference to what is human height in the world. Games have this issue quite often wherein players look incredibly tiny against the background. When you’re trying to enunciate the power of a character, especially when the goal is to increase playtime and show off these amazing moments in gameplay, the last thing you want is for the character to look like an insect in a huge vacuum. Small detail lights are an easy solution for informing player scale. Sure, the room may be huge, but there’s track lighting along the floors, installed behind the railings. Your brain sees the railings, and the smallest light detail, and accepts those as the proper indicator for human height. This method of additive detailing allows us to maintain sometimes huge spaces in our game without forcing the perception that characters are tiny. Like consistency and spatial clarity, it’s just another tool in creating content that feels correct to the brain.
As far as what prescribes what these light details look like, that’s largely a product of working in maps everyday, and being familiar with the lookset. You quickly gain an understanding of what belongs and what seems out of place within a given look, which allows for some great improvisation. Some of the best ideas come from providing a framework for artists, and letting them riff on the details.
A final note on light details: these tend to come later in production, and shouldn’t really be a crutch. We tried to ensure that map fidelity started with good PBR principles and quality authoring first; emissive details are never a replacement for high standards.
All of your scenes have this feeling of light and airy quality. Could you talk a little bit about the way you’ve achieved this?
That’s really awesome to hear that this came through in the final product, because a lot of our focus with lighting came down to really nailing the prevailing ‘feeling’ in a given time of day. It generally starts with good principles of PBR; without understanding how materials bounce and absorb light, without maintaining a binary metalness mixture in maps, there’d be no way to light them predictably. The team worked early to install safeguards so that we could easily see, via visualization buffers, what was within correct PBR ranges, and what was not. The challenge was to get every artist on the project to understand that in an HDRI space, with all of the variables and complexity, it’s no longer good enough to only go by what your eye tells you. One artist will have a tendency to set albedo values too low to try and gain contrast in a space. Another artist will go too bright, trying to highlight areas of importance. That may have worked in previous generations of games, but now, without proper guidelines, those tendencies will kill your results.
With PBR-correct materials maintained, we looked to the rest of the lighting weapons in the arsenal. Unreal 4 is great because it boasts a host of settings for lighting. Beyond the in-engine settings exposed in the UI, artists can also look to the base .INI file which determines advanced factors, such as how many photons to fire into a scene, how often they should bounce after hitting a surface, and how dense sampling should be. The process of finding the proper balance of fidelity and iteration time was one of the most time consuming, difficult aspects of production on this title. After all, lighting is only useful if you can get it baked without needing to wait 60 days for it to compute.
The template settings we eventually came to netted some really fantastic, smooth results in our bakes, while maintaining reasonable turnaround times. I can’t stress how important it is to frontload Tech Artist time and research into lighting at the beginning of a project, especially if the feature set or engine is new. In researching, the team studied numerous Arch-Vis projects, and got deep into learning the processes that other teams were using to find success with high quality lighting in Unreal.
As a production artist, I have this check-box in my own mind that mandates that the lighting needs to ‘feel right’. In Grandview, for example, I wanted the air to feel like it was burning in the desert sun. In Promenade, it had to ‘feel like’ late afternoon on the California coast. Mammoth had to feel as if the temperature was just warm enough to have melted the snow, leaving the air heavy with moisture. The intention is to be able to play maps in rotation, and experience a variety of moods. If in Trench, you feel frigid and vulnerable, the firelit annals of Redfalls should feel inviting and mysterious.
There are numerous discussions and iterations with our lighting guru, Jonathan Bishop, and our sky/vfx artist, Nick Peterson to achieve this diversity of mood. These guys do the hard work of taking these sometimes esoteric directions and making them a reality. Our job, as Environment Artists, is to support the intended feeling by ensuring that materials have the proper application and polish to really sell the end result.
Mechanically speaking, we are a predominantly light-baked game.
Lawbreakers boasts up to 250+ FPS at crazy resolutions on high end PC’s. The only way to maintain this speed is to rely on static lighting. Dynamic lighting is crazy sexy, but that’s something we use sparingly in order to uphold framerate, which is king. Where we do use dynamic lighting, it is added strategically to complement the existing static bake in areas of high visual payoff.
Stylized 3D materials
Looking at our workflow, I don’t think we started with an idea of what the style should be. Through a lot of trial and error, we found a common ground for visual language for the game, together, and sometimes that meant pushing aspects of materials to exaggerated levels (within PBR bounds, of course). The workflow starts with good spatial clarity, and material mixes that are a bit unexpected. From there, we go into bold, saturated elements in scenes, which is I think where the ‘stylization’ comes from. When we do take liberties with pushing the style, we do so by enunciating roughness and color variance, especially in places where lighting is very stark and contrasting.
Structurally, most of our maps are divided into 3 groups: Props, trims, and large blends. Props are really anything that would look best or would be most efficient as a one-off, baked asset. Trim strips are sets of tiling textures that we use to map all sorts of edges, floor trims, and transitions to. Large blends are essentially the meat of the environments: tiling material blends that allow us to combine 3 or 4 sets of materials onto a surface. Examples of how we use this method are all over; a great use case can be found in Mammoth, where we use 4 channels to create a once-sealed concrete base that has suffered water damage and staining over years of exposure to the weather.
The advantage to leaning more on tiling texture solutions is that you can cover ground quickly, and create material mixes that are easy to iterate on and improve over time, and foster a library of diverse, reusable shaders.
As I mentioned above, the entirety of the environment is controlled by one master shader, which has tens of thousands of instance versions that we use to populate everything. Because this master shader is extremely versatile and feature complete, we’re able to do sometimes crazy things with shader permutations while the base look is unified and locked down. For production, this structure is great, because we can work in the instances and see results immediately. Aspects like emissive masking, detail normals, individual controls for UVs for every channel and every map, intensity/hue shifting, and using maps to blend between texture sets, allow us to work to the needs of the space, rather than simply to the limitations we have. Coupled with very flexible options for vert painting between texture groups, wetness and snow, we’re able to cover a lot of ground quickly.
Sometimes, we have special case needs, like holograms, emissive signage, and background elements. We rely on our talented Tech team to create shaders that give us features for movement, blending, etc according to the specific art ask. The line between environments and VFX is blurred in this effort, so a lot of our more advanced holograms and screens take advantage of shader capabilities.
The VFX team pours a lot of effort into character abilities and objective FX in-game as well, ensuring that shaders and gpu take the brunt of the performance load where possible. Not only do their elements look fantastic, they’re also lighting fast and optimized.
The only real way to test is to throw the maps back into playtests and performance benchmarking as soon as possible. After the art team cycles on maps for a while, they go right back into the fire, so to speak. Usually, because we do have special case blueprints or shader features for a given lookset, these have to be shored up first. This doesn’t mean they are cut, they are just assessed to find any costly instructions that could be reduced.
The art and tech teams have a very prescribed checklist installed into the pipeline to ensure high fps. We do optimizations for content at large, trying hard to not reduce or cut features for console only, as we want the product to look consistently great across all platforms.
This optimization pipeline consists of reducing geometry in scenes via traditional LOD’s, which we do through an Unreal integration of Simplygon. We look at draw calls as well, which is dictated in-part by how many materials are being called to a specific asset. If an asset has a lot of material IDs, and the asset is used several thousand times, it’s a good candidate for consolidating those IDs as much as possible. Unreal does a great job of eating through triangles, but draw call reduction is something that developers need to understand and be aware of.
Beyond consolidating triangles and material IDs, we simplify collision as much as possible. Foreground elements, especially assets that are used a lot, have as few collision hulls as possible in order to ensure that physics checks aren’t weighing down the CPU. Background elements have collision turned off entirely, as players can’t get to them anyway.
When we build maps with reuse, and an understanding of draw call limits, straight up cutting assets is rare, if not unheard of. Good planning means that we get to see the vision through with confidence that the end users will experience it as intended.
Skies in Lawbreakers are a mix of 3D assets and 2D elements. Generally, we have a good idea at the outset what the primary vistas will contain. Many of our maps are coastal, so we have a set, main ‘composition’ to work with.
We lay in the 3D elements first, as these tend to be more malleable; it’s far easier to scale or rotate a mesh than it is to change an entire matte painting. Once we’re happy with the overall composition, our skybox artist, Nick Peterson, runs with the art direction from there. Nick adds an insane amount of detail; trails in the skies, satellites, light pollution, and so on, to the point that you can stop and look at the skybox and really understand the story behind the setting you’re in (assuming you don’t get gibbed first).
Details are great, but Nick also manages the big picture time of day in a number of iterative passes. Additive cloud meshes and sky textures that he assembles in game are built to work harmoniously with the lighting and existing 3D elements. The shaders that control clouds, for example have several emissive and texture settings so that we can have very fine control over levels and colors, allowing them to meld with the rest of the skies correctly. His cloud creation techniques are extensive enough to require an entire article in and of itself; suffice to say, he is very thorough, and has an excellent pipeline installed for achieving amazing results. Nick and Jonathan work to ensure that lighting and skies are consistent with the overall direction for how a map should ‘feel’, and those iterations go on as long as is necessary.
Once the sky textures are created, additive elements tuned, and lighting set, we work to soften the results. Post and fog are helpful in tying the background to the foreground, but we look at the elements as a whole and try to find what catches the eye as too extreme. Much of this final polish is opened up to feedback from the other artists on the team, so we can quickly identify issues from multiple points of view. The skybox results speak for themselves, and a big test is how well they hold up over time. After literally years of playing Lawbreakers, I still find myself staring at some of the skies that the team was able to pull off.