Files
major_tom/TODO.md
Thomas 628fa52c52 Extend moon level to 1000 tiles with wide platform gaps
Expand moon01.lvl from 200 to 1000 tiles using a Python generator
script. The level features 27 gap sections with floating one-way
platforms at varying heights, progressing from easy (8-tile gaps) to
challenging (22-tile gaps with tiny platforms). 20 asteroids spread
across the level. Increase tilemap line buffer from 1024 to 16384
bytes to support wide levels.
2026-03-01 12:17:13 +00:00

1.7 KiB

TODO

Distance-based sound effects

Implemented: audio_set_listener(), audio_play_sound_at() with linear attenuation and stereo panning. Used by enemy death, asteroid impact, and powerup pickup.

Spacecraft art and entity

Implemented: spacecraft PNG spritesheet (5 frames, 80x48 each), full entity with state machine (FLYING_IN → LANDING → LANDED → TAKEOFF → FLYING_OUT → DONE), engine/synth sounds, thruster particles, level intro sequence with deferred player spawn.

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 at level exit

Ship landing at exit zone when player approaches — player enters, ship takes off, triggers level transition. The intro/start sequence is done; this is the exit counterpart.

Asteroid refinement

Implemented: base speed 120→200, accel 200→350, respawn 3→6s, stagger 0-3→0-8s, random horizontal drift (±60 px/s), moon level reduced from 24 to 8 asteroids.

Jetpack boost blue flame effects

  • Add continuous blue flame particles trailing from the player during jetpack boost (while boost is active, not just on burst)
  • Add blue accents to the jetpack burst effect itself — mix blue flame particles into the existing yellow/orange exhaust plume