Lesson 01 · Top-Down Pixel Art

The Top-Down Contract

Before you draw a single prop for the game, decide where the camera is — and write it down.


You are going to draw several hundred assets for this game, alone, over months. What will make them look like one world is not talent and not detail. It is that every one of them was drawn from the same camera, under the same sun. That agreement is the contract, and it has three clauses.

Two props, one camera

Here are a crate and a pot from the same artists' asset pack. Different shapes, different silhouettes — and the brackets show they were built to identical proportions.

Both objects are 14 px wide. Both have a 9 px top face and a 4 px front face. That is not a coincidence and it is not taste — it is one camera angle, applied twice.

This is what a contract buys you. The two sprites can be dropped into the same scene by different people, months apart, and they will agree.

Clause 1 — Depth compresses. Height doesn't.

You are looking down at the world at an angle, so you see both the top of a thing and its front. Three world directions map to the screen, and only one of them shrinks:

World axisGoes toScale
Width (left–right)Screen X1 : 1
Height (up)Screen Y, upward1 : 1
Depth (away from you)Screen Y, downwardcompressed

How much is a choice, not a law. You can measure it off real art: the crate above is 14 px wide, and a crate is about as deep as it is wide, so its 14 px of depth were drawn as a 9 px top face. That is a compression of 0.64 — near enough two-thirds. The pot lands on exactly the same number.

top face height = depth × ⅔
front face height = object height
sprite height = (depth × ⅔) + height

Do that arithmetic before you draw. It takes four seconds and it is the entire difference between an art set that holds together and one that drifts.

Here is the same crate with only that one number changed:

Left: the lid drawn at its true depth, so the camera is directly overhead and the object has no height. Right: the lid crushed to 3 px, so the camera has fallen to eye level and this is now a side-scroller sprite. Both are the real crate, mechanically stretched — the artist's pixels, one number changed.
The trap

Do not memorise “9 pixels of top and 4 of front.” That is true of a crate and false of everything else. A fence post is barely deep at all, so it is nearly all front face. A coffin lying flat is barely tall, so it is nearly all lid. Memorise the compression, and derive the pixels per object.

Different pack, different artist, same idea — look how far the ratio swings once the objects stop being cube-shaped:

Kenney's Tiny Town (CC0). A post is almost entirely front face; a log lying across the ground is almost entirely top face. Same camera throughout — the ratio is an output of the object's shape, not a style choice.

Clause 2 — Value steps down as a surface turns away from the sky

At 16 × 16 with four colours, you cannot render light as a gradient. You have to render it as an order. Look again at the crate's palette, sorted light to dark:

The artist assigned those in order. The lid — pointing at the sky — takes the lightest value. The front face, turned away, takes the next one down. The base shadow takes the next. Nothing is lit by feel; each surface simply steps down as it turns away from the sky.

The rule you can actually apply at this size

Do not ask “where is my light?” for every pixel. Ask “which way does this surface point?” — sky, sideways, or hidden — and take the value that goes with it. That decision is repeatable at three in the morning on your two-hundredth prop, and hand-feeling the light is not.

Once the ordering is right, you spend whatever colours are left on left–right bias. The pot does exactly this: two pixels of the lightest value on the lower-left of its body, and nothing on the right.

The same sprite, flipped. Neither looks wrong on its own — that is exactly the problem. Put them in one scene and they disagree about where the sun is, and the scene reads as cheap long before a player can say why.

Pick a side once. Top-left is conventional and there is no reason to fight it. The check on any finished sprite: squint, sweep from the top-left corner to the bottom-right, and watch the values only ever get darker. If anything brightens along that diagonal, something is lit from the wrong side.

Why this matters more for your game than most

You are making a bleached, sun-scorched western. Your horror comes from a hard, high, merciless light, not from darkness. That means light direction is doing almost all of the atmospheric work. A game where the sun wanders is a game with no weather at all.

Clause 3 — Contact shadows, never cast shadows

Every object sitting on the ground gets a short dark smudge at its base. The crate spends its bottom two rows on one — its darkest non-outline value, hugging the base and nothing more.

The middle crate is the real sprite with the artist's two shadow rows deleted and nothing else touched — and it hovers. The right one is anchored, but its shadow leaves the tile.
Shadows should be “subtle and not cast out long in any particular direction, as to minimize conflicts with overlapping adjacent tiles.” Raymond Schlitter, SLYNYRD — Pixelblog 21: Top Down Objects

This is a tilemap constraint, not a preference. Long shadows are gorgeous and you cannot have them, because you do not know at draw time what will be placed to the right of the object. Keep the shadow on its own layer so you can move or drop it later.

Drill 1 — Which clause broke?

Every sprite below is real public-domain art, or that same art with exactly one clause mechanically broken. Name the clause. Answer from memory rather than scrolling back up — the effort of retrieval is what makes this stick, and getting one wrong now is worth more than getting it right by looking.

Drill 2 — Copy the crate

Now make one. Study-copying a sprite you admire is the oldest exercise in this craft, and it is the fastest: you find out what you actually understand the moment your version stops looking like theirs.

Rebuild the crate from memory. Its palette is loaded and locked. Hold peek when you are stuck, but draw from the peek, not during it.

Judge it at 1×

The 1× preview in the corner is not decoration. Players see pixel art at 1× or 2×, in motion, half-occluded. Almost every mistake a pixel artist makes is made while zoomed to 800% and believing what they see there. Check the small one.

Take it into Aseprite

The browser canvas was a warm-up. The win is one real asset in your project folder — and it should be yours, not a copy.

  1. Load the study palette. Download study-palette.gpl — the crate's own four colours — then in Aseprite open the palette menu (the small bars above the swatches) → Load Palette File.
  2. Turn on Pixel-Perfect. Select the pencil, then tick Pixel-perfect in the tool bar. It suppresses the doubled corner pixels that cause jaggies.
  3. New sprite, 16 × 16, RGB. File → New.
  4. Three layers, bottom to top: shadow, form, outline. Draw the contact shadow on its own layer from the very first asset — retrofitting that across fifty sprites later is miserable.
  5. Draw a dynamite crate, not the crate above. Same camera, same value ordering, your object: roughly 12 wide, 12 deep, 8 tall, so an 8 px lid and an 8 px front face. Four colours, no more.
  6. Check it at 100%. View → Zoom → 100%, or press 1.
  7. Save it into the game project as props/crate.aseprite and export crate.png. This is asset number one.
Read this next

The best free resource for exactly this camera at exactly this resolution is Raymond Schlitter's SLYNYRD series. Read Pixelblog 21 — Top Down Objects (props, 20 minutes), then Pixelblog 20 — Top Down Tiles when you are ready for terrain.

For pixel-level technique — clusters, jaggies, banding — go to Pedro Medeiros' Pixel Grimoire. Both are in RESOURCES.md.

What the example art can't teach you

Both packs used above are bright and friendly. They are here for the craft — camera, proportion, value order, shadow — and they are no use at all for your tone. For that, study shipped work: Blood West, Westerado, and the sun-blasted palettes of Blasphemous. Tone is a later lesson and it is mostly a palette problem.

What this unlocked

Next is almost certainly palette construction for bleached dread — your whole mood rests on it, and Clause 2 just showed you that value ordering is the load-bearing part — or silhouette and readability at 16×16, the constraint that decides whether a gallows reads as a gallows or as three sticks. Say which you want.

Ask your teacher. I'm here for this. If a clause didn't land, if your crate failed a check you think it shouldn't have, if you want to argue that a long cast shadow would actually look great in a bleached noon scene — bring it back to the chat. Half of what's worth learning here comes out of the follow-up questions, not the lesson.