Park the brute — and name what its next attempt has to change
The agreed single pass did not land: br_w1 installed, br_serve and br_fall were refused by the palette gate at 12 to 22 away from z_br1, and everything drawn from them was correctly skipped rather than built on sand. 'br' comes out of ZFAMS. The art stays on disk and the nine batches stay in the JSON, so re-registering it later is one line — this is parked, not deleted, and nothing in the game referenced it (no opponent row names it). THE FINDING WORTH KEEPING, written at the top of _master.py: the brute's PLAY sheet is a good brute; its serve and fall sheets are each a slightly DIFFERENT brute. All three restyle from the master independently, so each invents the character afresh from the words, and "pale grey-green work shirt" lands somewhere new every time. The gate is not being fussy — it is measuring three different zombies. The fix is to hand the later sheets BOTH references: the master frame for the POSE and the variant's own first sheet for the CHARACTER, instead of the words for the character. Which is the lesson the wound stages already taught — a reference beats a description — applied one level up. Until that lands, a variant is reliable for its play sheet and a gamble for the other two. The racket zombie is untouched and complete: 33 frames, every gate green, and it is the opponent the match actually plays. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0e92c72457
commit
525f017636
8 files changed
+18
-3
No files matched your search
+7
-3
@@ -728,9 +728,13 @@ export const BENCH_STAGES = ['HEALTHY', 'ARM OFF', 'HEADLESS'];
|
||||
// needs the names — the preloader, drawZombie's wound lookup, the sprite bench — derives them from
|
||||
// this table rather than spelling them out. That is the whole point: 31 hand-written filenames in a
|
||||
// preload list is 31 chances to typo one and have a body silently vanish for a frame.
|
||||
// 'br' is THE BRUTE, generated with _master.py --variant off the master sheets — the same creature
|
||||
// the gore mode's 'g' shambler is, now playing tennis: twice the width, a racket lost in one fist.
|
||||
export const ZFAMS = ['r', 'br'];
|
||||
// THE BRUTE ('br') IS PARKED, not deleted. Its healthy play sheet is good and is on disk; its serve
|
||||
// and fall sheets each RE-INVENT the character, because they restyle from the MASTER — a lean
|
||||
// red-shirted man — rather than from the brute that was just made. The palette gate now measures
|
||||
// that (15 to 48 away from z_br1, where a good frame scores under 8.5) and refuses them, which is
|
||||
// the gate working, not the gate being wrong. Re-registering it is one entry here; see the note at
|
||||
// the top of _master.py for the fix its next attempt needs.
|
||||
export const ZFAMS = ['r'];
|
||||
const POSES = ['bounce', 'toss', 'serve', 'fall1', 'fall2', 'fall3', 'rise'];
|
||||
export const famFrames = f => [
|
||||
`z_${f}1`, `z_${f}2`, `z_${f}3`, `z_${f}4`, // stance, shuffle A, shuffle B, forehand
|
||||
|
||||
Reference in new issue
Block a user