ScenarioExplorations Iso Cycles

5 heroes. 8 directions.4 directions. 4 cycles. 8 frames each

Iso Cycles.

Draw five angles.
Get eight directions.
Draw two angles.
Get four directions.

Every hero, every angle, every cycle, in one grid.
Click a sprite to take control of it.

The line-up

Every hero, every angle.

Sgenerated
SEgenerated
Egenerated
NEgenerated
Ngenerated
NWmirror of NE
Wmirror of E
SWmirror of SE

Click any sprite to take control of it below. Five columns were animated (S, SE, E, NE, N); SW, W and NW are the same frames flipped, so each hero needed five drawings, not eight.Only the SE and NE columns were animated; SW and NW are the same frames flipped, so each hero needed two drawings, not four. These are the first round's sheets.

The playground

Take the controls.

Arrow keys or WASD move. Pick Walk or Run to set the gait, hold Shift to switch it, press Space to strike. On a phone, tap the floor.

SE · idle

Arrow keys or WASD to move, two at once for diagonals · click the floor to walk there

Steal the prompts

The prompts behind the sheets.

Copied from the production files (prompts.json and make_prompts.py). Swap the bracketed parts for your own hero. The recipe ZIP holds every prompt, the first frames and the scripts.

What it cost

StepModelRunsCredits

From two stills to a sprite sheet: draw, animate, loop, pixelate, mirror.

Claude Code drove Scenario MCP: GPT Image 2.5 Sunburst drew every hero, Kling V3 I2V Standard animated every facing and cycle, and a local script cut, pixelated and mirrored the loops. The brief: remake a Pixel Engine isometric walk-cycle post with a new cast, add run, idle and attack, then go from four directions to eight.

  1. 1

    Draw both angles in one image

    Describe the hero once and ask for two poses side by side on a flat : three-quarters toward you (SE) and three-quarters away (NE).

    Left pose: body turned three-quarters toward the viewer, facing down and to the right (south-east).
    Right pose: body turned three-quarters away from the viewer, facing up and to the right (north-east), …

    Capability text-to-image Model GPT Image 2.5 Sunburst · runner-up: Retro Diffusion Plus (ranked first by Scenario for pixel art, not run)

    The knight drawn twice on magenta, facing south-east and north-east

    Both figures are the same size, stand on the same baseline, and clearly face a diagonal.

  2. 2

    Animate walk and run from the only

    Reframe each pose with headroom, then ask for motion "on a treadmill" so the hero stays centred. Name the facing in screen terms.

    like a treadmill: the armored knight immediately starts running in place and keeps running for the whole clip, … He always faces diagonally toward the bottom-right corner of the frame (isometric three-quarter front view from above, the same angle as the first frame), never turning to a side view.

    Capability image-to-video Model Kling V3 I2V Standard · runner-up: Luma Ray 2 Flash 540p (ranked first on cost, not run). Seedance 2.5 was tested and gave a jog.

    The hero keeps the same diagonal for the whole clip and never slides out of the centre.

  3. 3

    Pin the for idle and attack

    Give the same still as first and last frame so the strike returns to the ready pose. It later held the back and side views too.

    the armored knight performs one sword attack: draws the longsword and swings a wide diagonal slash in front of him, then returns to the starting ready pose. Snappy anticipation, fast strike, short follow-through.

    Capability image-to-video, first and last frame Model Kling V3 I2V Standard · runner-up: not recorded

    Eight frames of the knight's sword attack

    The last frame lands back on the rest pose, so the attack can chain into idle.

  4. 4

    Cut the out of the clip

    Search every start frame and cycle length. Keep the window whose is smallest compared with the motion inside it, then take 8 evenly spaced frames.

    Settings (scripts/process.py)
    walk: 12–34 frames · run: 8–24 · idle: 24–66
    score = seam ÷ mean frame-to-frame motion in the window

    Capability local analysis Model none

    The run clip's frames with the chosen window outlined

    The seam is well under the motion baseline (knight SE run: 0.28×).

  5. 5

    Pixelate, lock the , then mirror

    Crop every clip of a hero to one shared canvas so the cycles line up, average down to the hero's height, and map to one palette. Flip three of the eight directions instead of drawing them.

    Settings (scripts/process.py)
    height: orc, golem 96 px · necromancer, elf 80 · knight 64
    palette: 24–28 colours per hero, median cut
    SW = mirror(SE) · NW = mirror(NE) · W = mirror(E)

    Capability local processing Model none

    High-resolution frame beside the 64 px pixel sprite

    No magenta fringe on the outline, and the mirrored rows read as the same hero.

  6. 6

    Draw three more angles, one at a time

    With the SE and NE first frames as reference images, redraw each hero facing E, S and N, one single pose per image. The front and back views must be perfectly symmetric, and props the body hides need their visible part spelled out.

    Template (scripts/make_prompts.py), north pose
    Redraw the exact same character as in the reference images: same design, proportions, colours, outfit, props and art style … seen exactly from behind, facing straight away from the viewer (north), … Not turned at all: a perfectly symmetrical back view, the spine in the exact horizontal centre of the body, both shoulders level and the same size, …

    Capability image editing from reference images Model GPT Image 2.5 Sunburst · runner-up: not recorded

    The knight in five first frames on magenta: SE and NE from the first round, then E, S and N

    The front and back views are symmetric: face or spine on the centre line, both shoulders level.

  7. 7

    Give each new facing its own motion recipe

    A plain treadmill prompt drifts toward the angle the model knows best. Side views say which edge the hero walks to and that we never see the chest or the back; back views walk away from the viewer; front views run straight at the camera. Each pins the end frame and runs 5 seconds, and the loop is cut from the middle.

    Pixel art game sprite animation in side profile. The armored knight walks toward the right edge of the screen, on a treadmill so he stays in place. We keep seeing his right side in profile at the same angle as the first frame for the whole clip: his face points at the right edge of the frame and we never see his chest or his back. …

    Capability image-to-video, first and last frame Model Kling V3 I2V Standard, 5 s · runner-up: not recorded

    The golem's side-view walk: top, the first take turns toward the camera; bottom, the side-view recipe holds the profile

    The head stays in profile in every frame of the loop.

  8. 8

    Match size and speed across all eight directions

    A walk away from the camera recedes and a profile is slimmer, so each loop is scaled about the feet to the SE height for that cycle, with a small nudge for slim views. Every direction plays at its own clip's frame rate, and the foreshortened front and back runs a little faster.

    Settings (scripts/process.py, cast.json)
    size_ref: each walk, run and idle loop scaled to the SE median height
    size_bias: golem E 1.05 · orc, necromancer, knight, elf S and N 1.06
    fps_scale: S and N runs 1.3 (elf 1.15) · fps: each direction from its own loop

    Capability local processing Model none

    The golem's walk and run in all eight directions between two height lines

    Every row of a hero stands at about the same height (the golem's: 93 to 96 px), and no direction looks slow.

What did not work

  • Retro Diffusion Animation's walking mode gave four cardinal directions with four frames each, and no run or attack. The angles were drawn as stills instead.
  • Pinning the end frame on a 3-second run made the knight start and stop inside the clip. Walk and run use the first frame only, except the back and side views, where a 5-second clip with the end frame pinned holds the angle.
  • Back-view runs turned into side profiles until the prompt described running away from the viewer and named the nearer shoulder.
  • The first front and back views were drawn a few degrees turned. A single-pose redraw asking for a perfectly symmetric view fixed them.
  • Side-view walks turned toward the camera for three frames in eight, until the prompt named the edge and said we never see the chest or the back.
  • What the body hides got invented: the orc's axe came back with a blade at each end, and the elf shot sideways when facing us or away. Spelling out what stays visible per facing fixed both.
  • The necromancer's glowing staff lit the magenta backdrop and left a halo after keying. Every negative prompt now lists a glowing halo and light spill on the background.

Tip

Say what the camera keeps seeing, not only where the hero faces: "we keep seeing his back", "we never see his chest".

Credits

4,193.75 CU

150 Scenario runs over both rounds: the stills, the clips and the build film's music. Keying, loops, pixels and mirrors ran locally, at no cost.

Agent skill · ZIP

scenario-iso-cycles

Download the skill

PDF · Illustrated

The making-of

Read the making-of

Scenario

Make yours

Start creating