Make the bosses move, and put six of them and three new bodies on court
A chapter boss had no AI at all: it matched no branch in the variant chain and fell through to the crowd's aimless wobble, so "the boss AI owns its x" was a comment describing code that did not exist. Movement is now data on the BOSS_ART row -- pace, shadow, surge, charge, bounce -- and bossAI is the one place it happens. Every behaviour field is optional, so a row carrying only art behaves exactly as a boss did before. Three earlier drafts of those styles failed the same way: written as "walk toward the player's x", which in splatter means arrive in four seconds and stand still, because the player is rooted in pretoss for nearly all of a boss fight. Every style now moves under its own power and only biases toward him. Measured over a simulated minute each: 50-136 m travelled, none static. Three new designs -- THE HEAD COACH (a 5-shot drill 0.14s apart), THE PHYSIO (charges, and withdraws less than it charges, so it reaches you at 38s and that is the fight's clock), THE SPONSOR MASCOT (gap 0, so the whole wall of five leaves in ONE frame and is dodged rather than parried). Harder to kill: 16 -> 20 hp, 9 -> 10 per chapter, plus per-design multipliers. Three new bodies: the ball boy (3 hp, 2 skins, from game 3), the bouncer (6/3, game 8) and the roller man (9/4, game 15), each with a 4-frame walk and a drawn two-frame lurch for every wound stage. Three wound rules became one. The brute had a hardcoded stage array, everything else a single skin behind 'abd'.includes(...), and the boss a fraction of hpMax. The boss's rule reproduces the other two exactly -- verified: the brute still draws z_gw/gw2/gw3/gw4 at hp 4/3/2/1 -- and keeps working when hp is not one-per-skin, which all three new bodies need. So a multi-hit body is now a row in config.ZWOUND and no code. bleed() reads the same call, which also gave the steward the trickle his wound skin had always implied. Fixes a real crash on the way past: killPlayer empties shots[] while the shots loop is mid-iteration, so every remaining index read undefined and the frame threw. The mascot's five-at-once volley makes it easy to hit; the shipped 3-shot volley could always have hit it. _regen.py gains two style blocks and a check tier. One constant used to say "keep every colour exactly as the reference" -- right for a remaster, and it fights every word of the subject otherwise. newart is for a new character, state for the same character wounded or mid-throw; using newart for the wound sheets licensed a repaint and got one, five came back with living tan skin. And the detail gate ratchets against the file it replaces, so check: any exists for re-rolling already-fine art to fix something the gate cannot see, such as colour. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
No files matched your search
@@ -21,21 +21,47 @@ SCRATCH = os.environ.get('SPLAT_SCRATCH', '/tmp/splatter-regen')
|
||||
GEN = os.path.expanduser('~/.claude/skills/generate-image/scripts/generate_image.py')
|
||||
PY = os.environ.get('SPLAT_PY', sys.executable)
|
||||
|
||||
STYLE = (
|
||||
# The style block is in three parts because the middle one is a REDRAW instruction and only a redraw
|
||||
# wants it. "Keep every pose and colour exactly as in the reference" is right when the job is
|
||||
# remastering a sprite that already exists, and it fights every word of the subject when the job is a
|
||||
# NEW character drawn in the reference's style — set "newart": true on the batch to drop it.
|
||||
RES = (
|
||||
"Redraw them as HIGH-RESOLUTION pixel art. The art pixels must be SMALL: build each figure out "
|
||||
"of roughly 90 to 110 pixels of height instead of the reference's 40, so there is room for real "
|
||||
"detail, and spend it — a face with teeth, sunken eyes and a jawline; individual fingers; "
|
||||
"clothing with visible seams, hems, folds and frayed torn edges; laced shoes; four or five "
|
||||
"distinct shades per material with fine hatched shading where the light falls away. Keep every "
|
||||
"pose, every body proportion, every height, every facing and every wound EXACTLY as in the "
|
||||
"reference — only the drawing resolution and the amount of fine detail change. Keep the same "
|
||||
"colours. Hard black outline around each figure. The background must be ONE FLAT solid magenta "
|
||||
"distinct shades per material with fine hatched shading where the light falls away. "
|
||||
)
|
||||
FIDELITY = (
|
||||
"Keep every pose, every body proportion, every height, every facing and every wound EXACTLY as "
|
||||
"in the reference — only the drawing resolution and the amount of fine detail change. Keep the "
|
||||
"same colours. "
|
||||
)
|
||||
CANVAS = (
|
||||
"Hard black outline around each figure. The background must be ONE FLAT solid magenta "
|
||||
"#FF00FF across the entire canvas — no scenery, no gradient, no vignette. Keep at least 200 "
|
||||
"pixels of empty magenta between figures and at least 150 pixels of empty magenta at every edge "
|
||||
"of the canvas: no figure or limb may touch or run off an edge. No shadow, no ground line, no text. "
|
||||
"The canvas is a WIDE LANDSCAPE STRIP and every figure stands side by side in ONE SINGLE HORIZONTAL "
|
||||
"ROW on the same ground line — never a grid, never two rows, never stacked."
|
||||
)
|
||||
STYLE = RES + FIDELITY + CANVAS
|
||||
NEW_STYLE = RES + (
|
||||
"Match the reference's DRAWING STYLE, its overall figure height and its facing — but the "
|
||||
"character, the clothes, the colours and the poses are the ones described above, not the "
|
||||
"reference's. Do not copy the reference's body or outfit. "
|
||||
) + CANVAS
|
||||
# The third case, and the one that is easy to miss: the SAME character in a different state (wounded,
|
||||
# mid-throw). "newart" is wrong for it — it licenses the generator to repaint the character, and it
|
||||
# did: wound frames came back with living tan skin and a redesigned shirt while the healthy frame
|
||||
# stayed a grey-green corpse. Set "state": true for those.
|
||||
STATE_STYLE = RES + (
|
||||
"This is the SAME character as the reference, not a new one. His colours, his clothing, his "
|
||||
"build, his proportions and his height must be IDENTICAL to the reference — the only things "
|
||||
"that change are the injuries and the pose described above. His skin stays exactly the same "
|
||||
"dead grey-green as the reference: he is a walking corpse, never pink, never tan, never living "
|
||||
"flesh. Do not redesign or recolour any garment. "
|
||||
) + CANVAS
|
||||
|
||||
def batches():
|
||||
with open(os.path.join(HERE, '_regen_batches.json')) as f:
|
||||
@@ -147,7 +173,7 @@ def run(name, spec, dry=False):
|
||||
ref = ref_sheet(shown, f'{SCRATCH}/{name}_ref.png', spec.get('scale', 2.0),
|
||||
frames=len(sprites) + (1 if lead else 0))
|
||||
sheet = f'{SCRATCH}/{name}_hi.png'
|
||||
prompt = f"{spec['subject']} {STYLE}"
|
||||
prompt = f"{spec['subject']} {STATE_STYLE if spec.get('state') else NEW_STYLE if spec.get('newart') else STYLE}"
|
||||
if dry:
|
||||
print(f'[{name}] would generate {len(sprites)} frames: {", ".join(sprites)}'); return True
|
||||
print(f'[{name}] generating {len(sprites)} frames...')
|
||||
@@ -174,7 +200,13 @@ def run(name, spec, dry=False):
|
||||
# that already has blood on it starts high, so a genuinely finer wounded body gains less). A
|
||||
# REPOSE — turning the player around, pointing the runner at the camera, matching a wound between
|
||||
# two frames — is already fine art and only has to come back no worse.
|
||||
bar = {'finer': 1.25, 'same': 0.85, 'loose': 0.7}[spec.get('check', 'finer')]
|
||||
# 'any' turns the detail gate OFF, and there is exactly one job it is for: RE-ROLLING art that is
|
||||
# already fine to fix something the gate cannot see, such as a colour. The bar is measured against
|
||||
# the file being replaced, so once a good sheet installs it RATCHETS — a second roll of equal
|
||||
# quality now has to beat the first, and three colour-fix re-rolls were rejected for being 0.39
|
||||
# against a 0.46 that was itself only there because the first roll happened to be dense. Magenta
|
||||
# and edge checks still apply; verify the thing you were actually fixing by measuring it.
|
||||
bar = {'finer': 1.25, 'same': 0.85, 'loose': 0.7, 'any': 0.0}[spec.get('check', 'finer')]
|
||||
if sum(after) / len(after) < sum(before) / len(before) * bar:
|
||||
print(f'[{name}] REJECTED: not finer than what it replaces {before} -> {after}'); return False
|
||||
if spec.get('palette_ref'):
|
||||
|
||||
@@ -27,7 +27,8 @@
|
||||
"z_bwb"
|
||||
],
|
||||
"subject": "Four frames of two WOUNDED walking zombies, drawn as coarse low-resolution pixel art. The first two are the same grey-shirted zombie whose right arm ends in a ragged bloody stump, in two stages of one stride. The last two are the same brown-coated zombie with an open red gash across his skull, in two stages of one stride. Keep each wound exactly where it is.",
|
||||
"anchor": 0
|
||||
"anchor": 0,
|
||||
"state": true
|
||||
},
|
||||
"brute_walk": {
|
||||
"sprites": [
|
||||
@@ -65,7 +66,8 @@
|
||||
"z_dwb"
|
||||
],
|
||||
"subject": "Two frames of the same badly wounded zombie stadium steward in a torn high-visibility ORANGE vest \u2014 one arm mangled, a deep bloody gash across the chest, head lolling \u2014 walking, two stages of one stride, drawn as coarse low-resolution pixel art.",
|
||||
"anchor": 0
|
||||
"anchor": 0,
|
||||
"state": true
|
||||
},
|
||||
"cpu_walk": {
|
||||
"sprites": [
|
||||
@@ -85,7 +87,8 @@
|
||||
"z_cw2b"
|
||||
],
|
||||
"subject": "Four frames of the same wounded zombie tennis player in a red shirt holding a wooden racket, drawn as coarse low-resolution pixel art. The first two are him wounded and bleeding, in two stages of one stride. The last two are the same character HEADLESS, a ragged red stump where the neck was, still holding the racket, in two stages of one stride.",
|
||||
"anchor": 0
|
||||
"anchor": 0,
|
||||
"state": true
|
||||
},
|
||||
"player_stance": {
|
||||
"sprites": [
|
||||
@@ -268,7 +271,8 @@
|
||||
],
|
||||
"anchor": 0,
|
||||
"subject": "Four frames of the same enormous fat zombie brute, drawn as coarse low-resolution pixel art. The FIRST TWO are the same damage stage \u2014 his LEFT arm torn off at the shoulder leaving a ragged bloody stump, the right arm dragging a rusty pole \u2014 shown as two stages of one stride. The LAST TWO are the next damage stage, BOTH arms gone at the shoulders, again two stages of one stride. Within each pair the injuries must be IDENTICAL and on the same side of the body: only the legs change.",
|
||||
"check": "same"
|
||||
"check": "same",
|
||||
"state": true
|
||||
},
|
||||
"brute_all_wounds2": {
|
||||
"sprites": [
|
||||
@@ -453,5 +457,302 @@
|
||||
"anchor": 0,
|
||||
"check": "loose",
|
||||
"subject": "The reference is ONE young ball boy in a WHITE polo shirt and WHITE shorts with brown hair, seen from the FRONT, holding a floor mop. Draw FOUR frames of that SAME boy \u2014 same face, same brown hair, same white kit, same white shoes, same size, same front-facing view \u2014 with a gormless, dim-witted, slightly cross-eyed expression in every frame. THE FOUR FRAMES ARE FOUR DIFFERENT POSES: (1) WAVING hello with his free hand raised beside his head, big goofy open-mouthed grin, the mop standing upright in his other hand; (2) POINTING away to the side with one arm stuck straight out and his mouth open explaining something, mop upright in the other hand; (3) SHRUGGING with both palms turned up and his shoulders hunched, utterly baffled, eyebrows up, the mop tucked under one arm; (4) TERRIFIED \u2014 eyes wide as saucers, mouth open in a yell, both hands clutching the mop up across his chest like a weapon. Each figure stands upright at the same height with both feet on the ground. The whole boy and the whole mop are fully inside the canvas with clear space around them. The canvas contains EXACTLY FOUR figures and no others."
|
||||
},
|
||||
"ballboy_walk": {
|
||||
"sprites": [
|
||||
"z_e1",
|
||||
"z_e2",
|
||||
"z_e3",
|
||||
"z_e4"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_a1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "same",
|
||||
"subject": "The reference is one walking zombie seen from the SIDE and facing LEFT. Draw FOUR frames of a walk cycle, seen from the SIDE and facing LEFT, of a dead teenage TOURNAMENT BALL BOY: short-sleeved white and navy polo shirt with a small sponsor patch, navy shorts, white knee socks and white trainers, a tennis ball still clutched in one hand. Green-grey dead skin, sunken eyes, slack jaw, hair matted flat. An ordinary-sized body, the same height as the reference. The four frames are the four stages of ONE shambling stride: front leg reaching forward with the GAP BETWEEN THE FEET WIDE; then the feet together and passing; then the other leg reaching forward with the gap wide the other way; then the feet together again. The gap between his feet must visibly open and close, and the arms swing opposite the legs. Output exactly four figures in one row, evenly spaced.",
|
||||
"state": true
|
||||
},
|
||||
"ballboy_w1": {
|
||||
"sprites": [
|
||||
"z_ew",
|
||||
"z_ewb"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_e1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "same",
|
||||
"subject": "The reference is the dead tournament ball boy in his white and navy polo, seen from the SIDE and facing LEFT. Draw TWO frames of that SAME boy, same size, same clothes, still walking, now WOUNDED: his right arm is torn off at the elbow leaving a ragged bloody stump, the polo shredded and soaked dark down that side, the tennis ball gone. The two frames are the two halves of ONE stride: in the first the front foot is far forward and the GAP BETWEEN THE FEET IS WIDE, in the second the feet are together and passing. Output exactly two figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"ballboy_w2": {
|
||||
"sprites": [
|
||||
"z_ew2",
|
||||
"z_ew2b"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_e1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "same",
|
||||
"subject": "The reference is the dead tournament ball boy in his white and navy polo, seen from the SIDE and facing LEFT. Draw TWO frames of that SAME boy, same size, same clothes, still walking, now HORRIFICALLY WOUNDED: BOTH arms torn off at the shoulders leaving two bloody stumps, and his lower jaw ripped away so the throat is open, the polo soaked black-red to the hem. The two frames are the two halves of ONE stride: in the first the front foot is far forward and the GAP BETWEEN THE FEET IS WIDE, in the second the feet are together and passing. Output exactly two figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"bouncer_walk": {
|
||||
"sprites": [
|
||||
"z_h1",
|
||||
"z_h2",
|
||||
"z_h3",
|
||||
"z_h4"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_d1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "same",
|
||||
"subject": "The reference is one big walking zombie seen from the SIDE and facing LEFT. Draw FOUR frames of a walk cycle, seen from the SIDE and facing LEFT, of a dead SECURITY STEWARD working the tournament gate: a big heavy-set man with a shaven head and a thick neck, wearing an open BLACK bomber jacket over a bright YELLOW high-visibility vest with SECURITY in black block letters, a white shirt collar showing at the throat, a red accreditation lanyard, grey-green cargo trousers with deep pockets and visible seams, a chunky leather belt with a silver buckle, tan boots, tattoos down one bare forearm, and a coiled clear earpiece wire running up to one ear. Green-grey dead skin, jaw hanging, teeth bared. He is broad and slab-shouldered \u2014 noticeably heavier than the reference, but still a normal human silhouette \u2014 and he walks with his arms held out from his body, shoving forward. Draw him at the same overall height as the reference. The four frames are the four stages of ONE shambling stride: front leg reaching forward with the GAP BETWEEN THE FEET WIDE; then the feet together and passing; then the other leg reaching forward with the gap wide the other way; then the feet together again. The gap between his feet must visibly open and close, and the arms swing opposite the legs. Output exactly four figures in one row, evenly spaced.",
|
||||
"state": true
|
||||
},
|
||||
"bouncer_w1": {
|
||||
"sprites": [
|
||||
"z_hw",
|
||||
"z_hwb"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_h1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "any",
|
||||
"subject": "The reference is the dead SECURITY steward in his black bomber jacket over a bright yellow hi-vis vest, seen from the SIDE and facing LEFT. Draw TWO frames of that SAME man, the same size and bulk and the same clothes, still walking, now WOUNDED: his left arm is mangled and hanging by a thread of muscle, and the hi-vis vest is torn open across the chest with a deep bloody gash beneath it. Do not slim him down. The two frames are the two halves of ONE stride: in the first the front foot is far forward and the GAP BETWEEN THE FEET IS WIDE, in the second the feet are together and passing. Output exactly two figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"bouncer_w2": {
|
||||
"sprites": [
|
||||
"z_hw2",
|
||||
"z_hw2b"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_h1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "same",
|
||||
"subject": "The reference is the dead SECURITY steward in his black bomber jacket over a bright yellow hi-vis vest, seen from the SIDE and facing LEFT. Draw TWO frames of that SAME man, the same size and bulk and the same clothes, still walking, now WOUNDED: BOTH arms are torn off at the shoulders leaving two bloody stumps, and the hi-vis vest hangs in shredded ribbons over an opened chest. Do not slim him down. The two frames are the two halves of ONE stride: in the first the front foot is far forward and the GAP BETWEEN THE FEET IS WIDE, in the second the feet are together and passing. Output exactly two figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"bouncer_w3": {
|
||||
"sprites": [
|
||||
"z_hw3",
|
||||
"z_hw3b"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_h1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "same",
|
||||
"subject": "The reference is the dead SECURITY steward in his black bomber jacket over a bright yellow hi-vis vest, seen from the SIDE and facing LEFT. Draw TWO frames of that SAME man, the same size and bulk and the same clothes, still walking, now WOUNDED: both arms are gone at the shoulders AND he has no head at all \u2014 the neck ends in a ragged red stump at shoulder height, no skull, no face \u2014 the earpiece wire dangling loose into the wound. Do not slim him down. The two frames are the two halves of ONE stride: in the first the front foot is far forward and the GAP BETWEEN THE FEET IS WIDE, in the second the feet are together and passing. Output exactly two figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"roller_walk": {
|
||||
"sprites": [
|
||||
"z_k1",
|
||||
"z_k2",
|
||||
"z_k3",
|
||||
"z_k4"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_g1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "same",
|
||||
"subject": "The reference is one enormous walking zombie brute seen from the SIDE and facing LEFT. Draw FOUR frames of a heavy walk cycle, seen from the SIDE and facing LEFT, of a dead GROUNDSMAN hauling a heavy court roller: a colossal man in filthy green overalls with the sleeves cut off, a leather tool belt, mud-caked rubber boots, leaning hard into a two-handed steel T-handle. The roller itself is a squat heavy cylinder on a short frame close behind his heels \u2014 it must stay small and entirely INSIDE his own frame, never reaching toward the next figure. Green-grey dead skin, one eye gone, teeth bared with effort. He is even bigger and heavier than the reference, hunched forward under the load. The four frames are the four stages of ONE shambling stride: front leg reaching forward with the GAP BETWEEN THE FEET WIDE; then the feet together and passing; then the other leg reaching forward with the gap wide the other way; then the feet together again. The gap between his feet must visibly open and close, and the arms swing opposite the legs. Output exactly four figures in one row, evenly spaced.",
|
||||
"state": true
|
||||
},
|
||||
"roller_w1": {
|
||||
"sprites": [
|
||||
"z_kw",
|
||||
"z_kwb"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_k1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "any",
|
||||
"subject": "The reference is the dead groundsman in filthy green overalls, seen from the SIDE and facing LEFT. Draw TWO frames of that SAME man, the same colossal size and bulk and the same overalls, still walking, now WOUNDED: the arm on the right-hand side of the image is COMPLETELY GONE \u2014 severed at the shoulder joint, no upper arm, no forearm, no hand, nothing below it but a ragged red stump of bone and muscle at the shoulder \u2014 while his other arm still grips the roller handle. He must stay exactly as enormous \u2014 do not slim him down as the damage grows. The two frames are the two halves of ONE stride: in the first the front foot is far forward and the GAP BETWEEN THE FEET IS WIDE, in the second the feet are together and passing. Output exactly two figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"roller_w2": {
|
||||
"sprites": [
|
||||
"z_kw2",
|
||||
"z_kw2b"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_k1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "any",
|
||||
"subject": "The reference is the dead groundsman in filthy green overalls, seen from the SIDE and facing LEFT. Draw TWO frames of that SAME man, the same colossal size and bulk and the same overalls, still walking, now WOUNDED: BOTH arms are torn off at the shoulders leaving two bloody stumps and the roller is gone entirely. He must stay exactly as enormous \u2014 do not slim him down as the damage grows. The two frames are the two halves of ONE stride: in the first the front foot is far forward and the GAP BETWEEN THE FEET IS WIDE, in the second the feet are together and passing. Output exactly two figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"roller_w3": {
|
||||
"sprites": [
|
||||
"z_kw3",
|
||||
"z_kw3b"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_k1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "same",
|
||||
"subject": "The reference is the dead groundsman in filthy green overalls, seen from the SIDE and facing LEFT. Draw TWO frames of that SAME man, the same colossal size and bulk and the same overalls, still walking, now WOUNDED: both arms are gone AND his chest and belly are torn wide open with the ribs showing through, the overalls hanging in bloody strips. He must stay exactly as enormous \u2014 do not slim him down as the damage grows. The two frames are the two halves of ONE stride: in the first the front foot is far forward and the GAP BETWEEN THE FEET IS WIDE, in the second the feet are together and passing. Output exactly two figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"roller_w4": {
|
||||
"sprites": [
|
||||
"z_kw4",
|
||||
"z_kw4b"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_k1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "same",
|
||||
"subject": "The reference is the dead groundsman in filthy green overalls, seen from the SIDE and facing LEFT. Draw TWO frames of that SAME man, the same colossal size and bulk and the same overalls, still walking, now WOUNDED: both arms are gone, the chest is torn open with ribs showing, AND he has no head at all \u2014 the neck ends in a ragged red stump at shoulder height. He must stay exactly as enormous \u2014 do not slim him down as the damage grows. The two frames are the two halves of ONE stride: in the first the front foot is far forward and the GAP BETWEEN THE FEET IS WIDE, in the second the feet are together and passing. Output exactly two figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"boss_coach_walk": {
|
||||
"sprites": [
|
||||
"z_coach1",
|
||||
"z_coach2"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_boss1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "same",
|
||||
"newart": true,
|
||||
"subject": "The reference is a huge chapter-boss zombie drawn FACING THE VIEWER. Draw TWO frames of a DIFFERENT boss in that same front-facing style and at that same enormous size: THE HEAD COACH \u2014 a towering dead tennis coach facing the viewer, in a zipped navy and white tracksuit with a national-team crest on the chest and white piping down the sleeves, a steel whistle on a cord round his neck, wraparound sunglasses pushed up on his forehead, and a wire ball-hopper basket full of tennis balls gripped in one huge fist. Green-grey dead skin, hollow cheeks, teeth bared in a shout. In both frames his chest and face point straight at the viewer. The two frames are two stages of one heavy stride straight toward the viewer, one knee lifted in each. Output exactly two figures in one row."
|
||||
},
|
||||
"boss_coach_wounds": {
|
||||
"sprites": [
|
||||
"z_coachw1",
|
||||
"z_coachw2",
|
||||
"z_coachw3"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_coach1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "loose",
|
||||
"subject": "The reference is THE HEAD COACH \u2014 a towering dead tennis coach facing the viewer, in a zipped navy and white tracksuit with a national-team crest on the chest and white piping down the sleeves, a steel whistle on a cord round his neck, wraparound sunglasses pushed up on his forehead, and a wire ball-hopper basket full of tennis balls gripped in one huge fist. Green-grey dead skin, hollow cheeks, teeth bared in a shout, facing the viewer. Draw THREE frames of that SAME boss, the same enormous size and the same costume, standing and facing the viewer, as three worsening stages of damage: (1) the arm on the left-hand side of the image is torn off at the shoulder leaving a ragged bloody stump \u2014 the OTHER arm is untouched and still holding what it held; (2) his chest and belly are torn wide open with the ribs showing through and the clothing hanging in bloody strips \u2014 one arm is still whole and still holding what it held; (3) his chest is torn open with ribs showing AND he has no head at all, the neck ending in a ragged red stump at shoulder height \u2014 one arm is still whole and still holding what it held. He must stay the same enormous size in all three \u2014 do not slim him down as the damage grows. Output exactly three figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"boss_coach_throw": {
|
||||
"sprites": [
|
||||
"z_coacht0",
|
||||
"z_coacht1",
|
||||
"z_coacht2",
|
||||
"z_coacht3"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_coach1",
|
||||
"z_coachw1",
|
||||
"z_coachw2",
|
||||
"z_coachw3"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "loose",
|
||||
"subject": "The reference shows the SAME boss in four states: undamaged, then three worsening stages of damage. Draw all FOUR of those exact states again, in the same order, same size, same costume, same wounds \u2014 but each one caught MID-THROW: the whole body wound up and twisted, the surviving arm drawn back high over the shoulder about to hurl a tennis ball straight at the viewer, weight on the back foot. The wounds must stay clearly visible in every frame. Output exactly four figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"boss_physio_walk": {
|
||||
"sprites": [
|
||||
"z_physio1",
|
||||
"z_physio2"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_boss1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "same",
|
||||
"newart": true,
|
||||
"subject": "The reference is a huge chapter-boss zombie drawn FACING THE VIEWER. Draw TWO frames of a DIFFERENT boss in that same front-facing style and at that same enormous size: THE PHYSIO \u2014 a towering dead sports physiotherapist facing the viewer, in a white medical polo with a red cross on the breast and blood to the elbows, torn blue latex gloves, a bandolier of rolled strapping tape across the chest, a folding massage table strapped flat to his back, an ice pack gripped in one huge fist. Green-grey dead skin, wire-framed glasses cracked across one lens, jaw slack. In both frames his chest and face point straight at the viewer. The two frames are two stages of one heavy stride straight toward the viewer, one knee lifted in each. Output exactly two figures in one row."
|
||||
},
|
||||
"boss_physio_wounds": {
|
||||
"sprites": [
|
||||
"z_physiow1",
|
||||
"z_physiow2",
|
||||
"z_physiow3"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_physio1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "loose",
|
||||
"subject": "The reference is THE PHYSIO \u2014 a towering dead sports physiotherapist facing the viewer, in a white medical polo with a red cross on the breast and blood to the elbows, torn blue latex gloves, a bandolier of rolled strapping tape across the chest, a folding massage table strapped flat to his back, an ice pack gripped in one huge fist. Green-grey dead skin, wire-framed glasses cracked across one lens, jaw slack, facing the viewer. Draw THREE frames of that SAME boss, the same enormous size and the same costume, standing and facing the viewer, as three worsening stages of damage: (1) the arm on the left-hand side of the image is torn off at the shoulder leaving a ragged bloody stump \u2014 the OTHER arm is untouched and still holding what it held; (2) his chest and belly are torn wide open with the ribs showing through and the clothing hanging in bloody strips \u2014 one arm is still whole and still holding what it held; (3) his chest is torn open with ribs showing AND he has no head at all, the neck ending in a ragged red stump at shoulder height \u2014 one arm is still whole and still holding what it held. He must stay the same enormous size in all three \u2014 do not slim him down as the damage grows. Output exactly three figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"boss_physio_throw": {
|
||||
"sprites": [
|
||||
"z_physiot0",
|
||||
"z_physiot1",
|
||||
"z_physiot2",
|
||||
"z_physiot3"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_physio1",
|
||||
"z_physiow1",
|
||||
"z_physiow2",
|
||||
"z_physiow3"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "loose",
|
||||
"subject": "The reference shows the SAME boss in four states: undamaged, then three worsening stages of damage. Draw all FOUR of those exact states again, in the same order, same size, same costume, same wounds \u2014 but each one caught MID-THROW: the whole body wound up and twisted, the surviving arm drawn back high over the shoulder about to hurl a tennis ball straight at the viewer, weight on the back foot. The wounds must stay clearly visible in every frame. Output exactly four figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"boss_mascot_walk": {
|
||||
"sprites": [
|
||||
"z_mascot1",
|
||||
"z_mascot2"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_boss1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "same",
|
||||
"newart": true,
|
||||
"subject": "The reference is a huge chapter-boss zombie drawn FACING THE VIEWER. Draw TWO frames of a DIFFERENT boss in that same front-facing style and at that same enormous size: THE SPONSOR MASCOT \u2014 a towering dead tournament mascot facing the viewer, wearing a giant fuzzy tennis-ball costume: an enormous yellow-green foam sphere for a head and body with the white curved seam painted across it, stubby green sleeves and leggings, oversized cartoon shoes, white gloves. Through a dark mesh mouth-hole in the ball a rotting green face is just visible. He grips a tennis ball in one glove. In both frames his chest and face point straight at the viewer. The two frames are two stages of one heavy stride straight toward the viewer, one knee lifted in each. Output exactly two figures in one row."
|
||||
},
|
||||
"boss_mascot_wounds": {
|
||||
"sprites": [
|
||||
"z_mascotw1",
|
||||
"z_mascotw2",
|
||||
"z_mascotw3"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_mascot1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "loose",
|
||||
"subject": "The reference is THE SPONSOR MASCOT \u2014 a towering dead tournament mascot facing the viewer, wearing a giant fuzzy tennis-ball costume: an enormous yellow-green foam sphere for a head and body with the white curved seam painted across it, stubby green sleeves and leggings, oversized cartoon shoes, white gloves. Through a dark mesh mouth-hole in the ball a rotting green face is just visible. He grips a tennis ball in one glove, facing the viewer. Draw THREE frames of that SAME boss, the same enormous size and the same costume, standing and facing the viewer, as three worsening stages of damage: (1) the arm on the left-hand side of the image is torn off at the shoulder leaving a ragged bloody stump \u2014 the OTHER arm is untouched and still holding what it held; (2) his chest and belly are torn wide open with the ribs showing through and the clothing hanging in bloody strips \u2014 one arm is still whole and still holding what it held; (3) his chest is torn open with ribs showing AND he has no head at all, the neck ending in a ragged red stump at shoulder height \u2014 one arm is still whole and still holding what it held. He must stay the same enormous size in all three \u2014 do not slim him down as the damage grows. Output exactly three figures in one row.",
|
||||
"state": true
|
||||
},
|
||||
"boss_mascot_throw": {
|
||||
"sprites": [
|
||||
"z_mascott0",
|
||||
"z_mascott1",
|
||||
"z_mascott2",
|
||||
"z_mascott3"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_mascot1",
|
||||
"z_mascotw1",
|
||||
"z_mascotw2",
|
||||
"z_mascotw3"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "loose",
|
||||
"subject": "The reference shows the SAME boss in four states: undamaged, then three worsening stages of damage. Draw all FOUR of those exact states again, in the same order, same size, same costume, same wounds \u2014 but each one caught MID-THROW: the whole body wound up and twisted, the surviving arm drawn back high over the shoulder about to hurl a tennis ball straight at the viewer, weight on the back foot. The wounds must stay clearly visible in every frame. Output exactly four figures in one row.",
|
||||
"state": true
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 27 KiB |