Phaser AE

Horror figure art

Pro packv3.0.0-02D and 3DLookNew

The figures and props of a first-person horror night, drawn as period pixel art: a stalker in four poses, the ghosts a scare director places at the edge of your light, and the things you pick up and hear ring in the dark.

This is a Pro pack. Upgrade to Phaser Pro to use it in your games.See Phaser Pro →

Released October 25, 2026

Horror figure art: a screenshot of its demo
A note about these graphics

Expansion packs don't come with graphics. This screenshot is one way of drawing what the pack does, made for its demo: none of the sprites, tiles or backgrounds in it are in the pack.

That's by design. A pack is a game's logic, mechanics and effects, and it works with whatever art you give it. Some packs draw effects, backdrops or 3D scenes of their own, but none carries a game's sprites.

So the look is yours. Make the art on phaser.io, bring your own, or let your agent draw it in code: the same pack can look like anything.

What it does

A horror game needs its monster and its ghosts on screen before anything else is frightening. This pack has them ready as billboards: pictures that stand upright and turn to face the camera, in the low-resolution, hard-edged style of the early 1990s, where the darkness does half the work.

The stalker comes in four poses drawn as one figure: standing and facing you, mid-stride, lunging with its long fingers spread, and seen from behind as it walks away, so a game can show the right one for where it is and where you stand. The runner has two strides and the monk two steps, side-on, and each can be painted mirrored for crossing the other way. The rest are single pictures: a pale woman in a hospital gown, the face that stands behind you in a mirror, a shade of black smoke with two pale points for eyes, a gaunt face gripping the bars of a grate.

The props are the night's objects: fuses and torch batteries to collect, a flask of lamp oil for a lantern, an old telephone and a transistor radio that ring, a book that falls from a shelf, bones that drop from a niche and a bronze bell. Pictures are found by name, so the names a horror director's scares show find their art without any mapping.

Features

  • The stalker, four ways — facing, stepping, lunging and from behind, drawn as one figure so the poses line up.
  • Ghosts for every scare — a still apparition, a runner in two strides, a mirror face, a shade, a monk with a candle and a face at a grate.
  • Props for a night — a fuse, a battery, a phone, a radio, an oil flask, a book, bones and a bell.
  • Found by name — exact ids, or a guess from the words (a ghost, a monster, an object, a skull).
  • Mirrored on request — side-on figures painted facing both ways.
  • Crisp in the atlas — painted with smoothing off, standing on the bottom edge of their frames.

Good for

  • First-person survival horror — a monster to hide from and the ghosts that keep you on edge.
  • A haunted-house walk — apparitions, a procession and a tolling bell with no monster at all.
  • A horror director's presenter — every figure and pickup its two sample nights name.
  • A retro dungeon or a shooter's horror level — a few frightening billboards among the usual enemies.
  • A prototype or a jam game — figures that look the part while the real art is made.

Make it yours

Load only the pictures a game needs, under any key prefix, at a larger scale for a figure drawn very big, and mirrored for side-on figures. Name the picture for each of your own names ({ id: 'nun', art: 'apparition' }), or let the words in a name find one. Every picture is painted under a key a game can paint over with its own art later, and the picture data is there to use some other way. How a figure is lit is the game's: drawn lit by the scene, or unlit and tinted by the light that reaches it, which keeps a pale figure's detail close to a torch.

A quick look

Paint the stalker and show its lunge on a billboard.

const art = await game.horrorArt.load(['stalker', 'figure', 'battery']);
const stalker = art['stalker']!;
const [h] = view.billboards(stalker.key).get('stalker');
h.frame = game.assets.frames(stalker.key) + game.horrorArt.pose(stalker, 'lunge');
h.sy = 2.3; h.sx = 2.3 * stalker.aspect;

Works with

Good to know

  • The pictures were made once with an image model and ship with the pack as 256-colour PNG data, about 220 KB in all. They are not generated at run time, and the same prompts give different pictures if made again.
  • Decoding the pictures needs a browser; on a server or in tests the frames exist but are blank.
  • Figures are drawn from the front (the stalker also from behind) or side-on, for billboards rather than models.
  • Pale figures under a strong torch can burn out white; tinting them by the light that reaches them keeps them readable.

More Look packs

Show all →