New Tech Day: Occluding Clothes

Hi there! Here’s a quick writeup of how we occlude wearables, mainly for coming back to when future me is puzzled over his past decisions.

No Truce’s fantastical realism does not lend itself to clearly distinguishable character classes that look so much alike you could get away with just a texture swap. What we have is more or less everyday clothes on more or less (mostly less) everyday people. That calls for underwear, shirts, pants, boots, coats, hats, gloves, etc. In other words, a truckload of assets to be combined in a truckload of ways. That, in turn, means a lot of mesh clipping if you’re not careful. The problem with careful is that it’s time consuming and not fun at all.

Naive approach

The initial plan was chopping the character base mesh into pieces and hiding the meshes not visible under current apparel. That would include chopping up shirts which could be partly covered by a coat or a jacket. And trousers which could be partly covered by various lengths of boots. Or the other way around. Referential joke: Hey, that’s even more chopping than Hugh Jackman.

“Buttoned up, under cloak, sleeves rolled, high waist pants, disco pants. WHERE DO WE CHOP?”

This is apparently where most technical artists put their foot down and ask character artists to start standardizing their clothes. But I’m a people pleaser and wouldn’t dare tell kinnas how to art, so I prefer sorting things out before opting for the “technological limitations” excuse.

A less naive approach

(Did he just call industry’s standard methods naive? Read on to find out.)
Since we’re in the privileged position of not pushing many polygons, we don’t really need the polygon reduction from aforementioned method and could actually just get away by making the underlying geometry invisible.

And once we’re just setting transparencies, we don’t even need to do it by polygon. A low-resolution map will suffice.

However, we still have a few problems to solve:

  • each article of clothing does not know what it occludes or what occludes it.
  • each article of clothing is an arbitrary soup of polygons that does not know or care where on the body it sits.

For the time being the former will be handled by a simple script which places assets into an array (hat/coat/shoes/etc)and they will occlude each other in a static order.

The latter is a more interesting task however. To avoid any time-consuming proximity baking, we will need to describe the body mesh and the wearable assets in a single topological space.

We will define an additional UV map to each asset to describe just that.

Enter the Vitruvian Map

Da Vinci would be proud.

Instead of overwhelming our 3D modelling pipeline with tens of edge loops to consider, we simply add the task of mapping your object to the Vitruvian Man above…
Jacket mapped to the vitruvian man.

…and making a little b/w map to describe where the object occludes. (could be automated I guess)


Jacket’s occlusion map to be applied to underlying layers of clothing.

In engine, we loop over the array of clothes, grab the vitruvian map as we go from outer to inner layers, multiply it to the previous ones and apply it to each layer. So a shirt will receive the jacket’s vitruvian map and body will receive the shirt’s vitruvian map multiplied by the jacket’s vitruvian map and will thus be occluded by both. Use the multiplied maps to dictate alpha cutoff and you’re done.
The jacket’s vitruvian applied to body alpha. Cascading nature of this method not illustrated.

Completely unrelated

Sometimes we keep buggy code to use for a potential dream sequence.


The Perikarnassian church

Hi! My name is Kaspar and I’m working on No Truce With The Furies as a concept artist. In this short post I’m going to tell you a bit about what goes into a background. I’ll do that by elaborating on one of the screenshots from our recent press release, namely the moody one with the bad-ass car and the rain and the big building.

001Click on the image for higher resolution

I worked on that – the Perikarnassian church. It is one of the landmarks in the game and even before I began our AD Aleksander had made this early mood concept (that’s the image above).

The environment started changing during production. First, the area is newly sketched out and a rough 3D block-in of the landscape and buildings etc gets done in Blender. At this point I look at lots of references, sketch some and discuss my ideas with the writers and the AD. Eventually I end up with this:


Based on this sketch I do some variations before going into more detail and minute variations, below, along with the original idea and the rough block-in for comparison.


As you can see by the green tick – at first we went with that one. We had to press on and before I could give it to Mikk for modeling I drew up a slightly more detailed image. In this phase I tried out some colors that would fit the mood of the place. Meanwhile I got to work on the church interior. As this is something you won’t be seeing today I’ll fast forward a bit 🙂


When you compare the model to the concept you’ll see that it has gone through some changes again. The isometric perspective can be a harsh mistress. From some angles you lose detail and other angles butcher the silhouette. In Blender I went back in and made both smaller and larger modifications to the model. There, now we could basically put it in the game! It just needs materials.


Here’s the render of the church where I’ve applied base textures and tweaked the model some more – note the angle of the roof, the tower didn’t really work visually before and I attached a balcony/boardwalk to its side among other details. Now the render’s composites (the various maps our custom shaders use) went back to Rostov, who gave it a paintover.


Et Voila! Ain’t a thing. Thanks for tuning in.

006Click on the image for higher resolution



After our press release, I’m hearing questions – and I want to answer them.

1) Is this a joke?

No. This is a real game. We’re making it.

2) Those screenshots are not real.

It’s a pretty game, yes. We are proud of how it looks. The shots have not been “treated”, however, we’ll share a video in due time.

3) So when are you going on Kickstarter?

As of now, there is no plan to go on Kickstarter. It’ll be out somewhere around the end of 2016. Delays are delays, if they happen they happen. We won’t beat ourselves up about it.

4) What about combat? Does it have combat?

NO TRUCE WITH THE FURIES has violent confrontations at set-piece moments. These are handled within the dialogue system. You can call it heavily scripted turn based combat, if you want to.

There is no real time with pause or traditional turn based combat in the game. We still have hit rolls. We have armour, lives, weapons etc. And you can die. But the action sequences are literature heavy showdowns. You can also lose these showdowns (given that you didn’t die) and the game registers it. You’re free to limp out of there and try a different approach.

5) It’s a choose your own adventure then!

It’s a role playing game. We have 24 skills under 4 stats. You can develop minute character traits and carry them from conversation to conversation. There is a large degree of freedom in the order you approach the world.

In the parts of the game that are finished, we really believe we have achieved an incredible degree of cause and effect.

6) How long is it?

The degree of cause and effect we are aiming means NO TRUCE is in many ways, the opposite of an “epic” RPG. We thought a compact and very personal story would be the best way to introduce ourselves.

The area you can traverse is a short stretch of urban shoreline, a piece of industrial harbour, a litte shacktown, the interior landscape of your alcohol-mangled psyche… and bits I’d rather not spoil now.

It is hard to estimate playtime, but if you were to hold a gun to my head, I’d say… three or four days.