Dressing SailorsSince it's a core mechanic, I've spent ages thinking about and designing in how to help the players recognize and remember characters in the game. My solution so far has been to beef up the manifest, making it easier for the player to reference faces outside of flashbacks.
What I hadn't done is try to make the characters themselves more distinct. That was a mistake so a few weeks ago I decided I'd better finish the character work before spending more time on any design stuff. In this case, finishing means making all of their clothes.
RecapMost of the tool work here is based on previous work I'd done on the game's
character tools posted about here back in May fucking 2015. I've made some enhancements and extensions over the year (jesus), but it's largely the same style of "element combination" tool that combines blend targets, geometry, and texture layers to make individual characters.
Custom character building tool for Maya. Summer 2016 Edition.
Making ClothesDesigning and modeling 60 unique character outfits was, like most things with this game, way harder than I expected. I've never done anything like this before so I was mostly just fumbling around until it was done. This is the devlog-friendly sanitized process:
1. The first step was to collect reference for what people of the sea were wearing in ~1800. Google is the most useful source but I also hit up a bunch of the books I've collected.
Wardrobe reference from a Time Life book on East Indiamen
2. From there, I put everything together in a huge grid, assigning reference photos to each crew member's face. This is another case where
Scapple came in handy, just for its simple freeform image layout ability.
Wardrobe reference assigned to each sailor
3. Normally I would've just jumped right in and started modeling at this point. Something told me to add an extra step though, and this is where I figured out the value of concepting things thoroughly, which I pretty much never do. With the reference photos above, I sat down and roughed each character's wardrobe with a quick line drawing. This was useful to make sure everybody was well differentiated, and also to coordinate the identity hints that some of the outfits have (ie: all stewards look the part and have similar jackets.)
Concepted wardrobe for some stylin dude
All 60
4. Model it. This was a pretty straightforward task of taking the concepts and building them in 3D.
Modeling a collared shirt from the template shirt. Result: ship ref.
I tried to work against a few efficiencies:
- Start from a template shirt and pants set that were already textured. This allowed me to reuse the wrinkled cloth texture, which was a huge pain to draw. Luckily there's not enough detail in the game's final presentation to make this repetition obvious. And nearly every single piece of wardrobe got a draw-over with it's own custom texture elements anyways.
- Maya has a (slightly broken) feature that enables you to re-project a texture from one mesh to another with completely different UVs. It tries to match up the geometry and resample the texture from the original mesh. This was really useful when a shirt/coat/dress/whatever was a completely different shape from the templates, but could still reuse most of the original wrinkled texture.
- Standardize the waists. I didn't key into this until I'd done about 20 outfits already. Rebuilding each set of clothes from the templates was getting tiresome, especially when so many of the clothes are very similar, with just a slight geometry or texture difference. With the 20 outfits to work off of, I standardized on 3 waist heights. Every pair of pants and tucked shirt meets at one of the 3, so the geometry can be reused much more often. In retrospect I could've gotten away with just 2 heights here but the starting 20 outfits were all over the place and even cutting it down to 3 was hard.

3 standard waist heights. All pants and tucked shirts meet at one of these lines.
Final ResultAfter checking the flashbacks I noticed that 2 characters didn't actually need custom clothes. You never really see their whole outfits so I could just slap a few generic pieces on and be done with them. In the end there are 58 characters with distinctive outfits. I made all the clothes in a marathon session (10 days) and my head was a wobbly pile of mush at the end. I took a bunch of shortcuts and worked faster and looser as time went on, leaning on the game's low resolution/dark lighting/whatever to hide any flaws.
Group discount on footwear
From reference, to concept, to modeled clothes for one character. Turbanoptional.
One nice thing about finally finishing this is that crew member differentiation isn't the huge problem I thought it would be. The clothes make a big difference in keeping characters distinct and recognizable. Who knew. I'll probably cut some of the more heavyweight manifest features that I'd implemented to deal with this issue.
BugsGetting Maya to simulate cloth well is tricky. Really tricky. Cloth is hard in the first place but Maya's really gone above and beyond here. Again it includes the most basic of functionality out of the box and to turn it into something actually useful requires lots of hard work and custom scripting.
In my case, I created a general-purpose cloth simulation interface to Maya's nCloth. I want to avoid tweaking each piece of clothing individually and it took me a long time to get to a point where simulations ran mostly ok for the wide variety of clothes. This system needed to slot into the modeling pipeline here (so I could quickly test the results of the garments I was creating), and in the flashback posing scenes (where there are sometimes 40 characters present, all in different states of contortion.) Unfortunately like most things related to Maya, getting this right is a constant and ongoing process as small quirks and gotchas in the underlying implementation pop up.
Resting IntersectionsThe way cloth generally works is that you model it against your character's bind pose. Then when you want to get them into position, you have to animate them from the bind pose to the new one, letting the cloth simulation run during this transition. The fabric uses physics to model the surface and bam, you're good. Unless something is intersecting in the bind pose.
The skirt thing gets a piece of the pants along the way and flips the fuck out
One way to fix this in Maya is to give each piece of cloth a lot of breathing room in the bind pose. Without careful of tweaking though, that can end up carrying through to its final shape. As a an alternate solution, you can combine multiple pieces of cloth into one, and the self-intersection doesn't bug out quite as much.
Skirt and pants merged into one piece of cloth before simulating.
Some passthrough at the end but we've all got lives to live. Ship it.
Impossible PosesLikewise you can run into problems if your end pose isn't physically possible (the character's legs clip through each other for dramatic effect), or if the character's body clips through itself during the transition from rest to final (happens often when dying in a slump.) The cloth simulation can't resolve these collisions and you end up with a clipping, intersecting mess.
Mind keeping your legs apart, while you die?
One fix here is to pin the cloth to the character's body surface until you reach the end pose, then let it simulate for a few frames from there. That avoids the situation where freely simulating pieces of fabric are forced past/through each other. This works best if the cloth is mostly near the body.
Pinning the cloth until final pose, then letting it simulate freely for a few frames to settle
Body ClippingNo matter how hard you try it seems there's always some amount of unwanted intersection, usually between the cloth and the character's body.
Character's body (striped shirt) penetrating through the simulated cloth (dark jacket)
Usually this problem happens because the simulation just doesn't have enough points to move around and resolve things. One way to fix this is to subdivide the cloth geometry near trouble spots. If you're making a 1-bit 640x360 game, another option is to cheat and create a "dickey" texture that overlays the character's body. Then any place where the body pokes through is much harder to detect. Creating a dickey like this is made easier by both the way character models are built with my custom tools, and Maya's texture projection tool mentioned above.
Projecting the jacket texture onto the body as a dickey, then cleaning it up a bit hides the penetration.
In-Game LightingThe game has a pretty stark lighting scheme, mostly because there's not a lot of bits to work with (there's 1). Looks cool but it means that character's faces are often completely black. That works directly against the gameplay so I've tweaked the shaders to always keep the faces well lit, regardless of the lighting (this is old news, just a recap).
Do I know you?
Jim!
Now that the clothes are nearly as important for recognition I extended the tweaks to cover those too.
You rogue!
Unlike the faces though, this one needs per-flashback tweaks. Sometimes the clothes are legible enough even in the dark and the stark lighting is worth it. Also, more range in the light/texture like this leads to more dithering, which is not entirely pleasant. So brightening things up for clarity can be balanced against aesthetics.
Killin' the mood with self-lit clothes
Better