RIVALS is a tactical cover-based shooter built in Unity for mobile.
As Art Lead on the project I was responsible for managing all 3D art in the game, which encompassed characters, environments and animation.
I mentored and worked closely with Thomas Guillory, and together we created all environment art seen in game as well as polished/reworked characters from external partners.
All images are shown in engine as they appear on high end mobile devices.
A few of the larger pieces I made for various environments. Often such pieces were built flesh out a particular level after the planet atlas had been finalized. Being mindful of this when creating the atlas allowed extensive re-use of textures.
Some of the many props that filled out our levels. As with all our art, they required clever re-use of textures in order to adhere to our single-atlas-per-planet rule while maintaining the highest texel value possible.
RIVALS makes use of fully destructible cover, forcing players to strategically move around the arena. We had over 100 pieces of cover, each hand-made with anywhere from 5-10 destructible states.
One of the first pieces I made for the project: a Y-Wing that had seen better days. This was used to develop the shaders and pipeline for the project. Shown in two examples of our environmental lighting.
I managed our external partners and provided direction and feedback. We polished and created the PBR materials in-house on all 26 vehicles.
I managed our external partners and provided direction and feedback. We polished and created the PBR materials in-house on all 100 characters.
I managed our external partners and provided direction and feedback. We polished and created the PBR materials in-house on all 100 characters.
I handled all feedback for our external partners. Paint-overs were found to be particularly helpful, as it couldn’t be guaranteed that the artists would be fluent in english.
One of the last things I did as Lead on the project was to take a critical look at our characters and how they fit into our game and the ever-evolving market. As the visuals for the rest of the game had continued to improve, our characters fell farther behind and their proportions, geometry and materials no longer played well with the finalized shaders.
I initiated the process of bringing our characters up to the current visual standard.
A comparison in-engine of our old Lando model vs the revisited one.
Our models were boxy and simplistic, yet had relatively high polycounts. By sculpting shapes from geometry not only did we make much better use of each vertex but we also got much better interaction with the in-game lighting.
The initial test on Lando proved so successful that we immediately started revisiting our major characters to bring them up to par. Nearly every revised model ended up being lower poly despite, the increased detail.
The studio was shuttered before we could finish the last round of revisions, though we had made good progress. Likenesses were still in progress. Shown with only albedo.
An important part of the revision was getting the actor likenesses more accurate. This final step I handled in-house personally, due to it’s difficulty.
Process
We used a customized PBR pipeline in order to bring high-end graphics to the mobile space.
Levels leaned heavily into baked lightmaps to achieve the look and feel, using our PBR shaders for realistic material definition, and light probes to ensure dynamic objects would blend seamlessly into the world.
By ensuring each step was controlled by an artist we were able to create beautiful, hand-crafted environments that felt internally consistent and believable, but afforded us with artistic freedom to not be a slave to reality.
Each level was made besoke, modeled and assembled by artists and exported as a single contained object from Maya into Unity.
All art across the levels at a given planet (in this instance Bespin) made use of a single 2048 texture atlas. Clever layout and uvs allowed us extensive re-use without sacrificing visuals.
In addition to the albedo atlas, each planet used a single 2048 utility atlas for the customized PBR shaders.
Our amazing concept artists provided beautiful hand-painted skyboxes for each planet that provided ambient lighting for the level.
We used a single reflection probe inside unity. Environment artists would then edit resultant map by hand to achieve the exact look we wanted.
To keep visual parity across iOS and Android platforms, it was necessary to keep this to only 3 channels. To solve this, we combined the emissive with the occlusion channel: any values from 128 - 255 was considered emissive.
Lighting was set up inside Maya, combining information from the skybox, emissive, and placed lights to create a single lightmap using a hand made 2nd uv channel.
Pulling lighting information from Maya, we baked light probes in Unity to allow dynamic objects to receive the same lighting as the baked environment. This way, characters and destructible cover are able to move between shadow and light correctly. (While subtle here - look to the doors - this was crucial in interior spaces.)
Pulling lighting information from Maya, we baked light probes in Unity to allow dynamic objects to receive the same lighting as the baked environment. This way, characters and destructible cover are able to move between shadow and light correctly.
Distance fog allowed us to create depth and marry the levels to the skyboxes, as well as allow visual focus to remain in the arena and gameplay.
The final step is to hand off the level to our awesome VFX artist to bring the world to life.
GALLERY
A look at some of the 50+ levels in the game.
In addition to my Lead responsibilities, I contributed directly to all aspects of the environments, including models, textures & materials, design, lighting and art direction.