Learning

Game Boy Pixel Art · Lesson 04 · 10 min

Making Your Character Read Anywhere

One piece of arithmetic tells you whether a sprite will separate from the ground it stands on — before you draw the ground.

Your character is a solid shape, outlined in Ink, shaded with two mids. It reads beautifully — on a blank page.

A blank page is not where it lives. This lesson is the one number that predicts whether it will still read once there is a floor under it, and it is the bridge into the tile lessons.

Watch one disappear

Chasersgaming’s CC0 knight, standing on three real tiles from stealthix’s CC0 interior sheet. Same palette, same artist’s sheet, different cells. Click through them.

Nothing about the knight changed between those three. It is a well-drawn sprite in all three cases. On the third one it is gone.

The number

Silhouette contrast is the average shade-index gap between a sprite’s outline pixels and the ground behind them, on the 0–3 scale. Measured by assets/build-examples.py:

Knight stands on… Ground average Contrast
Flat floor tile 1.00 1.99 reads clearly
Wall tile 2.57 0.44 vanishing
Void tile 3.00 0.01 invisible

Aim for 1.8 or more. Below about 1.2 the character is dissolving into the floor.

You can do this in your head

Because Lesson 01’s outline law makes a character’s silhouette nearly all one shade, the whole thing collapses to arithmetic:

contrast ≈ | outline shade index − average shade of the ground |

An Ink outline is index 3. On a floor averaging 1.0, that is |3 − 1.0| = 2.0 — fine. On a wall averaging 2.6, |3 − 2.6| = 0.4 — gone.

Which means you can decide whether a background will work before you draw it.

The trap this exposes

Run the formula on a mid-toned ground, one averaging 1.5:

Neither works. Neither can work.

A mid-key ground holds nothing. Whichever way you draw the character, the best contrast available is 1.5 — under the 1.8 you want. Ground has to commit to being light or being dark.

This is the most useful thing in the lesson, because “make the background more interesting” is the instinct that produces mid-toned mush. Interesting backgrounds are made from texture inside a committed value, not from wandering into the middle.

So: light floors

For an Ink-outlined character — which, per Lesson 01, is nearly every Game Boy character — the answer is a floor that stays light.

Keep walkable ground averaging 1.0–1.2. Put your dark values in walls, voids and structure instead.

This is not a compromise, it is what the shipped games do: a light path cut out of a dark mass. It also means the mood of a scene is set by how much wall is on screen, which is a level-design decision you can make later, rather than a palette decision you are stuck with.

The alternative — inverting the character to a light rim so it reads on dark ground — does work (try the button in the widget: the void tile goes from 0.01 to 2.99). But it means your character now fails on light ground, so you have traded one problem for the other. Pick the ground, not the character.

Check yourself

Take it further

Keep


Next up: tiles. Everything so far has been about the thing standing on the ground. The next lessons are about the ground — building it so it tiles cleanly and stays behind your characters.

Ask me anything. Send a sprite and a background and I will measure the contrast rather than guess.