In this update6
Full notes
Full Static Dread: The Submarine update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Maps
- Gameplay
- Performance
Static Dread: The Submarine changes
Hi everyone! My name is Danis, and I’ve been working in character animation for 10 years.
Today I want to talk about how the characters and animations were created in Static Dread: The Submarine, and why the transition from 2D to 3D turned out to be both the best and the riskiest decision for an indie project.
In large game studios, each stage is handled by a separate specialist, but in the reality of indie game development… I appointed myself “Lord of Characters” and approached the task as a single, unified pipeline. This helped me avoid getting in my own way at every subsequent step.
During development, I drew several conclusions that I’d like to share.
If you can reuse it – reuse it
All characters in the game were created based on a single base mesh. It already had a solid foundation: loops on the face, limb joints, and fingers, a uniform editing mesh, and UV mapping. The bare minimum.
Each character in the game uses ~3,000 polygons. And 2–4 textures, which are compressed to 512x512 in the engine. By modern standards, that’s the polygon count of a pigeon flying in the background in some Spider-Man game, and the hair texture in a metahuman character’s nostril. But for the PSX-era aesthetic, it’s exactly what’s needed.
Old-school animation works
Steam post imageSteam post image
For facial expressions, I decided to use an old-school approach inspired by games like Half-Life, where the mouth was controlled by just one bone.
We use only 5 bones for the mouth:
jaw
upper/lower lips
left edge/right edge of the lips
This is enough to convey phonemes and emotions while maintaining a slightly angular style that fits well with the retro visuals.
Don’t be afraid of unusual solutions
Perhaps one of the most unusual solutions that emerged during development is how the eyes are made!
The usual way:
The eyeball (a separate mesh), eyelids, sometimes eyelashes/pupil animation.
Why that didn’t work:
We have an expressive PSX style with polygon count limitations. We would have had to deform the head model for the eyeballs, which would have strayed from the concept.
In the end, I completely removed the eyeballs.
How the UV-eye works: A small plane with an eye drawn on it is used, and it moves along UV coordinates. A separate bone extending from the head is used to determine the direction of gaze.
The SALSA plugin reads the direction of this bone, and a custom shader shifts the UV coordinates of the pupil.
Every character comes to life through the little details
In the first version of the animation system, there were only two states – they were either standing or talking.
Then I started to expand the animator. First, I added several variations of idle and talk – now characters in different scenes and situations would wait for the player and engage in dialogue in different ways.
And then the behavior animation system was introduced. Now a character can start stretching, looking at their nails, glancing around—performing their own unique habits.
Just a couple of seconds of random animation is enough to make a character stop looking like a mannequin.
Old tools save time
The main tools for working with characters in Unity became the SALSA plugin and Magica Cloth. I was already quite familiar with them.
The first is used for lip-sync and facial expressions, while the second is for quick and convenient setup of cloth and hair physics.
As an extra step, I had to write a few small scripts that control when and which animations can be triggered, and that’s it.
Conclusions
The transition from 2D to 3D turned out to be labor-intensive, very interesting, and opened up a huge number of new possibilities.
And the best part is – the characters are finally no longer just GIFs. They’ve started living their own little lives inside the submarine.
Static Dread: The Submarine is still in development. If you’ve enjoyed this behind-the-scenes look, please consider supporting the project by adding the game to your wishlist.
Thank you all, and have a great day!
Source
Changelog.gg summarizes and formats this update. How we read updates.
