Add new level BT_level1.json featuring guards, enemies, and interactive elements. Introduce "cell" and "wsmi" overlay configurations in src/config/overlays.json. Update overlay textures (overlays.png, overlays.psd) to support the new overlay frames. |
||
|---|---|---|
| .. | ||
| textures | ||
| RAW-Gun.png | ||
| README.md | ||
| gun1.png | ||
| gun2.png | ||
| gun3.png | ||
| gun4.png | ||
| gun5.png | ||
| nerf-doubleshotgun.png | ||
| nerf-gatlin.png | ||
| nerf-knife.png | ||
| nerf-pistol.png | ||
| nerf-plasma.png | ||
| nerf-rifle.png | ||
| nerf-rocketlauncher.png | ||
| nerf-shotgun.png | ||
README.md
Spritesheets
Full art brief — every sheet with dimensions, frame maps, and drawing notes — lives in
sprites.mdat 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 |
assets/sprites/pickups.png |
pickups.json |
Transparent PNG — ammo/health/treasure + keys |
A 7-frame walls sheet is therefore 1344×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.