Shadows of Doubt DevBlog #26: Populating the Population: Sculpting Faces
Shadows of Doubt is a detective stealth game set in a fully-simulated sci-fi metropolis! There’s been a murder and it’s up to you to solve it by any means necessary, with the condition that you keep a low profile. A unique mix of procedural generation and hand-crafted design enables every room of every building to be explored. Be sure to wishlist on Steam, join our Discord or read previous dev blog entries here!
Hi everyone! In this month’s dev blog I’m going to hand the reigns over to Miles, the talented pixel and voxel artist who’s now behind a lot of the new models you now see in Shadows of Doubt. This year one of the biggest challenges has been revamping the citizens: Part of the game’s appeal is the city’s generated population of individuals, each with their own personalities and looks. This blog focuses on the challenge of sculpting their faces…
Creating faces in low resolution
Recently we have been giving the citizens of Shadows of Doubt an overhaul. We have upped their resolution slightly, given them new clothes, and most importantly faces, with eyes and mouths and ears! We are also working on the citizen’s style choices: beards, hairdos, moustaches, tops, hats, dresses, etc. All of this should give a bit more life to the people walking around the streets of the city as well as a recognisable and individual identity.
One of the biggest challenges with voxel faces is adding subtle differences in order to generate diversity. It is particularly difficult to make masculine and feminine faces distinct and believable at such a low resolution. There are some key features that help communicate whether a face is masculine or feminine; primary details such as, head shape, brow line form, chin, cheek and jawline structure, hairline position, nose shape, lips. Then there are secondary details like hairstyle and facial hair which can be used for further emphasis.
Below is a comparison between the masculine and feminine heads and their different face shapes. I will explain the design choices I made, and hopefully, some of you can benefit from this analysis to help create your own voxel characters, or you might simply find it interesting.
Primary details
One of the most notable details is the overall head shape, more rounded for feminine heads and squarer for masculine heads. To portray roundness there is an extra voxel between the top of the forehead and the hairline, softening the interface between the face and the top of the head. For masculine faces the hairline tends to start higher up, therefore by having the forehead 3 voxels tall the illusion that the hairline starts higher up is created. In addition to this, male pattern baldness can be created by simply having the voxels of the corner of the forehead be skin coloured, which also makes the heads appear squarer.
A wider brow is a notable masculine trait, this is simply done by making the brow 5 voxels wide. Prominent cheekbones are a more feminine characteristic, however, on both styles, the face width is 5 voxels wide. Yet, by having the brow of feminine heads only 3 voxels, the cheekbones appear to sit further out and thus appear more prominent.
Another masculine feature is that of the nose, the bridge of the nose starts higher up, and this is simply communicated with having two voxels for the nose. Whereas, for a feminine face the nose is only one voxel. The added benefit of this is that it helps emphasise the roundedness or squareness of the head.
Masculine faces typically have stronger, wider chins when compared with feminine faces, however, this detail is difficult to communicate without trying to make feminine chins be only a single voxel wide or underdeveloped. Instead, simply a standard neutral ground for both chins was chosen.
Secondary details
Once these primary details are figured out, then hairstyles and facial hair can be added. Having a base hair area textured onto the head helps ensure the haircut models work seamlessly and look natural. Hair colour and skin colour can be randomised using the colour shaders and a whole plethora of unique looking citizens cans be created.
We’ll be continuing this dev blog miniseries next month with some further insights into our progress on the citizens, stay tuned!