Thank you Richard. If I find some more ways to improvise for optimization, then I'll tell you definitely
would love to see the substance graph.
The visual shader system will be great for modular asset pack makers. You see some incredibly high quality modular asset packs on the Unreal store, whilst the ones for Unity are so-so, which I think is down to the ease of creating shaders on Unreal vs Unity. Alternatively you have to make your shaders in something like Uber Shader system which immediately splits your customer base.
Naughty Dog Environment Artist Andres Rodriguez talked about the production of game worlds and discussed how you can use lighting, modular assets and other elements to really make a virtual scene come alive.
My name is Andres Rodriguez. I was born and raised in Mexico City. I then moved to San Diego to get my degree on Game Art & Design. I’ve been in the video game industry working as an environment artist since graduating and I’ve spent the last five years as part of the Naughty Dog team. In that time, I’ve enjoyed working on titles like “The Last of Us”, “Left Behind” and “Uncharted 4”.
Environment artists are required to play many roles in a game’s development. In addition to creating beautiful worlds that maintain a visual style and technical proficiency, they must take into account the available gameplay space, composition, and technical budget..
Artists have to make choices within the game play space to keep it as clean and clear as possible. The level needs to be able to run in framerate, be completed within the schedule, and look as good as possible. Finally, the storytelling within the space must support the mood of that moment as well as add to the overall narrative of the game. If any of these things fall apart game production or player experience will suffer. So when starting production on a level, it’s vital to have a good clean workflow as well as a good roadmap to achieve these goals.
When I am working on a new level, I replace the designer created mesh with an art blockout. This means I use large simple forms to indicate what the overall look and composition of the space will be. Working with basic design shapes allows me to iterate faster, try out ideas, and encourages me develop beyond my initial ideas.
In an effort to push the shapes and visual language as much as possible, I work closely with concept artists and designers. Our collaboration facilitates creating beautiful and interesting areas without breaking the purpose for which this space was originally designed for. This requires flexibility and a lot of communication between art and design, so it’s crucial to keep an open dialogue. A successful first art blockout will guarantee that I can continue to add more detail, knowing that the composition will work for both art and design purposes.
Lighting is one of the most important design elements in an environment, especially if the scene is heavily dependent on natural light. Incorporating lighting direction early allows us to use light and shadow as a composition and design tool. We can help guide the player to important locations, highlight enemies by creating contrast against a dark background or generate a cleaner read by leaving larger areas in shadow.
Creating areas of high contrast can be used to make areas more interesting, or help accentuate a certain mood. For this level, we created high contrast between a small corridor and the large courtyard that follows it. The corridor is dark and monochromatic dark and the main courtyard is colored and brightly lit. This contrast builds up the suspense and makes the reveal more memorable for the player before the big story beat there.
Creating large environments with a lot of detail can be a very daunting and slow task. In order to speed up this process, I like to use modular elements. This workflow allows me to use a small number of highly detailed pieces that can be quickly propagated and lends itself to faster iteration and polish.
Modular assets are an incredibly powerful tool when dealing with architectural environments since they already have an inherent rhythm and repetition. I start with a handful of simple pieces and copy them across the level to get a rough idea of the look. This allows me to see if I need to create new assets to describe the shapes I want to show, and also demonstrates how the pieces will look when you have several of them placed next to each other. A risk with modular assets is everything can look same, which will make the environment look unnatural or less interesting.
Avoiding a repetitive look, can be as simple as covering up parts of the modular assets with other objects like foliage. Also using decals, blends, world space overlays and other shader techniques to break up similar surfaces can be very effective. When this is not enough, I create variants of some pieces for more visual interest. I will introduce a broken versions of the same asset or one with a different accent.
Finally, it’s important to be creative when placing the assets, rotate them, flip them or use them in unexpected ways to get the most use out of every piece. Maximizing the advantages of a modular workflow allows for very large detailed levels to be completed in a timely fashion.
Breaking down a desired look into layers of detail that can be compiled together is essential to create believable scenes with interesting compositions. Figuring out the bigger picture in first, and then layering in the medium and small size detail next.
It is important to remember that all the items placed in a scene add detail but also exponentially add “visual noise”. A way to control this is to clump groups together. This allows smaller compositions to read clearly as a whole. Clumping detail in certain areas will also create places for the eye to rest, This can be used to reduce noise on a busy wall, or help accentuate a path for the player.
In areas with strong lighting, it’s important to remember that not only the object but and also its shadow can create visual noise. Creating one large shadow with groups can be another way to control frequency of detail in a scene and maintain a cleaner image.
Shattered, Forgotten Beauty
Supporting the narrative through environmental storytelling is another one of my main goals when creating a level. Usually, there are many contextual layers of information needing to be depicted in the environment and it is important to present these in a simple, elegant way. This will make the player feel more immersed in the world they are playing through.
For a “forgotten beauty” scene, separately analyzing each layer of narrative in an environment makes it easier to design each element before they are all combined or fighting for attention. A good place to start is figuring out what the space looked like “clean” or when it was originally built. For example, I will dive deep into reference and choose an architectural style to work from with the space’s original purpose in mind. I work closely with a designer and a concept artist to find and design elements that really push the narrative of this area, before we start taking into how external factors affect this space, like nature or the passage of time.
Knowing the story or events that happened in a particular environment can help a lot when trying to create that look, because it’s easier to know which elements to accentuate. Using this courtyard as an example, it originally was an important meeting ground for the colony inside a government building, at some point there was a battle in it, soon after the city was abandoned, and finally nature took over. Keeping this series of events in mind, I try to start layering in the details of how these events would affect the environment. What would happen to this courtyard during the battle? What kind of weapons were available during this time and how would they damage these structures. Will using barricades and bodies be enough to represent a battleground? Answering these questions will help influence my decision as to what detail to show in the environment.
The same train of thought is applied when adding foliage to a scene. I look at reference of how the vegetation interacts in real life and use that as a starting point for how I will place foliage to serve our design and composition purposes. I pay special attention to little details like roots or vines that tend to have a very defined look following cracks and crevices; how over time fallen leaves and dirt will create mulch that will allow foliage to grow in new areas where it wasn’t present before.
Adding blend textures, decal support, and hand placed foliage assets will make sure that the vegetation feels like a unit that realistically belongs in that space.
Adding foliage and small details can be very resource intensive. So, I try to maximize the impact these details will have by placing it where the player is more likely to see it. In some cases just suggesting or implying some of the detail in the background or midground is enough.
Making a Scene Come Alive
Small accents and surprises for a player to discover really makes a scene come to life. Adding this layer of polish is one of the most rewarding parts of the process but also very time consuming. These details come in late in development, and potentially won’t be seen by all the players. Nevertheless these vignettes create a more rewarding and memorable experience.
These details can be simple as a small grouping of props to suggest a unique narrative local to this space. Like a pretty arrangement of flowers in a secret corner, or something uniquely broken that tells the story of how it deteriorated and crumbled before being reclaimed by nature. Though these sort of details are not essential to the design, they will be responsible for making the place feel alive for the player traversing that space.
In the end, making a level that works as a rewarding gameplay space, that also supports the narrative of the game, and is visually interesting comes only as a team effort. This can only happen with the collaboration of the designers, lighters, shaders, artists, programmers, fx artists all working with one common goal: Creating a rewarding game experience for the player.