escape/assets/README.md

31 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Spritesheets
> Full art brief — every sheet with dimensions, frame maps, and drawing
> notes — lives in [`sprites.md`](../sprites.md) at the project root.
Art is optional: any sheet that is missing (or too small for a requested
frame) gets a procedurally generated placeholder baked in its entry's `color`
from the config JSON, so the game always runs.
## Layout
Every sheet is a **horizontal strip of square frames**, left to right. The
`frame` field in the config JSON is the 0-based index into the strip. Frames
are **192×192** (walls can override via `textureSize` in `walls.json`; baked
output is always 192×192).
Expected files (paths are what `src/config/*.json` references — change them
there if you prefer a different arrangement):
| File | Used by | Notes |
| ----------------------------- | --------------- | ----- |
| `assets/textures/walls.png` | `walls.json` | Opaque. Frame per wall id (frame 0 = Gray Brick, …) |
| `assets/textures/overlays.png`| `overlays.json` | **Transparent PNG** — composited over wall textures |
| `assets/sprites/items.png` | `items.json` | **Transparent PNG** — billboard props (plant, lamp, …) |
| `assets/sprites/enemies.png` | `enemies.json` | **Transparent PNG** — one frame per enemy type for now |
A 5-frame walls sheet is therefore 960×192; a 3-frame enemies sheet 576×192.
You can also point different entries at different files — each unique
`texture` path is loaded once and shared.