Serve at full size, and bounce the ball with the free hand
Oliver had the diagnosis exactly right: the raised racket is part of the sprite, so the toss and smash frames were 29% racket by height — and the game scales a sprite off its TOTAL height, which shrank the body to fit. Measured 71% body against the standing frame's 98%. Both are scaled so the BODY lands at standing size and the racket now extends above the frame instead of squeezing him into it. The bounce frames are redrawn too: racket in the left hand, right hand empty and reaching down to the side the game actually drops the ball on, and no ball drawn into the sprite at all. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
No files matched your search
@@ -367,6 +367,47 @@
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "same",
|
||||
"subject": "The reference is one tennis player in a white shirt, blue shorts and a white headband, seen FROM BEHIND. Draw TWO frames of that same player bouncing a tennis ball on the ground before serving, same size, same style. Drawn strictly FROM BEHIND like the reference: the back of his head and the back of his shirt face you, NO face, NO eyes, NO nose, NO mouth anywhere in the image. Frame 1: he leans down slightly, racket in his right hand, and the ball is on the ground beside his RIGHT foot. Frame 2: a moment later, the ball has bounced up to knee height beside that same right foot. Output exactly two figures in one row, far apart."
|
||||
"subject": "The reference is one tennis player in a white shirt, blue shorts and a white headband seen FROM BEHIND. Draw TWO frames of that same player getting ready to serve, same size, same style, seen strictly FROM BEHIND \u2014 back of his head towards you, NO face. He holds the racket in his LEFT hand, down at his left side, which is the LEFT-HAND SIDE OF THE IMAGE. His RIGHT hand is empty and reaches down and out to the RIGHT-HAND SIDE OF THE IMAGE, palm down, as if he has just bounced a ball on the ground there. Frame 1: he leans forward slightly, right hand low near the ground. Frame 2: he straightens a little, right hand risen to about knee height. Draw NO ball in either frame \u2014 the ball is added by the game. Output exactly two figures in one row, far apart."
|
||||
},
|
||||
"brute_stages": {
|
||||
"sprites": [
|
||||
"z_gw",
|
||||
"z_gw2",
|
||||
"z_gw3",
|
||||
"z_gw4"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_g1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "loose",
|
||||
"scale": 1.5,
|
||||
"subject": "The reference is an enormous fat zombie brute \u2014 huge belly, stained shirt, brown trousers, dragging a rusty pole. Draw FOUR frames of that SAME body at that SAME size and bulk, standing, as four stages of damage: (1) the arm on the right-hand side of the image torn off at the shoulder leaving a ragged bloody stump, the other arm still dragging the pole; (2) BOTH arms torn off at the shoulders, two bloody stumps, no pole; (3) both arms gone and the chest and belly torn wide open with ribs showing through; (4) all of that AND no head at all \u2014 the neck ends in a ragged red stump at shoulder height, no skull, no face. He must stay the same enormous size and shape in all four \u2014 do not slim him down as the damage grows. Output exactly four figures in one row, evenly spaced."
|
||||
},
|
||||
"brute_s12": {
|
||||
"sprites": [
|
||||
"z_gw",
|
||||
"z_gw2"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_g1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "loose",
|
||||
"scale": 1.4,
|
||||
"subject": "The reference is an enormous fat zombie brute \u2014 huge belly, stained shirt, brown trousers. Draw TWO frames of that SAME body at that SAME enormous size and bulk, standing, as two stages of damage: (1) the arm on the right-hand side of the image torn off at the shoulder leaving a ragged bloody stump, the other arm still dragging a rusty pole; (2) BOTH arms torn off at the shoulders, two bloody stumps, no pole. Do not slim him down. Output exactly two figures in one row, far apart."
|
||||
},
|
||||
"brute_s34": {
|
||||
"sprites": [
|
||||
"z_gw3",
|
||||
"z_gw4"
|
||||
],
|
||||
"ref_only": [
|
||||
"z_g1"
|
||||
],
|
||||
"anchor": 0,
|
||||
"check": "loose",
|
||||
"scale": 1.4,
|
||||
"subject": "The reference is an enormous fat zombie brute \u2014 huge belly, stained shirt, brown trousers. Draw TWO frames of that SAME body at that SAME enormous size and bulk, standing, as two stages of damage: (1) both arms gone and the chest and belly torn wide open with the ribs showing through; (2) all of that AND no head at all \u2014 the neck ends in a ragged red stump at shoulder height, no skull, no face, nothing above the shoulders. Do not slim him down. Output exactly two figures in one row, far apart."
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
@@ -97,6 +97,6 @@
|
||||
<p id="build"></p>
|
||||
</div>
|
||||
</div>
|
||||
<script type="module" src="main.js?v=73"></script>
|
||||
<script type="module" src="main.js?v=74"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -155,7 +155,7 @@ export function proj(x, y, z) {
|
||||
|
||||
// ---------------------------------------------------------------- sprites ----
|
||||
// assets/<name>.png; game falls back to code-drawn figures until sprites load.
|
||||
const SPRV = 66; // asset cache-buster — bump with main.js?v=N (see the img.src note below)
|
||||
const SPRV = 67; // asset cache-buster — bump with main.js?v=N (see the img.src note below)
|
||||
const SPR = {};
|
||||
for (const n of ['p_idle1','p_idle2','p_bounce','p_bounce2','p_toss','p_smash','p_run1','p_run2','p_run3','p_run4','p_swing1','p_swing2','p_die1','p_die2','p_die3','p_die4','p_die5',
|
||||
'o_idle1','o_idle2','o_bounce','o_bounce2','o_toss','o_smash','o_run1','o_run2','o_swing1','o_swing2',
|
||||
|
||||