Add TODO with roadmap for audio, large maps, spacecraft art, and asteroid polish

This commit is contained in:
Thomas
2026-03-01 09:50:22 +00:00
parent 3ce879fe98
commit 9af9f65aaf

35
TODO.md Normal file
View File

@@ -0,0 +1,35 @@
# TODO
## Distance-based sound effects
Sounds (explosions, impacts, etc.) should attenuate based on distance from the
player. Offscreen events far away should be inaudible. Add a helper that takes
a world position and scales volume by proximity to the camera/player.
## Large map support (5000x5000)
Audit the engine for anything that breaks or becomes slow at very large map
sizes. Key areas to check:
- Tile layer allocation (`uint16_t *` for 25M tiles)
- Tilemap rendering culling (already viewport-clipped, verify correctness)
- Physics / collision queries (should only check nearby tiles)
- Entity updates (currently iterates full pool regardless of distance)
- Camera bounds and coordinate overflow (float precision at large coords)
- Level file parsing (row lines could exceed fgets buffer at 5000+ columns)
## Spacecraft art and entity
Create placeholder pixel art for the player's spacecraft (fits the 16x16 grid
aesthetic but spans multiple cells, roughly 4-5 tiles wide by 2-3 tiles tall).
Needs at minimum:
- Landed/idle frame (visible near spawn on planet surface levels)
- Landing animation (descending + touchdown, 3-4 frames)
- Takeoff animation (liftoff + ascending, reuse landing in reverse)
Used in two contexts:
- **Level start**: ship flies in, lands at spawn, player exits, ship takes off
and leaves — serves as the level intro sequence
- **Level exit**: ship flies in and lands when player nears the exit zone,
player enters, ship takes off — triggers level transition
## Asteroid refinement
- Reduce asteroid count significantly — occasional hazard, not a barrage
- Add slight horizontal drift so they fall at an angle rather than straight down
- Increase fall speed for more impact
- Stagger spawns more widely across the level