Platformer improvement pass: L7 undercroft puzzle, second checkpoints, scene density, coin tiers, audio + win polish - #78
Draft
SethMorrowSoftware wants to merge 2 commits into
Conversation
…points, density, tiers, audio + win polish The headline: the Stone Keep grows DOWN 512px into the UNDERCROFT - the Phase C slice-3 multi-key/switch puzzle finally lands IN the keep. The hero spawns in a torchlit vault under the tower; a blue corner switch (past a warden slime) slides the keep-floor trapdoor open; three vaulted one-way ledges climb to the doorway and a keep-floor checkpoint. To make it possible, pfMakeSwitchGate/pfTickSwitchGates are generalized vertically aware (per-instance pad band - the old tick hardcoded the 448-cloud band and silently ignored pSwitchY - plus per-instance gate rect, slide axis and open-shift; L2's green-gate call is byte-identical) and pfMakeCheckpoint banks a per-flag respawn height (uPfCheckY; the touch handler hardcoded 470, mid-air on a tall world). Also in the pass: - SECOND CHECKPOINTS on the long single-checkpoint levels (L1 5500, L2 5230, L3 5180, L4 4860) - the difficulty ramp was inverted by punishment, with 3,400-4,700px late-death replays. - A SCENE-DENSITY pass by eye (polish-plan par. 3): a few strong reads per level from already-loaded frames, three placement conflicts fixed (L2 alley sign retired - no legal pocket; L2 bush off the barnacle; L3 sign off the snail's patrol), and L6's orphaned second bat roost finally gets its bat (band kept short of the G4 cloud's chain - bats swoop to y~450 and the chain sits at 448). - Deliberate COIN TIERS: L7 explicit everywhere (the auto height rule inverted risk/reward on a vertical world); marquee grabs go gold on L4/L5/L6. - AUDIO: a star fanfare (was sharing the gem chime), a final-win fanfare, and the orphaned bridge "creak" tone finally wired; the newest-cue guard re-keys to "fanfare". - WIN payoff: hits banked across the run, an UNTOUCHABLE callout tier, and a hidden-star replay tease. - Fixes: the L7 build-frame 64px camera snap (narrow worlds now frame their centre), the stationary half-blade's per-frame same-loc MoveTo, L3's stale lever-saw binding, the sensor hazard branch's missing exit, and a sweep of stale comments. Statically verified (check-livecodescript + audit-platformer clean, 0 findings; undercroft geometry hand-verified by script - the audit skips vertical levels); needs an OXT pass. Example-side only: no Kit change, no harness bump, kPfUIVersion untouched (buildPfUI unchanged). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B6aG88HWGdnCw7qhEUuZkj
…t pass Five parallel reviewers (syntax/compat/geometry/perf/completeness lenses) swept the pass; the fixes, ranked: - MAJOR: the new keep-floor slabs pf_keepL/pf_keepR joined pfShowSlabs's name list - in placeholder-art mode the keep floor was an INVISIBLE solid (collision fine, unreadable; every neighbouring piece already self-handled the fallback). - The bridge creak now plays INSTEAD of the land thud (the engine plays one clip at a time - the old back-to-back calls just cut the thud and the comment claimed a layering the audio cannot do). - The trapdoor lid snaps flush to its exact open target as gSwDone latches (the +-6 stop tolerance parked its edge a few px over the doorway lip; one write on the transition). - The undercroft climbs on the tower's own 128px storey rhythm: U3 raised 2352 -> 2368 (every vault rise now exactly 128; closed-lid headroom GROWS to 52px; the doorway rise matches the standard storey). - The switch-corner coin moved out from under the switch art's 64px frame (800,2688), and the vault floor coins sit 64 above their floor (the L7 convention); the U3 coin follows its ledge. - L4's hanging chains got their own representative-frame gate (a sheet with chain but no grass_purple must still hang them - L6's convention). - L3's step-face windows grid-aligned (6112 / 6176). - Comment honesty: pfTickSwitchGates' header no longer claims the fixed y342 rise; the two tightest checkpoint pockets (L1 5500, L3 5180) now document FRAME-EDGE margins with their OXT fallback positions; the hatch coin's silver tier is explained. Confirmed-safe by the same review (no change needed): the amp-0 mover skip (Kit camera-group mechanics), the L2 switch-gate call (byte-identical), gOuchesBank lifecycle, the L3 gSawMov removal, the hazard-branch exit (no dual-flag sensors), bat #10's band vs the G4 chain. Gates: check-livecodescript all-pass, audit 0 findings, the undercroft geometry script 32/32. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B6aG88HWGdnCw7qhEUuZkj
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this is
A deep review of the platformer demo (seven parallel readers mapped every level, maker, tick and event path against CLAUDE.md's laws and the polish plan), followed by an improvement pass built with the proven methods: append-only growth, existing makers only, every placement checked against the ~100px beat-air law, all example-side (no Kit change, no harness bump,
kPfUIVersionuntouched).The headline: the L7 UNDERCROFT (length + the missing puzzle)
The Stone Keep grows down 512px (
pfBoundsVbottom 2304 → 2816) into a torchlit vaulted undercroft — Phase C slice 3's multi-key/switch puzzle finally lands in the keep, where the file header always said it belonged:pfMakeSwitchGate/pfTickSwitchGateswere generalized vertically aware — per-instance pad band (the old tick hardcoded the 448-cloud band and silently ignoredpSwitchY, a latent bug), per-instance gate rect, slide axis, open-shift. L2's green-gate call is byte-identical (walked through with its exact arguments).pfMakeCheckpointnow banks a per-flag respawn height (uPfCheckY; the touch handler hardcoded 470 — mid-air on a tall world).gToysOKfalse) = no lid: the doorway stays open and the climb completes (law 25).Since
tools/audit-platformer.pyskips vertical levels, the undercroft geometry was hand-verified by a 32-check script (squeeze clearances, jump rises, gotcha-20 for both lid park positions, pad-vs-patrol bands, structural-gate coverage, camera clamps).The rest of the pass
creaktone finally wired to rope-bridge landings. Newest-cue guard re-keyed tofanfare.gOuchesBank), an UNTOUCHABLE callout tier above flawless, a hidden-star replay tease.b2kSpriteMoveToskipped (write-on-change); L3's stale lever-saw binding removed;b2kSensorEnter's hazard branch gains its missingexit(verified behavior-neutral — no sensor carries both flags); stale comment sweep.Verification
python3 tools/check-livecodescript.py— all pass.python3 tools/audit-platformer.py— 0 findings across 7 levels (it caught one of my own placements mid-pass — an L2 sign overlapping a coin — which is why that sign is retired).🤖 Generated with Claude Code
https://claude.ai/code/session_01B6aG88HWGdnCw7qhEUuZkj
Generated by Claude Code