Gridwright Studio

27 Oct 2026

How to Build a Haunted House Level in Isometric Pixel Art

Gridwright pack artwork for How to Build a Haunted House Level in Isometric Pixel Art

A haunted house is one of the oldest settings in games, and isometric pixel art suits it well: the player sees whole rooms at once, so you can hide a scare in plain sight and let them notice it a second too late. This guide walks through building a haunted house level on an isometric grid, from the floor plan to the small animations that make a room feel wrong.

The examples use a 32x16 diamond grid with 48 px walls, the grid of our Isometric Haunted Mansion pack, but the ideas work at any tile size.

Start with a floor plan, not with props

Draw the house as boxes on grid paper before you place a single sprite. A haunted house works when the player has to walk through it in an order you chose, so give every room a job:

  • The hall: the first room, big and almost empty, with one thing that moves (a clock, a portrait).
  • A locked or hidden room: the library or study behind a secret door, the reward for exploring.
  • A bedroom or nursery: personal objects, a sheet over a chair, a wardrobe left open.
  • The ritual room: a circle on the floor, candles, the place where the story turns.
  • The cellar: stone, coffins, the dead end the player is afraid to enter.

Keep doorways on the back walls where the player can see them coming, and put the way out of each room as far as possible from the way in. Long walks across a room are where tension builds.

Use cut-away walls so rooms stay readable

In isometric view, the walls on the front edges of a room hide what is inside. The usual fix is a cut-away: full-height walls on the two back edges of each room, and low walls (about a third of the height) on the front edges. The player still reads the room as closed, but sees everything in it.

Plan this per room. Where a low front wall meets a full back wall in the same cell you need a mixed corner piece, and where a wall stops in the middle of the floor you need an end post. Our Isometric Interiors and Haunted Mansion packs use the same 16-piece wall set for this, so a normal house can have one haunted wing on the same grid.

Decay sells the mood

A haunted house is a normal house that has been left alone too long. Instead of drawing new kinds of objects, take ordinary ones and add time to them:

  • Walls: peeling wallpaper with the plaster showing, water streaks, mould at the skirting, cracked plaster with the wooden lath behind it.
  • Floors: warped boards, a hole in the floor with darkness under it, a rug with moth holes, dust over a parquet floor.
  • Furniture: sheets over chairs and sofas, a piano with missing keys, a wardrobe door hanging open, books lying flat on a half-empty shelf.
  • Light: moonlight through a tall window with a broken pane, and candles instead of lamps.

Keep the palette narrow. Dark plum and near-black wood for the walls, a sickly green for mould, a cold moon blue for windows and puddles, and warm wax and flame colours for the only light sources. When everything else is dark and cold, every candle pulls the eye.

Scares that move: small animations do the work

In a still room, anything that moves is a scare. You do not need a monster in every room; one small loop is enough to make the player stop and look. Good candidates for 4-frame loops:

  • A grandfather clock whose pendulum swings while nothing else in the hall moves.
  • A rocking chair that rocks with nobody in it.
  • A portrait whose eyes look left, ahead and right, and glow on the last frame.
  • Candle flames that flicker at slightly different speeds, so the room never looks frozen.
  • A ghost that floats in place with its hem waving, and a ring of wisps for the ritual room.

Use state frames for things the player triggers: a coffin lid that slides open, a bookcase that swings aside to reveal a passage. Store them as frames of one sprite and pick the frame from game state instead of playing them as a loop.

Lighting without a lighting engine

Pixel art can fake light with placement alone. Put candles where you want the player to look: on a table in the middle of a room, beside a doorway, in a circle on the floor. Leave the corners empty and dark. A standing candelabra next to the one piece of furniture that matters (a desk with letters, a coffin) points the player at it without a single line of text.

If your engine has 2D lights, add a small warm light at each candle sprite and a cold, dim one at each window, and keep the ambient light low. If it does not, draw separate shadow sprites on the floor at about a third of their opacity: they ground the furniture and darken the room around it.

Draw order on an isometric grid

Haunted rooms are crowded, so get the draw order right early. A simple order that works for most isometric maps:

  • All floor tiles first, then rugs and floor marks such as a chalk circle.
  • Shadow sprites on top of the floor, before any furniture.
  • Then cell by cell from back to front (by column plus row): the cell's walls, then the door leaf and anything hanging on those walls, then the furniture that stands in that cell.
  • A piece that covers several cells (a four-poster bed, a grand piano) is drawn before the walls and furniture of the cells in front of it.

Ghosts and wisps are the exception: they float, so draw them with the furniture of their cell but give them no shadow. Players notice a ghost that casts a shadow, and not in a good way. Our post on isometric tilemaps in Godot 4 shows how to set up Y sorting so the engine handles most of this for you.

Connect the house to the rest of the world

A mansion feels bigger when the player arrives from outside. Put it at the end of a graveyard path: Isometric Graveyard & Crypt uses the same grid, so tombstones, iron fences and dead trees lead straight to the front door. Then decide what lives inside. A house with only ghosts is a puzzle game; add Isometric Monsters such as zombies and werewolves and it becomes an action level.

To try layouts before you write any code, the Isometric Builder lets you paint rooms with these packs in the browser and export the map. For more seasonal ideas, see our list of Halloween pixel art game assets.

A checklist for your haunted house level

  • Five rooms or fewer, each with one job and one moving scare.
  • Full back walls and low front walls in every room, with mixed corners and end posts where walls meet.
  • Decay on everything: walls, floors and furniture, not just a few cobwebs.
  • One warm light source per room, cold light from the windows, dark corners.
  • State frames for things the player opens, loops for things that move on their own.
  • A path in from outside and a reason to go down to the cellar.

Gridwright packs can be used in commercial games; you may not resell the files themselves. Packs released from October 28, 2026 ask for a credit: “Art by Gridwright” with a link (each pack’s LICENSE.txt says which applies). Read more in can I use game assets in a commercial game.

Found it useful? Share it

Every pack in this post is in Gridwright Studio

One subscription to the whole library and the browser tools, 7 days free.

See the plans

Packs mentioned