Storytelling Through Details: Sculpting Souls-Like Corvus Soldiers
Quentin Riviale talks about the challenges of balancing visual richness and clarity when it comes to creating characters for games, discusses the importance of using subtle visual hints to communicate crucial information to a player, and explains how he made his 3D character sculpt come to life as a 3D-printed figurine.
Introduction
Hi, I am Quentin, a 3D Artist specializing in game production. I graduated from the Game Art Master's program at ISART Digital Paris in 2014, after completing a Bachelor's program in Applied Arts. Since then, I have been working with real-time 3D workflows and technologies, not only for games but also for other innovative applications. Among them, I have created numerous 3D environments for virtual production with Unreal Engine, using different technologies: tracked additive AR, greenscreen keying, and LED wall setups.
On a personal note, I have always been a sketcher and a photographer, and I recently experimented with metal-cast sculptures using 3D printing, mixing traditional craft and digital tools.
Returning to video game production, I will break down my latest work for Floppy Goat Inc.'s upcoming title, Isles of Krom. This project is the perfect example of a real case in the context of small indie production.
The Concept Behind the Corvus
In Isles of Krom, players get to play as both the 'middle management' and the expendable cannon fodder recruits of the Corvus, a mysterious organization trying to resist the supernatural invasion of the Krom Archipelago. Every warrior who falls in a battle eventually becomes part of the plague itself.
The game is a top-down roguelite RPG set in a medieval fantasy world, with a visual identity heavily inspired by the 1980s movie aesthetic mixed with Gustave Doré's highly contrasted chiaroscuro.
The appearance of the regular Corvus militia is important because it has to extend the big story without words. Storytelling through visual design is my favorite aspect of creative development. Before anything else, it is important to be aware of the production context, because it actually dictates many choices. The development given to each asset of the game should match its importance/visibility in the game and the overall scale of the production. Moreover, many workflow and technical constraints have to be kept in mind during the design process.
Before aesthetic considerations, you need to think of ways to inform the player: how dangerous is that character? Which faction does he belong to? How is he going to fight? What are his weaknesses? After that comes the narrative aspect.
I am not an illustrator; my sketches are only there to communicate ideas, concepts, and moods, fast. I iterate on them very quickly. I also regularly switch to rough 3D sculpting in ZBrush to explore ideas in 3D and see whether a concept actually works in volume.
At first, I didn't want their bird-like appearance, which visually ties them to the Corvus faction, to be too obvious or too literal, so I explored several directions. However, I eventually came back to a more straightforward design: scattered feathers, a large beak, and a bird-tail shape on top of their thin legs. The player has to get the connection right away.
Vassili Etienne, Art Director and Floppy Goat Inc.'s Co-Founder, wanted the lower ranks of the Corvus to look miserable and alienated. I added some hints: the armor pieces are held together by a crazy number of belts attached from the back. Is he a prisoner of his own clothing? The padding of the gambeson could almost be that of a straitjacket. I intentionally misaligned the different fabric patterns. The candlelight on their heads, which turns these guards into useful lamps in the dark Corvus dungeon, is also a way to emphasize their dehumanization.
I wanted to step away from the usual fantasy tropes and bring back a more authentic medieval aesthetic. Too often fantasy designs are only inspired by other fantasy designs, making them feel generic. At first, Vassili was quite skeptical about the high-waisted tights, fringed boots, and quartered color scheme, as he worried the character wouldn't be taken seriously. But I convinced him that this contrast would actually make these deranged soldiers even more unsettling. I also wanted to emphasize how vulnerable they looked inside their cold, uncomfortable, oversized armor.
The bird-tail gambeson stayed almost unchanged throughout the concept iterations, leaving room for more heavily armored characters later. I explored many shapes for the head. What I like about production is that you often get to develop a variant proposal that you otherwise wouldn't have bet on.
The variant that made it to production has some kind of self-inflicted scars on its armor and collects strange golden feather artifacts randomly scattered all over its gambeson like piercings or medals. I imagined them as collectible rewards or currency used to rank members within the organization, an obsessive display of status, but also as a way of helping the player understand their importance. I like stitching small stories into the larger lore, giving meaning to visual design choices, and Vassili was very open to this approach.
Sculpting
The top-down camera and the fast pace of combat are the main aspects to keep in mind when designing the silhouette.
Since the player can loot and equip the gear, every piece had to work within the game's equipment system and animation template, including compatibility with other dynamic assets, such as a simulated cape, without clipping.
To accommodate the distant camera view, details have to be simplified and exaggerated. Thickness needs to be increased, which is a real challenge when trying to create a believable articulated suit of armor. Typically, the number of belts had to be reduced from the concept sketches to allow for the necessary thickening.
As usual, I keep the shapes and polycount simple in ZBrush until the very end, adding details only once the main volumes are established. I manipulate these low-poly geometries with Dynamic Subdivision on. I progressively split the SubTool, starting from a single one (but one SubTool can hold multiple meshes) and separating the different pieces little by little. It's all about manipulating conveniently.
I remesh very frequently, trying to organize the silhouette around support edges early in the process while keeping the shapes clean and readable. For this aspect of the workflow, I received a lot of helpful advice from Charles-Victorien Kaing, Senior Character Artist at LEGOU Games, on getting the most out of ZBrush for character workflow.
Up until I reach the polishing stage, I use a very small variety of brushes, only the basic ones. Most of the actions are actually a combination of the Move brushes and masking tools. I also use ZModeler to shape hard-surface primitives or specific shapes.
It can happen that the subdivided base mesh stays very close to what the later low-poly retopology should be, but it should not be the goal in the process. The geometry of the base mesh is kept low-poly to be convenient to manipulate and subdivide, not to anticipate the low-poly final asset. The combination of ZBrush's different selection methods is extremely powerful here: masking tools, visibility tools, polygroups, etc.
Before making the damaged version of the armor, I shaped it in its intact form, and once I was satisfied with the result, I added the cutouts. The thickness can also be tweaked afterward, depending on the context; I did both in this project.
I started shaping most of the clothes from an extract of the character's body. When the shape of the item isn't tightly humanoid, I sculpt the changes on a body clone and then extract from it.
Knowing that the metal armor pieces would be highly reflective, I frequently switched between different material captures to make sure the model would be perceived as intended.
It is also useful for checking the silhouette and surface details. For reflective surfaces, I never leave them perfectly straight. Even industrial objects do not have perfect reflections, and the slightest tangent variation has a big impact on glossy surfaces.
At this stage, I rarely leave ZBrush, as it allows me to maintain a smooth and uninterrupted sculpting workflow.
It is never too late to have ideas, and I added runes to the feather artifacts, inspired by Ogham, an early medieval alphabet, which fits the visual identity of the game, as they both draw inspiration from ancient Britain.
Low Poly, Material IDs & UVs
I usually do the final cleanup in another app: UV unwrapping, material distribution, mesh separation, and naming are all handled outside of ZBrush.
The low-poly geometry is a compromise between the performance budget, fidelity of the high-poly sculpt, skinning and animation intentions, intended importance, and camera view, principally.
I distribute UV texel density according to the in-game visibility of each part. The head, shoulders, and weapon receive the most attention, while the inside of sleeves and the back sides of armor pieces receive less.
Some parts, like the gambeson, have been modeled a bit further than they would be visible to anticipate a future reuse for other Corvus characters that may not wear a gorget covering the top.
Texturing
Through the texturing process, materials become an extension of the modeling work and help carry the storytelling further. I used Substance 3D Painter and took advantage of the wide variety of parametric masks that can be generated from different pieces of mesh information.
At this stage, it is interesting to challenge the initial concept with different trims and colors. I came up with the idea of creating two variants to clearly distinguish Corvus soldiers from their fallen, corrupted counterparts. Two texture sets based on the same mesh were made, one for the deranged Corvus militia fanatic, the other for the corrupted fallen soldier. I had to be careful, as both variants should look worn, but at a different level.
In production, creating distinctive variants throughout different texture sets is an excellent way to increase the diversity of the content without putting an excessive effort (read cost) into it.
The color scheme of the Corvus is gold and green. The more gold, the higher up in a character is in the organization. Washing away the colors on the corrupted variant is a way to emphasize the character's lost obedience to the order.
The head and hands of the poor Corvus recruit get a separate material, as they use the character generator system developed by the studio. It randomly combines different appearance variations to bring diversity to the characters' looks. The rest is combined in a single standard PBR material.
The different weapon sets had to be linked to the armor suit clearly and follow the same visual DNA. The bitmaps are, of course, exported packed, following Unreal Engine's standard template: normal, albedo, occlusion + roughness + metallic.
In the Game
The rendering of Isles of Krom is stylized, with surreal lighting. I made sure that the materials I created behaved as intended by previewing them directly in the game engine, Unreal Engine 5, and tweaking them accordingly.
Metallic reflections in particular can look very different depending on the lighting conditions. There were some visual iterations to decide where, between the bright polished armor from Excalibur (1981) and the dark, grim decaying atmosphere of Elden Ring, we wanted the armor materials to sit.
Several weapon sets are planned, matching the different gameplay archetypes of the game, where the combat system is heavily inspired by Souls-like mechanics.
Since the character is a simple soldier and is meant to appear multiple times on the screen, I created several candlelight variants that can be distributed randomly among them. A reasonable idea that is not too heavy to implement and has a significant visual impact.
The player wearing the armor set would carry no candlelight, visually distinguishing him from the rest, both from a game design and narrative perspective. Ideas keep coming through the development process.
Posing
I wanted to go further than the neutral T-pose required for rig integration, and creating a real-life figurine became the perfect excuse.
The impact of posing should not be underestimated, as it's one of the foundations in sculptural art, giving both dynamism and temper to the subject.
I wanted to express the regimented, somewhat miserable aspect of this soldier, while still showing that he remains a dangerous and determined fighter, through a simple and static pose. He is therefore slightly hunched, with his back bent. I broke the symmetry throughout the pose. I paid a lot of attention to making the balance feel believable with a slight hip shift. This also helps prevent a static pose from becoming boring.
I also created a custom pedestal that contributes to the character's storytelling while referencing one of the game's major features, but I won't say more about that for now.
The Transpose Master tools in ZBrush are extremely handy for changing the character's posture, before inevitably reworking the individual details. At this stage, I could also make use of the Sculptris Pro mode.
Saving the main steps during the modeling process was sometimes handy to later adapt the asset for 3D printing. I also used the baked normal map (later converted to a heightmap, then to displacement) and the low-poly game asset specifically for the gambeson, to get the flexibility in posing without impacting the detail of the high-poly sculpt I'd already done.
I added detail to the head and hands, as they were no longer part of the game system character generator. I also tightened the gorget armor in the back, since there was no need to leave room for an animated cape anymore.
Printing
3D models created for game engines and those designed for 3D printing have very different requirements.
Switching from one purpose to the other requires a number of adjustments. From an artistic point of view, the model is now designed for a specific physical scale. The level of detail has to be adapted both to how it reads at that scale and to the technical limitations of the printing process. In addition, the object's center of gravity, the thickness of thin elements, the overall rigidity, and the feasibility of certain shapes all have to be taken into account.
From a technical point of view, the model's topology has to be perfectly rationalized. The miniature has to be a single piece with a continuous closed surface, without any intersections or overlapping geometry. Obviously, the more complex and detailed the model becomes, the more challenging the merging process is.
ZBrush has a dedicated set of 3D printing tools, 3D Print Hub, that makes model scaling, proofing, and exportation a casual action. It even gives a volume calculation, that I regularly check when I plan to do a metal cast.
3D models for printing are conceived with a minimum size requirement, mostly defined by the printer capabilities (and also the metal cast properties when that is the goal). Because I wanted to preserve as many details as possible, I chose to print the miniature at a relatively large scale, with a minimum size of 15 cm.
By the way, there is no maximum as long as your printer can handle it, so I took advantage of mine and also made a 25 cm model in one piece.
It is also possible to segment the model into different pieces, which is more work to do both before and after printing.
In practice, I reworked all the thicknesses, enlarged many details such as the rivets, and carefully minimized the number of narrow gaps between multiple elements, such as the overlapping belts around the character's waist and neck. I simplified the feather attachments as their small ring shape would not have been convenient. I also opened the long sleeves as skinning was not a constraint anymore.
Furthermore, I enlarged sections of thin parts such as the long coat, while keeping its edge sharp, to preserve the illusion of a slender volume. This trick works well on tubular shapes.
In general, it is nice to increase the sculpted details to compensate for the inherent absence of texture. Interestingly, I had a CGI habit of beveling every sharp edge to some extent to better catch the simulated light. But when 3D printing, real physics apply, and it is not always necessary to do so (even less with metal casting, since the polishing step will smooth it all out).
However, though 3D printing preparation comes with some constraints, it also has advantages: without the limitations of poly count or the number of physical elements, I took the opportunity to increase the number of feathers attached to the gambeson.
I printed the models hollowed out to save material. The slicer can generate a lightweight infill structure to maintain the overall rigidity. Reducing the weight also allows for thinner supports, minimizing their impact on the model's surface.
At such a small scale and with this level of detail, the 3D printing technology used was, of course, photopolymer resin. In this specific case, it was water-washable resin, which trades some detail accuracy for easier handling.
Most of my printing and processing gear comes from ELEGOO. I appreciate their user-friendly approach and smart designs, even if their baroque futuristic aesthetic can sometimes be a bit much. For simpler prints, I use CHITUBOX as my slicer software.
There is always something particularly satisfying about bringing a digital creation into the physical world!
Conclusion
Going from a 2D concept to 3D production is a good way to avoid the design being bent into a comfortable 3D rationalization. When prototyping in 3D only, I can end up with technically reasonable shapes, limiting creativity. Of course, I cursed myself for these long open sleeves, this armor pierced by many cracks, and those dozens of belts and feather pendants. I found a lot of pleasure in exploring ideas through sketching.
It was interesting to push the technical limits of 3D printing, with such thin elements.
I noted that if the model had been intended solely for printing, I would have posed the character earlier in the process, before applying some details.
This two-purpose production highlights the difference in workflows and design choices depending on the actual use of the asset. Another completely different case could have been a high-definition model for precomputed rendering.
After six years of leading a small team as an Art Director, I relished the opportunity to return to hands-on production, focusing on one piece of a much larger whole. I wish Floppy Goat every success with their game; they deserve it!
This project was a great opportunity to explore the full pipeline for character production, from concept to final asset, and I am excited to continue contributing to new projects in the industry.