Shaders can sound a little intimidating at first. They’re one of those things you often hear about in game development, but might not really know what they’re for.
In our game, we use shaders to add a little bit of life to the world, especially for things like water, clouds, weather, and small visual effects. So, what exactly is a shader?
What are shaders?
Very simply, a shader is a small program that tells the game how something should look when it’s drawn. Instead of drawing every frame of an animation ourselves, we can give the shader a few rules and let it do the work for us.
For example, rather than drawing lots of different frames of moving water, we can use a shader to make the water shift and change over time.
It’s a bit like giving an artwork some little instructions for how it should move.
Where do we use them?
Water is probably the most obvious example in our game. We use shaders to add subtle movement and variation, making otherwise static water feel a little more alive. But they’re useful for lots of other things too.
We use them for clouds, weather effects, and various smaller visual effects throughout the game. They’re especially nice for effects that would otherwise require lots of hand-drawn animation frames.
The tricky part: pixel art
Of course, there’s a small catch: Shaders are very good at making things smooth but smooth isn’t really what we’re going for.
Our game uses pixel art with a deliberately limited color palette and crisp edges. A shader can easily introduce soft gradients, extra colors, or movements that don’t quite line up with the pixel style. And suddenly our cozy little pixel art water starts looking a bit too realistic. So we have to put some limits on our shaders.
Instead of allowing smooth transitions, we use a small number of colors. Instead of perfectly smooth movement, we snap things to the pixel grid. We essentially take some of the things that make shaders look nice and smooth and deliberately make them a little more chunky.
And that’s actually one of the fun parts. The goal isn’t to make the most impressive or realistic water shader we can. It’s to make a shader that feels like it belongs in our game.
A little bit of magic
That’s probably what we like most about shaders. Our water artwork can stay relatively simple, but a few little rules running in the background can make it feel alive. The same goes for clouds drifting by or weather moving through the world.
It’s a nice way of adding those tiny details that make a world feel a little more cozy and alive, without having to draw every single frame by hand.

