Skip to content

Add Duskfen: Level 5 with rising-tide mechanic and dusk theme - #13

Merged
cmalpass merged 1 commit into
mainfrom
cmalpass-potential-enigma
Aug 27, 2026
Merged

Add Duskfen: Level 5 with rising-tide mechanic and dusk theme#13
cmalpass merged 1 commit into
mainfrom
cmalpass-potential-enigma

Conversation

@cmalpass

Copy link
Copy Markdown
Owner

What

A fifth level, Duskfen: The Drowned Vale — the first level whose environment actively plays against you: a rising tide that climbs 68px over ~136s while the run is live.

  • Mechanic — the waterline rises during play (and through knockback/death, so the clock keeps pressure), freezes on victory. Submersion costs a heart and splashes Rex back up; a one-shot "The tide is rising!" ping with a low-whoosh SFX. Water renders in screen space with a gradient + animated sine surface.
  • Design — 7600px across 5 sections: dry intro, beetle bog with a lava pit, canopy with spring + spitter + pteros, flooded lowland with a crumble bridge and plate/door gate, and the drowned vale with a continuous elevated "dry hop" route up to the nest rock. At max tide, only ground at or above y≈446 stays dry — the route is tight but fair.
  • Dusk theme — twilight palette (deep purple → warm orange horizon), purple moon, stars, ember-dimmed volcano, soft purple clouds, firefly weather (16 blinking glows), and a slow minor-key 76bpm track.
  • Victory flourish — "The fen falls silent. The nest is home." + tide swell + drifting particles.
  • Lore — 3 new field notes (the waterline / fireflies with a job / the silent fen).

Validation (local gate, per project standard)

  • npm run typecheck
  • npm test264/264 (8 new in tests/dusk.test.ts: registry, level structure, tide advance/cap/freeze, damage+bounce+one-shot ping, reset, dusk plumbing; legacy level-count assertions updated)
  • npm run build — 155.56 kB / 47.72 kB gzip single file
  • npm run lint
  • Headless Playwright E2E — 7/7 (menu → DUSKFEN card → start with tide → waterY decreases → teleport-to-nest victory flourish → tide frozen → zero page errors), screenshots visually verified
  • Daily generator untouched: it uses an explicit 3-theme list and never emits tide, so seeded dailies are unaffected

- New level "Duskfen: The Drowned Vale" (7600px, 5 sections): dry intro,
  beetle bog with lava pit, canopy with spring + spitter + pterodactyls,
  flooded lowland with crumble bridge + plate/door gate, and the drowned
  vale with a continuous dry-hop route up to the nest rock.
- Rising-tide mechanic: the waterline climbs 68px over ~136s while the
  run is live (keeps pressure through knockback/death, frozen on victory);
  submersion costs a heart and splashes Rex back up; one-shot "The tide
  is rising!" ping with a new low-whoosh SFX. Water renders in screen
  space with a gradient and animated sine surface.
- Dusk theme: twilight sky palette with warm horizon, purple moon,
  twinkling stars, ember-dimmed volcano, soft purple clouds; firefly
  weather (16 blinking glows drifting over the marsh); a slow minor-key
  76bpm music track.
- Victory flourish for finishing Duskfen: "The fen falls silent. The
  nest is home." status + tide swell + 40 drifting particles.
- 3 new Duskfen field notes (waterline / fireflies / silent fen);
  menu card accent + 6-card layout; daily generator untouched (explicit
  3-theme list, no tide).
- Tests: 8 new unit tests in tests/dusk.test.ts (registry, level
  structure, tide advance/cap/freeze, damage + bounce + one-shot ping,
  reset, dusk theme plumbing); legacy level-count assertions updated.
  264/264 unit tests, build 155.56kB (47.72kB gzip), lint clean,
  7/7 headless Playwright E2E checks with screenshot verification.
@cmalpass
cmalpass merged commit 7e0de15 into main Aug 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant