In case you missed it
You might find these articles interesting
I’ve worked as a freelance pixel artist on various projects alongside my studies. I also did two two-month internships, one for Clean Cut Games where I worked on HairDash, a mobile game in pixel art, and the other for Appeal Studio in Charleroi, Belgium, where I was able to develop my skills as an aspiring character artist by working on clothing on an unannounced AA game. I will repeat the experience this summer with a three-month internship this time.
I have always been interested in character creation and started playing video games at a very young age. Over time the association of the two as a future profession seemed obvious to me. So I went to RUBIKA Supinfogame with the hope of becoming a character designer. In the second year, during an intensive week dedicated to ZBrush, I confirmed that I preferred character art and that I could perhaps become a character designer later once in the industry. Therefore, I focused completely on character art since then with the ambition of working at a large studio such as Ubisoft, CD Projekt, or Santa Monica.
My inspiration comes from these studios. I'm a big fan of the Assassin's Creed and The Witcher series. I look forward to Cyberpunk 2077 which appears to offer a grand finale to the current generation of consoles.
My biggest recent inspiration is probably God of War. All the characters are so well done, it's incredible. They had to create a new identity for an amazing license that was loved by a lot of players and managed to do better. I think it must have given a lot of people, including me, the desire to become the next Raf Grassetti!
Viking Broly: Idea & Design
I started this Viking thanks to an exercise given by Alexandre Fiolka, my character art teacher. We had about 7 months to choose a Dragon Ball character and adapt it to a style (realistic, cartoon, Toriyama style, etc.) and to a universe (medieval, sci-fi, modern, etc.).
7 months might seem long, but it was for many, including me, our first complete game-ready character and we had to do it alongside our other courses and projects.
I quickly wanted to make Broly in his primary form since I find the character quite melancholic, although he keeps a “brute” aspect. I wanted to have a portfolio piece showing that I can work in a realistic style while keeping in mind the video game companies I wish to get hired by when I leave school. My admiration for God of War did the rest. I was going to make a fantasy/Viking Broly. The goal here was not to make a historically accurate Viking but to add a Viking vibe to a fantasy character.
I started the project by looking for references. I picked a bunch of pictures from God of War and the latest Assassin’s Creed games to have a reference for the art style I was going for. I then picked a lot of pictures of Viking roleplayers and of the clothes they wear. I also looked at Dragon Ball fan arts on Artstation and Pinterest, whether it was 2D or 3D. And of course, I took a lot of anatomy references to help me in addition to the book “Anatomy for sculptors” by Uldis Zarins.
After a lot of quick sketches, I knew what kind of gear I wanted my character to wear. I wasn’t really interested in starting my character design from scratch so I downloaded a render of Alexios body from Assassin’s Creed Odyssey done by Mathieu Goulet and started painting over it.
I find it really useful to iterate on existing art if you’re not trying to create an original design because it prevents you from having the blank page syndrome. At first, I was going for an iron armor and some fur over Broly’s skirt but it was hard to recognize Broly, so I got rid of the fur and changed the iron to gold. I tried to have a lot of variation on the shoulder armor because I wanted to challenge myself to create different leather patterns and textures.
Also, I wanted to have the wrist protectors and the boots symmetrical to save me time on the retopology, unwrapping, and texturing.
Sculpting the Body
I started my sculpt with the base model our teacher provided, gave it more muscles, and blocked out all his armor and accessories to have a global overview of how the model will look like from every angle. Once I was done with the blocking, I created and simulated the pants with Marvelous Designer to have a proper base to sculpt on.
The brushes I mainly used were the ClayBuildup, Smooth, Move, TrimDynamic, and DamStandard. I also used the Orb_cracks and OrbFlatten_edge from the Orb Brush pack by Michael Vicente.
Most of the body was just a lot of struggle fighting with anatomy and searching for nice-looking shapes.
I stuck to my anatomy book and the critiques from my friends and tried to leave my model for one or two days after I was happy with it so I could come back to it with fresh ideas.
I struggled a lot to find the right shape for the torso and had to try plenty of variations before sculpting the right one. It can feel a little demotivating when you fail to find the right shape directly but I think I learned a lot in anatomy thanks to all these iterations.
Not being on a production requiring a base body, I tried to focus on the visible parts of the final character, so I did not sculpt the forearm, the beginning of the hand, and the lower body. I also detached the head from the body and hid the cut behind Broly’s necklace. It allowed me to work on the head with fewer polygons displayed.
It’s really important to keep a lot of subdivision levels for each of your subtools to have fluid navigation in ZBrush. The final model was around 120 million polygons and could still run close to correctly.
I also used a lot of layers to keep iterating safely. You can also find new shapes by modifying the strength of the layers. Keep in mind that layers increase the weight of your ZBrush file so think about merging them from time to time.
When I’m done with my sculpt I try to break the symmetry by adding scars, veins, moles and I also move the abs. At first, I sculpted the skin pores but it was way faster and easier to create them in Substance Painter. The rest will be done in the texturing part!
The hand armor was created by masking the forearm of my character and doing an extract. I Zremeshed the result so I could work with clean topology, used the Move brush to create the shape I was looking for, and added the leather contour and stitches following this tutorial by Matt Corcoran:
I moved and deleted some of the stitches to give the armor a more authentic look. I only created two stitch patterns for the whole character to have a slight variety of patterns without creating too many different types of visual noise. The big iron part was created in 3dsMax and imported in ZBrush to add details.
I created the micro details using ZBrush’s surface noise with a random leather noise found on the internet. I marked some cracks in the leather with the DamStandard brush and added some damage to the leather using some of Nicolas Swijngedau’s scars alpha. I also used them as a base for the body scars and modified them when I was satisfied with their placement.
With this said, I think I should have created my micro details in Substance Painter because it’s faster, less destructive and you have more control over what you’re doing.
For the lower part, I created a Cylinder, scaled up the bottom part, deleted the extremities, and sculpted the skirt. For the pants, I simplified the mesh I created with Marvelous Designer so it would look less noisy and have more dynamic shapes; plus, it became be easier to retopologize.
The boots were started with an extract like the hand armor. I then polygrouped the parts I wanted to have as separate subtools and group split them so I could work easily on each part. The rest was the same process as for the hand armor.
There wasn’t any particular challenging part for this character. I struggled a bit with everything because I had to learn a lot of new things. I had a lot of documentation thanks to Youtube, Artstation (Like this incredible breakdown from Bao Vu) and my teacher, so that prevented me from having any major struggles.
After the highpoly was completely done, I merged all the subtools I wanted in the same final mesh before doing a dynamesh master on the newly created subtool to close any gap that could complicate the retopology. The “optimized” high poly was then imported in 3DCoat where I could start the retopology. There’s no particular reason to choose this software, I was just comfortable with it since I used it to retopologize clothes during my previous internship.
I did the same for each part of the character and imported everything in 3dsMax to do the unwraps. Nothing crazy here, I just checked I had a good texel ratio on every visible part and I reduced the UV size of the parts the player will not see, like the back part of the boot’s golden plates.
Some parts like the inner skirt will not be very visible, so I decided to reduce their UV space even if the player can look at them. I did this character as if it was meant to be seen from his back like in God of War, so I unwrapped my meshes with this camera angle in mind.
For the clothes, I aligned UVs vertically to match the textile pattern. The goal is to respect the rules of real-life clothing. This will simplify my texturing process later.
Finally, I assigned material IDs to the different parts of my character so I could work on multiple textures islands in the same Substance Painter file.
Once I was done with my unwraps I polypainted my high poly to create the color IDs that I’ll use in my texturing. I also renamed all my subtools according to the names I gave to my low poly meshes. I used a plugin called FJTools, brilliantly created by Florian Jonas to rename and polypaint my subtools easily.
I then exported my high poly in multiple FBX for each part of the mesh.
Here are my baking setups, I just try different distance settings to find the best distances to solve the baking problems.
I built the base of the skin of my character by following Magdalena Dadela’s incredible texturing tutorial
First, I added skin pores and some additional wrinkles using height information with the skin brushes included in Substance Painter.
After that, I added dark circles under his eyes, some color variation, and bigger pores where his beard should be. I finished by adding some dirt, sweat, and a base for the eyebrows and the hair.
I did the same for the body. The tattoos were drawn in Substance Painter, I added a Blur and a Blur Slope filter to make them look more natural.
I ended up using a “Dirt 3” noise to create a fake roughness variety on the skin pores to make them pop out.
Most of my textures are made only using a fill layer with a mask created with my color IDs. I then add generators to lighten the edges and underline the ambient occlusion. I also used the blur, blur slope, and the sharpen filter to adjust my generators. I’m not a master of Substance Painter so when I didn’t know how to do something in a non-destructive way, I often end up painting it.
As mentioned earlier, there wasn’t any leather part on the skirt on the high poly sculpt but while texturing the character I felt like it was lacking color and roughness variations in this area so I quickly tried to add a brown and glossy leather part and the character looked more interesting. I developed this idea over the whole skirt, added some dirt using a “Ground Dirt” smart mask, and ended up with this result.
Some of the stitches were made in the high poly, but I added a bit more on the skirt and collar using Safwen Laabidi’s Stitches Tool.
I did multiple exports for Marmoset during the texturing process to see how it looked “in-engine”. The roughness from Substance Painter was not the same as in Marmoset so it’s important to check if everything works while you’re texturing or you’ll waste time on retakes without knowing when and where you messed up your textures.
If you want to learn more about texturing, there’s everything you need to know on Substance Painter's youtube channel, the rest is just practice, mistakes and retakes!
Once I was done with the texturing I imported my whole mesh in ZBrush with the FBX import/export plugin with “imports mats as polygroups” checked so I could keep my material IDs. I did the posing by masking and moving body parts one by one.
I then re-imported my mesh in Marmoset Toolbag (make sure that you’ve also exported polygroups as mats) and applied all my previously created materials. Here are the settings of my camera, post-process and of the main materials for this character:
The ground was made using a 4K texture from Megascans. To create the energy ball, I imported a sphere, Zremeshed it to not destroy the Marmoset Viewer polycount, and added more spheres that I transformed in thunder thanks to the SnakeHook brush. I imported everything and put an emissive material combined with the global illumination of Marmoset.
The lighting was made of three lights and a “Bolonga Portico” HDRi.
I wanted the viewer to focus on the face and torso and therefore avoid having any big reflections on the boots to catch the eye, so, I rotated the Key light to illuminate the torso and create shadows in the lower part. The rim light detaches the torso from the background. Finally, I added a zenithal light instead of a fill light to make Broly look more divine and intimidating.
The main problem for the lighting was to get enough attention on the golden parts of the armors without creating too much focus and visual distraction with their reflections.
I finished by creating a background in Photoshop in which I could import all my captures. I painted over some minor mistakes to have a cleaner look on the beauty shot, added just a bit of color dodge here and there… AND IT WAS OVER!
The goal of this exercise was to go through the whole video game character creation pipeline.
I’ve learned a lot of things with this project and wish to learn even more in my next one. I hope you’ve also discovered one or two things reading this breakdown. If you have any questions or you’re looking for feedback, feel free to message me.
I’ll probably obtain my Master’s Degree next year, so If you’re looking for a Character Artist for your next project, feel free to contact me!