Who's the Boss? Peek Behind the Scenes at the Creation of the Boss for the Indie Game Development Pipeline
Editor's Note: The recently-released Indie Game Development Pipeline is a project that's intended to show you the production pipeline for developing your own indie game. In this post you'll get a behind the scenes look from Justin, the Lead Modeling Instructor here at Digital-Tutors, to learn about the processes he used for modeling the boss character for the game.
Only two 3D models were required for the Ghost Knight indie game project. The first was a small knight character made out of disembodied pieces of armor. The second was a far larger and more detailed boss character - a mountainous cyclops whom our hero wakes up at the end of his quest.
Kurt's concept art, which you can see above, for the creature gave me a good idea of the direction to go. His level art was also a great guide for the final look. After looking at this creature made of stylized rocky shapes, it became clear that a sculpting application would be a big help.
Building the Base Mesh
I chose ZBrush because of its ability to create meshes and modify them quickly. Once ZBrush and Maya LT were nailed down, there were still some choices yet to make.
When incorporating ZBrush with your game mesh creation pipeline, a whole range of workflow options open up to you. You can choose from those options and work in a way that makes sense for you, as long as you end up with the result you need.
There are really two meshes that you'll typically need to create. The first is the detailed, sculpted (and maybe textured) model. The second is the mesh that will actually be used in the game engine, but appears identical to the high-resolution mesh. The path to the initial high-resolution mesh is a very flexible one.
For the game boss, I needed to create a base armature that I could then sculpt with the overall features and details. I chose to use ZBrush to build this initial armature for purely speed reasons. ZSpheres allowed me to build up a bipedal character mesh of roughly the correct proportions in literally seconds. ZSphere armatures are also nice because they're so flexible. Changing shapes and modifying proportions is as simple as grabbing and moving joints around.
While ZBrush is great at quickly creating a mesh like this, it doesn't give you the fine control of the topology that you might need. So in this case I took the low resolution skin created by ZBrush into Maya LT to modify. As you can see in the screenshot above, I added the large mouth and the hands using the great polygon modeling tools in Maya LT.
It's important to point out that I'm not creating the final game mesh in the image above, but a base mesh made specifically for the sculpting process. Whereas a game mesh might be optimized for movement and based on existing details, the sculpting mesh should be made of evenly distributed and shaped quads.
Sculpting in ZBrush
Once this newly modified mesh was created, I transferred it back to ZBrush to begin the sculpting process. There are multiple routes you could take from this point, such as using the base mesh as the low resolution for multiple subdivision levels, or you could create a DynaMesh and continue to modify the shape.
For the boss, I decided on DynaMesh because it's great for adding these large, rocky shapes to the mesh due to the way it recalculates the mesh to include any new details. DynaMesh is also a great solution for adding new pieces like the breakaway brow-cliff on the creature.
Once all of the larger shapes were nailed down, it was time to set up a multi-resolution sculpt. Because a lot of new shapes were added, a new base level would need to be created. That's where the ZRemesher came in. By setting a low polygon count and letting it work, an optimized base was created that took into account all of the new detail. I could then subdivide that mesh and re-project the high resolution details.
From this point on, I concentrated on detailing the rock giant. It was important for him to appear rocky and "mountain-like" while also adhering to the look of the environment. This meant creating very stylized peaks and crevices. The Trim brushes worked well for this and allowed me to quickly create facets and rocky shapes. The Crumple brush was also used as a really quick way to add some subtle striations and break up smooth expanses of geometry.
Texturing the Boss
Once the sculpting was done, I began the texturing process. In ZBrush, UVs aren't required until you want to output your texture so I put the UVs off until later. In order to give the surface a quality that matched the artwork I bumped up the ambient color and tweaked the diffuse and specular to reduce the 3D shading.
I also imported the level artwork so I could sample colors for the boss's texture directly from the background so he would match the rocks in the level. Once the boss was painted and sculpted, the fun part could begin: UVs!
The UV Master plugin was great for creating a simple layout for the main body and then I assembled UVs for all the pieces in Maya LT. Back in ZBrush, I could then create normal maps and save texture maps for all of the pieces. Once those were output, it was just a matter of exporting the base meshes and reassembling everything in Maya LT.
Tips for Transferring These Techniques to Your Project
While this method worked great for this project, there are a multitude of other workflow options, as I mentioned earlier. For instance, instead of building the base mesh in Maya LT, you can leave out the base geometry phase go all the way from the ZSphere armature, through DynaMesh, multi-resolution sculpt (skipping the ZRemesher) and texture painting.
Then you can use the retopology tools either in ZBrush or in Maya LT to create the final game model. If you're bringing your high resolution mesh into Maya LT you may want to decimate it first. This'll create an optimized and triangulated mesh.
Another workflow option you can take is to go even further with the base mesh by building up a more detailed base from scratch in Maya LT complete with the hands, mouth, and large rocky details. This base can then be detailed and painted in ZBrush. Depending on how this base mesh turns out, it can even pull double duty and be used as the game mesh as well.
The workflow that you use all comes down to preference. Personally, I like having little check points along the way where I get a bit more control over the topology, but it's really up to how you like to work or how your pipeline is set up. For the Indie Game Development Pipeline, the mountainous game boss enabled me to leverage the strengths of different applications and to work in a very flexible and customizable way.
The tools that you use and order you use them in can be different, but the end result is what's important, and the result of this indie game project, was a lot of fun that culminates in seeing the models come to life alongside some great art inside a working game.
Make sure to check out the Indie Game Development Pipeline Volume 5: Boss Character Modeling and Texturing.