Sprites for roguelikes
Roguelikes need a lot of small, readable things: traps, chests, enemies and loot. A top-down camera at 32 px and one palette keep them clear on a crowded floor.
| View | top-down |
|---|---|
| Size | 32 px tiles and characters |
| Sides | 1 for props, 4 for characters |
Sample project
Roguelike dungeon props: the .pixor project and its library model (CC0). The sheet on the left is what it renders.
What a roguelike needs
A roguelike floor is busy. You need floor and wall tiles, doors, stairs, traps, chests, urns and other things to break, a cast of enemies, and a long list of loot: weapons, potions, scrolls, keys and coins. Because levels are generated, every sprite has to look right next to every other, in any arrangement.
That is where rendering from 3D models helps. One camera, one scale and one look make a hundred small sprites feel like one set.
The camera
A straight top-down view suits grid-based roguelikes. Every tile reads as a square, and nothing hides behind anything else. If you want more character in faces and fronts, a three-quarter view works too; just use the same one for everything.
32 px is a comfortable size for tiles and characters. It is large enough for a trap’s spikes or a chest’s lock to read, and small enough to show a whole room on screen. Sprite sizes has more on choosing.
Props like traps and chests usually need one side. Characters that move in four directions need four.
Scale and pivot
Use one pixels-per-metre scale for the project, so a trap fills its tile and a bat is smaller than a skeleton. Pixor keeps one scale per project. Put the pivot at the centre of the tile for traps and floor objects, and at the feet for characters. Pixor fixes the pivot to one pixel, so the sprite stays on its tile in every frame.
Animation
Roguelike animations are short and to the point. A trap triggers, a chest opens, a lever is pulled. Characters need an idle, a move, an attack, a hit and a death; Pixor’s motion library has these for humanoid skeletons. Loot can spin, bob or pulse to show it can be picked up. Short loops of a few frames are enough at 32 px. See animation.
Palette
Keep floors and walls dark and quiet, and give the things a player must notice more contrast. Selective outlines on enemies and loot help them stand out from the floor. A shared palette keeps generated rooms consistent. Pixor has seven palettes built in and reads Lospec .hex and GIMP .gpl files; dithering is there if you want it. See palette ramps.
Free library assets that fit
- Hazards and fittings: the spike-trap, lever, door, urn, bones and wall-torch.
- Enemies: the skeleton, ghost, spider and bat.
- Loot: the chest, potion, scroll, key, bomb, sword and dagger.
The dungeon set shows them together.
Setting it up in Pixor
- Import your model, or open the roguelike sample.
- In the Scene step, click the camera “South” in the Outliner. Its “Game” setting sets it up for a kind of game in one click; choose a roguelike.
- Check View, Pitch, Width and Height. For characters, use “Ring round the model” to add 4 cameras.
- In the Action step, pick the animation, such as the trap’s trigger.
- In the Style step, pick the look.
- Export writes the sheet. See exports for PNG, JSON, .aseprite and Godot SpriteFrames.
Questions
Top-down or three-quarter for a roguelike?
Straight top-down fits strict grid games, where every tile must read as a square. Three-quarter shows faces and fronts better. Both work; pick one and use it for every sprite.
How many sides do traps and props need?
Usually one. A trap or a chest rarely turns. Characters that move between tiles often get four.
How do I keep a crowded floor readable?
Use a shared palette, keep the floor darker and lower in contrast, and give enemies and loot selective outlines so they stand out.