Luiza Tanaka shared the process of working on the Assault Mode for SMITE and focused on creating the skybox, aurora borealis effect, and foliage.
Luiza Tanaka shared the process of working on the Assault Mode for SMITE and focused on creating the skybox, aurora borealis effect, and foliage.
Introduction
Hey everyone, I’m Luiza Tanaka and I am currently an environment artist at Hi-Rez Studios. Since my last article on 80 Level, I worked as a CGI lighting artist at Armstrong White in Detroit, then accepted an environment artist position at Hi-Rez Studios and moved down to Atlanta. Out of the games our studio develops, I’ve been primarily tasked on SMITE, which is a stylized 3rd person MOBA. I personally really enjoy playing the game and have logged over a hundred hours on my SMITE account.
SMITE: Assault Mode
SMITE as a game has evolved a lot since its initial release. When I first joined the studio, the environment team had been pivoting their art style towards high stylization, with key points being clean and distinct shape language, low contrast textures, and a more deliberate and thoughtful use of hues and values to lead the player through the maps. We have since then updated three of our most played maps to this new art style.
For our season 6 update, we completely revamped the environment for the Assault game mode. I was tasked to develop the skybox and foliage for the map. Because of the eclipse we have going on and the map’s Nordic location, we wanted a colorful skybox to break up the frozen environment. I wanted to work on the aurora borealis first before the rest of the skybox because I was the least sure how long it would take compared to my other tasks.
Aurora Borealis
- Reference
I started off by gathering some photography reference and the main things I noticed were:
- Although colorful, they are primarily green and teal in color
- Thin vertical lines break up the main soft shapes
- Everything is very soft
- Never completely straight in direction, rarely found as a single wave
- Directionality and movement make them appear as if they converging towards the horizon
After noticing the characteristics of aurora borealis in the real world, I took a look at examples of similar VFX done in video games and SMITE itself. I talked to Kyle Valentin who had done the VFX for a winter themed Cu Chulainn skin that included aurora borealis. He gave me advice on the subject and pointed me towards a tutorial done by Kevin Leroy, which helped me better understand the individual parts to achieve the effect. I still wanted a reference of what my material eventually going to look like, so I took a look at a ground light shaft material done by Mick Jundt in the Conquest map that does a really good job at reading the energy tendrils moving out of the ground. With all my references gathered, I started working on the VFX à la environment artist style.
- Textures
The first step was to create the textures I would need for the auroras. On the green channel, I made a horizontal tiling texture with soft vertical lines that would imitate the magnetically charged streaks that auroras have. On my red channel, I created a gradient that I would use for the more solid portions of the effect since the auroras have some rather soft portions with fewer discernable streaks. Then I made two different hue gradients to multiply on top of my masks to get the color I needed. One is the green/teal ramp, which I used predominantly to get main parts of the aurora, with a colorful one to add subtle variations. The hue gradient texture was a 512×4 (tall and skinny) since I needed it to vertically pan and add hue variations.
- Modeling
The next part was to model out the meshes for the aurora. This part was done very deliberately to help with the composition of the map since we wanted both the order and chaos bases to have strong focal points. The ribbons curve around the map for the most part while avoiding the placement over the lane since SMITE players very rarely have reasons to look up. I added a significant amount of height variation to each mesh to prevent them from looking like ribbons. Extra attention was spent on the ends, making them taper near each focal point to imitate perspective and make the skybox feel larger than it actually is. I enhance this effect in the UVs by increasing the tiling rate towards each end, making the aurora appear farther away.
- Material
Once I was happy with the model, I started working on the material. There were many parts that made up the material, but individually they were easy to develop.
The main part of the aurora consists of the vertical streaks that pan through it, which I re-created using two separated panning components. They are both using the green channel of my texture, but the secondary component pans in the opposite direction, slower, and with a tighter spacing (more strands). The main component uses the green gradient texture (since the majority of an aurora is that hue) multiplied over the mask, with the secondary one using the colorful gradient. The hue gradient slowly pans down the UVs to subtly shift color over time. To have the green component stand out, I dimmed the colorful part of the material a little. After adding both components together, I multiplied a heavily horizontally-tiled noise texture to add the thin streaks on the aurora effect. Without it, everything looked way too soft.
To add the solid portions of the aurora borealis VFX, I used the red channel of my texture to create a soft gradient component. This also utilized the green gradient texture to color it. Since I only wanted certain parts of the VFX to look solid, I made it a component that can be vertex-painted in, allowing me a lot of control over its appearance.
On a global level, I added another vertex color node, since I wanted to be able to play with the opacity of the aurora once placed the map. I erased the ends slightly as they got closer to the focal points of the map, and some of the curving parts to soften the whole look. The fresnel node included in the material helps soften the edge as the mesh curves. Auroras also move slightly over time, so I added a sine wave node to the vertex world position and played around with its intensity until it looked right. I exaggerated its movements for the game compared to the real world, because it’s tough for players to notice unless it is significant.
Once placed on the map, the auroras really help to emphasize the composition of the environment and lead the players towards the bases. I ended up adding a few more auroras that used a different material, set to a much lower opacity (around 30%) to complement the main auroras. That led to a more believable look, while still being stylized. Using a similar material set up for the auroras, I tackled the VFX for the chaos base, which is the blue energy that flows out of the rocky monoliths.
Skydome
The next step for Assault skybox was painting the actual skydome. This was more technically straightforward, as it’s just an unlit diffuse-only material applied to a half sphere. An important thing to keep in mind while painting a skydome is to always look at real-world references. Do find images of the sky and clouds during the time of day you are hoping to achieve, as it will help you render clouds better depending on their distance, height, and size. I searched for a lot of cloud references to keep their shapes organic in appearance. With SMITE being a stylized game, I had a lot of freedom to push the silhouettes to further emphasize the composition, so I added a lot of clouds that looked windswept to lead the eye around.
Layers are also incredibly helpful when working on a skydome, to help you distinguish features that are closer to the viewer versus far away. Christian Davis helped me a lot to separate the cloud layers to improve the depth in the scene as well as showed me some tips with blending. Rendering clouds is tough because they are very soft looking, but making them too soft makes them blobby. A soft round brush and lots of patience were key for painting them correctly.
After working on the clouds, I felt the skybox needed more drama, so I added backlighting into the skydome. I focused on key focal points to add more contrast to these points. The chaos base has a light teal background with energy tendrils rising to help the monoliths stand out against it. That way they appear more ominous from the storytelling point of view as if there might be some source of power hiding behind them. For the order side (which has the solar eclipse), I added a strong orange rim lighting to the clouds. In Norse mythology, the solar eclipse is tied to the start of the Ragnarok events, and since our map is Norse-themed, we wanted the player to feel a sense of urgency to save this world, as trouble might be coming their way.
Foliage
During this project, I also worked on the foliage and some of the set dressing for the map. I love working on foliage since I love plants in real life too. Once again, we gathered photography references of what foliage in Nordic locations look like since we wanted the map to have authenticity. From there, I could stylize the plants as needed to fulfill certain needs, like broadening the leaves of bushes to cover more screen space, altering the colors, and playing around with silhouettes. It’s important to have foliage read well quickly since most people won’t stop to look at it (unless you’re me, then you’ll get yelled at by teammates for looking at the plants). I always start out by making a list of small, medium, and large foliage that needs to be produced. Then I work on their textures and model them as the last step. Because our game needs to run on all console platforms (including the Nintendo Switch), being polycount-conscious was really important.
Most pieces of foliage were combined into a single mesh to reduce draw calls in the map. Since the map is a long single lane, it’s hard for us to prevent a lot of assets from being rendered all at once, so combining meshes and reducing the number of different materials we use helps with performance. Another thing I did to help the map perform well was to create a material that made each pine tree instance unique (that way, we needed fewer models and lowered the amount of memory used). The material randomly assigned the pine leaves a shade of green and placed snow on it randomly.
To achieve this look, I had a texture with various hues of green driven by an Object World Position node to have it randomly select a shade each time a tree was placed. The snow placement mask was done by UV mapping my tree to a 3rd channel, taking the whole tree and doing a vertical cross-section capture on it. I used a generic Perlin noise mask to drive the spots where the snow would be placed, which was also randomized using an Object World Position node. At the end of the process, I just lerp all the components in to create my material.
Conclusion
SMITE’s new Assault map uses quite a few cool techniques to make this environment look great and perform well. I believe our team did an amazing job creating this map for players, as we were all pretty passionate about the development of Assault. Shout out to the team who worked really hard to deliver this map. And thank you for reading this environment art breakdown of SMITE’s new Assault map!