Fortress Occident Developer Blog

Comments

Gorgeous ground

We’re working furiously towards an internal milestone build which should have most of the important dialogue and world interaction mechanics implemented which is why it’s so hard to get anyone to write about it. We’ll have some juicy stuff to show soon though!

We use Blender to make and render out the “underpaint” of our background art and I recently made this monstrocity of a megatexture/megashader to make it easy to paint out the sandy beach areas for the game. It’s basically your regular kind of masking magic but it has some clever tricks. For instance I set it up so you can mask over the regular displacement & normal maps with a messy one so you can easily paint in a path where people have walked. Mixing and matching textures with different normal maps gives more variety and a more organic feeling to it so you can have for instance seamless footsteps in an otherwise pristine windswept wave pattern part of the beach. And you can paint beach clutter and it has all the alphas set up so it mixes seamlessly with the underlying texture which is nice and convenient.

It’s in fact so nice I’ll be a bit sad going in and painting all over it.

Here’s a look under the bonnet at the node cthulhu which makes it happen:

Comments

Cognitive orbit

Taking a break again from picture math and from being a weather god. Never a dull moment around here.

Here’s a little part of a feature we call Sense Overlay. The gist of it is, the world will have interactable objects marked by outlines and in some cases orbs. While interactions with visible objects are placed within world space, other senses (smell, hearing) that do not have a pinpoint location are placed in an orbit around the player’s head. Because if you happen to be a humanoid, that’s where most of your sensing happens.

This concept art depicts your sense of smell being a bit… saturated by your surroundings.

Here’s a very early go at programming it, along with a bit of clipping. Devlogs are never complete without a bit of involuntary clipping.

You press Tab to call up your Sense Overlay which includes the selection ring becoming an orbit of sense orbs (affectionately named Hula and Halo by the programmers). This was a quick update, more on those bad boys later.

Also. After a motherboard crash in the studio, I got to work on my crappy little laptop for a while and decided to give up my beautiful render-to-mask highlight system. Rendering the whole scene with replaced shaders and edge-detecting the result in post-process seems to hog up a bit too much GPU time, even after several optimizations.

We are aiming the game for oldish hardware as well and thus might have to make do with the good old mesh extrusion method. Will have to review the asset creation pipeline because those sharp edges are going to be a pain.

Any ideas on efficient silhouette highlighting when your model has split vertex normals?