Skip to content

platformer: finish Phase E — the goo serpent (L6) + the serpent generalized#63

Merged
SethMorrowSoftware merged 1 commit into
mainfrom
claude/phase-e-slime-serpent
Jun 18, 2026
Merged

platformer: finish Phase E — the goo serpent (L6) + the serpent generalized#63
SethMorrowSoftware merged 1 commit into
mainfrom
claude/phase-e-slime-serpent

Conversation

@SethMorrowSoftware

Copy link
Copy Markdown
Owner

What

Completes asset-expansion Phase E (snakes & the slither beat), building on the L4 lava serpent that just merged in #62. All example-side — no Kit change, no harness bump.

The serpent, generalized

The L4 lava-serpent maker becomes a reusable pfMakeSerpent pL,pR,pSurfY,pPeakY,pFrame,pAnim (tick pfTickSerpent), driving both the snakeLava and snakeSlime skins from one code path. Single-instance (one serpent per level, reset on each build); gLSerpLavaYgLSerpSurfY. L4 now calls it with the lava skin.

New slime-pool beat (L6, CAVERN DEPTHS)

PIT2's spike chasm becomes a toxic GOO POOL — new pfMakeSlimePool, a green goo rect over a knockback hurt sensor (the slime-biome twin of pfMakeLava). A rearing snakeSlime serpent rises out of the goo, arcs across and sinks back in, peaking at ~jump-arc height (y460) over the centre: time your double-jump for when it has sunk. A mistimed leap or a slip into the goo is a recoverable knockback (the saw rule). The serpent is created before the goo so the goo draws over its submerged body (it reads as rising out of the goo). Self-gates on gSpooksOK — without the spooks sheet it's a plain double-jump gap.

More variety

Two more plain snake placements on verified-clear ground stretches — a meadow snake on L1 and a sand snake on L5 (each self-reverses at its band ends).

Loose end tied up

Documented the forward-constant-reference trap as CLAUDE.md gotcha 29: OXT leaves a constant referenced before its declaration unresolved, silently zeroing the expression — that was the L4 serpent's "never rose" bug (sin(kPI * tP) with kPI declared ~900 lines later). Confirmed in OXT.

Verification

  • check-livecodescript.py — PASS (no smart quotes, handlers/blocks balanced, embedded Kit in sync)
  • audit-platformer.py — 0 findings across all 7 levels (now also tracks pfMakeSlimePool as a hazard)

Needs the OXT pass — that the L6 goo serpent rises/sinks and reads in the cavern, the timing of the goo-pit double-jump feels fair, and the new L1/L5 snakes sit right (placement + facing are statically unverifiable, gotcha 26).

🤖 Generated with Claude Code


Generated by Claude Code

…alized

Completes asset-expansion Phase E (snakes & the slither beat):

- Generalize the L4 lava serpent into a reusable pfMakeSerpent /
  pfTickSerpent (params: pL, pR, pSurfY, pPeakY, pFrame, pAnim), driving
  both the snakeLava and snakeSlime skins from one code path. Single-
  instance (one serpent per level, reset on each build); gLSerpLavaY ->
  gLSerpSurfY. L4 now calls pfMakeSerpent ... "snakeLava.png","snakelava".

- New slime-pool beat on L6 (CAVERN DEPTHS): PIT2's spike chasm becomes a
  toxic GOO POOL (new pfMakeSlimePool - a green goo rect over a knockback
  hurt sensor, the slime-biome twin of pfMakeLava) where a rearing
  snakeSlime serpent rises out of the goo, arcs across and sinks back in,
  peaking at ~jump-arc height (y460) over the centre. Time the double-jump
  for when it has sunk; a mistimed leap or a slip into the goo is a
  recoverable knockback. Serpent created before the goo so the goo draws
  over its submerged body. Self-gates on gSpooksOK (a plain double-jump gap
  without the spooks sheet).

- Two more plain snake placements for variety: a meadow snake on L1 and a
  sand snake on L5, each on a verified-clear ground stretch (self-reverses
  at its band ends).

- Tie up the loose end: document the forward-constant-reference trap as
  CLAUDE.md gotcha 29 (OXT leaves a constant referenced before its
  declaration unresolved - it silently zeroes the expression; that was the
  L4 serpent's "never rose" bug). Confirmed in OXT.

- audit-platformer.py tracks pfMakeSlimePool as a lava-like hazard.

Static gates clean; audit-platformer 0 findings across 7 levels.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X92APxUJUMue3bAzXiX9V2
@SethMorrowSoftware SethMorrowSoftware marked this pull request as ready for review June 18, 2026 23:20
@SethMorrowSoftware SethMorrowSoftware merged commit 14394c8 into main Jun 18, 2026
7 checks 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.

2 participants