Files
major_tom/TODO.md

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