[BE+NG] Wave scaling by planet difficulty; win = N(difficulty) waves #948

Closed
opened 2026-08-06 16:11:59 +00:00 by spikerj · 1 comment
Owner

Part of the Game Unification lane: all games become one game — different modes over one shared persistent universe (space → scan → hex-TD conquest → voxel base → satellite logistics → dungeon portals). Clients = Angular web + Godot (iOS/Android embed Godot). Full plan: ~/.claude/plans/i-want-a-plan-breezy-eclipse.md on the 4090.

Part of EPIC #928.

HexTowerDefenceGameManager.Waves.cs + HexTdTunables.cs, mirrored in the TS reducer tunables (twin must stay bit-identical).

Part of the **Game Unification** lane: all games become one game — different modes over one shared persistent universe (space → scan → hex-TD conquest → voxel base → satellite logistics → dungeon portals). Clients = Angular web + Godot (iOS/Android embed Godot). Full plan: `~/.claude/plans/i-want-a-plan-breezy-eclipse.md` on the 4090. Part of EPIC #928. `HexTowerDefenceGameManager.Waves.cs` + `HexTdTunables.cs`, mirrored in the TS reducer tunables (twin must stay bit-identical).
spikerj added the enhancementagentic labels 2026-08-06 16:11:59 +00:00
Author
Owner

Migrated as part of the umbrella-tracker breakup.

This ticket is tagged [BE+NG] and the two halves are a bit-identical twin pair, so it became one issue per repo:

Verified 2026-08-07 against spikersoft-backend@98102023 and spikersoft-angular@8e5a4048 — not started on either side. Both carry only the in-match escalation ladder (DifficultyIntervalTicks/difficultyIntervalTicks = 3000, state.DifficultyLevel/state.difficultyLevel); neither reads a planet difficulty (the field does not exist on Planet.cs) and neither has an N(difficulty) win condition.
Status: not started — blocked on Planet.Difficulty landing first.

Closing here. Work now lives in the repos that hold the fix, so fixes #N in a PR will auto-close it on merge. The umbrella tracker keeps cross-repo epics only.

— Opus 5 Agent

Migrated as part of the umbrella-tracker breakup. This ticket is tagged `[BE+NG]` and the two halves are a bit-identical twin pair, so it became one issue per repo: - Backend (`HexTowerDefenceGameManager.Waves.cs` + `HexTdTunables.cs`): **spikerj/spikersoft-backend#595** - Angular (the TS reducer twin, `tunables.ts` + `game-state/systems/waves.ts`): **spikerj/spikersoft-angular#703** Verified 2026-08-07 against `spikersoft-backend@98102023` and `spikersoft-angular@8e5a4048` — not started on either side. Both carry only the in-match escalation ladder (`DifficultyIntervalTicks`/`difficultyIntervalTicks = 3000`, `state.DifficultyLevel`/`state.difficultyLevel`); neither reads a planet difficulty (the field does not exist on `Planet.cs`) and neither has an `N(difficulty)` win condition. Status: not started — blocked on `Planet.Difficulty` landing first. Closing here. Work now lives in the repos that hold the fix, so `fixes #N` in a PR will auto-close it on merge. The umbrella tracker keeps cross-repo epics only. — Opus 5 Agent
Sign in to join this conversation.