Under the Helmet of the Hero 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 hero character for the game. From a modeling standpoint, the Ghost Knight game was a fairly straight forward project as only needed two 3D models were needed. One was the rock-giant boss character and the other was the Ghost Knight himself. The important thing for both of the models is that they need to fit within a painted 2D environment. Fortunately, as Kurt created that environment, he also worked up concept art for the Ghost Knight that would be a great starting point for the model. It would also end up providing a good basis for the eventual texture work.

Reviewing the Concept Art

knightConcept In looking at the concept art, a few things became clear. The most obvious of those being the model was going to be fairly simple with a lot of disconnected pieces. This would save time because topologies could differ and I wouldn’t have to worry about making everything seamless. Also, the silhouette would be important and the style of the textures would be vital. With that in mind I began work with the most prominent feature of the knight, his helmet.

Modeling with NURBS

NURBSVisor-text Even if you’re building characters that need to be polygons, as the Ghost Knight did, NURBS curves and surfaces can be a great tool in getting you to your end result faster and more easily. The visor on the helmet is a good example because it was required to curve around the helmet in multiple directions and have a specific topology that would allow for the creation of “open” slots. To create this I started by drawing out a curve for the top profile of the visor, creating a little point at the front. Then I duplicated the curves and deformed them along the side contour of the helmet. Once done with the curves, a quick Loft created the shape of the visor. In the conversion from NURBS to polygons, I made sure to add some resolution so there would be enough to extrude in the open slots.

Importance of Scale

knightScale When modeling the knight it was important to think about his eventual size on screen. He was going to be pretty small, so I had to make sure his shapes would read as someone plays the game. The oversized helmet and large plume turned out to be good design decisions as they helped immediately sell the silhouette of our character as a knight, even at a very small size.

Creating the Stylized Textures

knightMudbox-text Another aspect of the knight that required a lot of attention were the textures. It was decided early on that the knight would use a single map per channel. So the UVs were created within a single tile and a UV snapshot exported. While you could paint the entire texture in Mudbox for a character like this, I decided to set up the initial texture base in Photoshop. This really eliminated some unneeded complexity and let me organize the texture a little better. It also let me use some of Photoshop’s tools and filters to create a painterly texture for the armor pieces. Once the base texture was done, Mudbox was a fantastic tool for cleaning up seams and adding some dirt and rust to the textures. It was also great for drawing in overlapping armor plates which really added another level to the texture. For the plume texture, I tried something a little different. Because the knight needed to fit within a painted environment, I used the plume from the concept art as part of the texture. By distorting and warping the image it fit the style well, and obviously matched the concept.

Troubleshooting Issues

knightCapped When you’re building models as part of a pipeline, there’s always the chance that something will need to be modified, fixed, or added to later on. You should eliminate any problems with the geometry itself before sending it along to be rigged or textured. Check the normals, make sure the UVs are good, and get everything clean and organized. Even with that done, there will be times things need to be changed later on as problems arise or the project evolves. The Ghost Knight character is a collection of floating bits of armor and clothing, so the team had to make a decision on how to build those. Originally I closed off the openings with separate geometry and made the pieces black. That way it would be light tight and would give the illusion that the pieces are empty. Once the rigging started, however, we came across an issue that made it difficult to work with those particular pieces. The problem was that the cap pieces were separate from the armor pieces and Maya LT’s heat map skinning didn’t like that too much. In this case, it was simple to cap the ends of the geometry and make the faked inside seamless with the rest of the mesh. You can see the end result of the capped mesh in the screenshot above. Although this particular issue was ultimately made moot by an update to Maya LT, the fix was quick and really made for a cleaner model in the end and a much happier rigging artist!   From modeling the geometry to creating the texture maps, the Ghost Knight hero character was really a joy to create. It goes to show that your models don’t have to be complex to be appealing. For the fun, painted style of the Ghost Knight game project a simpler design can let you concentrate on creating more appealing shapes that the push a stronger silhouette.