# 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