Add Mars Base generator, mars03 boss arena, and Mars campaign polish

Dedicated Mars Base generator with 6 segment types (entry, shaft, corridor,
turret hall, hive, arena), depth-scaled difficulty, and exit to boss arena
after 2 generated levels. Mars themes integrated into all 7 generic segment
generators. Full level chain: moon03 → mars01 → mars02 → mars_base (×2) →
mars03 → station.

Also: jetpack fuel pickup preserves recharge progress, depth counters reset
on game loop, NULL checks on entity spawns, charger charge timeout, bg
decoration in Mars Base generator.
This commit is contained in:
Thomas
2026-03-02 20:27:29 +00:00
parent 74cd70738d
commit 1ef84cd3b4
9 changed files with 906 additions and 30 deletions

View File

@@ -78,10 +78,12 @@ Already implemented: `GRAVITY`, `WIND`, `BG_COLOR`, `MUSIC`, `PARALLAX_FAR`, `PA
- **Flyer** — Purple bat-like. Bobs in air, chases player when close, shoots fireballs. 1 HP.
- **Turret** — Stationary, rotates to aim at player, fires periodically
- **Charger** — Ground patrol, detects player in 200 px horizontal LOS, ALERT → CHARGE (150 px/s) → STUNNED on wall hit. 2 HP.
- **Spawner** — Stationary, spawns grunts every 4.5 s (max 3 alive). 3 HP, destructible.
- **Laser Turret** — State machine (IDLE → CHARGING → FIRING → COOLDOWN). Per-pixel beam raycast. Fixed variant aims left; tracking variant rotates toward player at 1.5 rad/s.
### Planned
- **Charger** — Detects player at range, charges in a straight line at high speed
- **Shielder** — Has a directional shield, must be hit from behind or above
- **Spawner** — Stationary, periodically spawns smaller enemies
- **Boss** — Large, multi-phase encounters. One per world area.
---
@@ -175,7 +177,7 @@ Current directives: `TILESET`, `SIZE`, `SPAWN`, `GRAVITY`, `WIND`, `BG_COLOR`, `
- [ ] Better tileset art (space-themed)
- [ ] Player sprite polish (more animation frames)
- [x] Death / respawn system
- [ ] Pause menu
- [x] Pause menu
### Low Priority (Future)
- [ ] World map mode
@@ -209,7 +211,7 @@ Current directives: `TILESET`, `SIZE`, `SPAWN`, `GRAVITY`, `WIND`, `BG_COLOR`, `
| Aim diag | UP+LEFT/RIGHT (+ shoot) | Implemented |
| Dash | C | Implemented |
| Look up | UP (stand still) | Implemented |
| Pause | Escape | Quits game |
| Pause | Escape | Implemented |
---