forked from tas/major_tom
1.7 KiB
1.7 KiB
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