Build journal · Every King Dies

Near Leg,
Red Leg.
Far Leg, Blue.

I have no training as an artist. Over four nights I reviewed a few hundred generated walk frames one at a time, wrote 32 defect reports by hand, and eventually hit a wall that taught me the actual lesson: the fix wasn't better prompting. It was building a model the agent could be audited against.

Prototype art, on purpose. Not gorgeous — good enough, which is a specific bar, and one I define below.

Warrior · rev 6 accepted
F1 Contact · 1/8
48 hrsof frame-by-frame review
before the realization
16defect reports written
by hand in that window
14 min"we need a master" →
"it's perfect"
91 minthe entire four-legged
problem, start to finish
1defect report the
bear cycle needed
01 Sep 16
23:23

I couldn't draw it. I could only tell you it was wrong.

That's the honest starting position. No art school, no animation background, no vocabulary for any of this. What I had was a game that needed characters to walk across a phone screen, an image generator that produced genuinely beautiful frames, and an unshakeable sense that the result looked bad.

My first note in the whole saga isn't a technical critique. It's someone squinting at a loop and describing a feeling:

Sep 16 · 23:23first note

I feel like the walking animation is missing the part where the fore leg animates back to the front from the back. I feel like what I'm looking at is an animation where the foreleg (closest to the view of the player) goes from front to back and then teleports back to the front again as the animation restarts.

Twenty minutes later I'd stopped being diplomatic:

Sep 16 · 23:45

those legs are awful. They look tiny compared to the body. And they walk like a mannequin. Not a real warrior. They're technically accurate, but stylistically they're off.

Sep 17 · 00:01

It looks and feels very robotic. Not human-like. It's too perfect and mechanical... What you've produced in the last attempt is technical perfection, but it's robotic and too clean.

Reading these back, I notice the thing I was best at was also the thing I'd have described as a weakness: I couldn't tell the agent how to fix it. I could only keep insisting, precisely and repeatedly, that it wasn't right yet. That turns out to be a real skill. It's just an expensive one to use as your only tool.

02 Sep 17
00:07

The first useful instinct was to build an instrument

Six minutes after "robotic and too clean," I asked for something that in hindsight shaped everything else. I couldn't see what was wrong at full speed, so I asked to slow it down and take it apart:

Sep 17 · 00:07the instrument

There's some weird leg stutter present that isn't natural. Can you make a version where I can control the animation speed and then also turn on/off each frame? There is some frame(s) in there that are too different from each other and it's causing unnatural jumps/bumps.

That request created the first of the little local review pages — play, pause, step, toggle, mirror — that every later decision got made on. I didn't think of it as tooling at the time. I just wanted to stop guessing.

It paid off immediately. Within half an hour I was no longer saying "it looks robotic," I was saying which frames were missing:

Sep 17 · 00:38

F1, F2, F10. I can't find a frame that properly follows F10. New frames that follow F10 should be the front leg continuing to move backwards while the back leg continues its progression forward. I don't think I have frames that let me get there. F3 is close, but it's too far from F10 to be used.

Same person, same lack of training, forty minutes apart. The difference is entirely the instrument.

03 Sep 17
10:16

Naming the bug

By the next morning I'd watched enough bad loops to stop describing symptoms and start describing the mechanism. This is the sentence that, in retrospect, is the hinge of the entire project:

Sep 17 · 10:16the diagnosis

You always get mixed up with which is the front leg and which is the back leg from the view of the player/screen. F1, F2, F3 are good. However, every subsequent potential frame never continues the motion of the character's right leg finishing their motion to the back of the character. F4 goes the wrong way with the right leg having moved forward again.

Half an hour earlier I'd spelled out the same thing as a positive instruction, which is the closest I came to writing animation theory from scratch:

Sep 17 · 09:44

We're no longer correctly identifying the leg closest to the player's view. It should start to the rear of the character and begin a walk stride to the front of the character. Then the back/farthest leg from the player's view/screen starts at the front, strides to the middle, and then ends in the back.

What I was circling — without the words for it — is that a walking figure has two independent axes, and the generator kept collapsing them into one. Travel is forward and back along the walk. Depth is near and far from the camera. A leg can retreat in travel while staying the foreground limb in depth. That combination happens in the middle of every stride, and it's precisely where things fell apart.

I eventually said it in one line, on a screenshot, the following night:

Sep 18 · 22:31

the blue leg is too far back.... Given the perspective the blue leg in this image should be ahead of the red leg... but behind it

"Ahead of it, but behind it." That sounds like nonsense until you have the two axes, and then it's the whole problem in six words.

Diagram: travel axis versus depth axis. A leg can retreat in travel while remaining the foreground limb in depth. AXIS 1 · TRAVEL where the foot is along the walk travel → ground plane retreating advancing AXIS 2 · DEPTH which limb is nearer the camera NEAR · foreground · owns every overlap FAR behind the torso
FIG. 1 — Travel and depth are orthogonal. The red limb is simultaneously retreating (axis 1) and foreground (axis 2). Collapsing the two was the failure I hit over and over.
04 Sep 18
22:22

The grind, and the wall at the end of it

Knowing the mechanism didn't fix it. It just made me a more precise complainer. The night of the 18th is the low point, and it's worth showing at full length, because the realization doesn't make sense without the pain that produced it.

22:22

we always screw up F4 and F5. F3 has the right leg returning to center from the front... Then F4 puts it back heading in front of the character again.

22:25

you're still getting F4 and F5 wrong. The right foot is still ending up in front of it's previous position... You're not realizing that the left leg (farthest from the player's view) should be returning to the front of the character while the right foot (closest to the player's view) should be retreating behind the character...

22:28

still wrong. The red leg painted in F4 on the female warrior should be the blue leg

Then this one, which is my favourite thing I said all week — because it's a person with no art training doing forensic occlusion analysis on a hip flap:

22:29reading the evidence

You can tell because there's a little flap showing that the blue leg is in front... Otherwise that flap would be rested on the leg

Eight minutes after that, I gave up on reviewing frames:

22:37the wall

we've settled nothing, here? The images you just gave me still have the wrong leg positions for F4. F5 looks right for warrior. ranger is F4 and F5 are wrong. I'm done reviewing. Let's get our master walking base graphic defined that then ALL character models can clearly adopt from... We still have never got the master model correct

This is the "this isn't working and isn't scalable" moment, and I want to be clear that it wasn't a flash of insight. It was exhaustion. I had spent two evenings and written sixteen separate defect reports, by hand, on individual frames, and every fix broke something adjacent. The realization was less "I've figured it out" and more "I refuse to do this one more time."

05 Sep 18
22:30

Fourteen minutes

Seven minutes before the outburst above, buried in the middle of the grind, I'd already said the thing that solved it. I just hadn't stopped to notice:

Sep 18 · 22:30the realization

We need a master base image for all legs so once we get this right it's easy for future character authoring sessions to get it right

Fourteen minutes later, after the "I'm done reviewing" message forced it to the top of the queue:

Sep 18 · 22:44approved

your walking master is approved. It's perfect. Now how do ensure that gets applied and informed to our walking character graphics?

Forty-eight hours of frame-by-frame review. Then fourteen minutes to build the thing that made frame-by-frame review unnecessary.

Ten-pose walking master sheet: a simple grey figure with one red leg and one blue leg shown in ten phases, F1 Contact through R5 Contact.
FIG. 2 — The approved humanoid leg master. Ten phases, exact hip/knee/ankle coordinates, fixed depth order, red for near and blue for far. No face, no armor, no style. That's the point.

Two things made it work where two days of careful prose hadn't.

It ships as both a picture and a number — every pose carries real joint coordinates, so a derivative character can be measured rather than eyeballed, within 6% of leg length.

And it's deliberately ugly. Hand a generator a beautiful reference and it copies the beauty and ignores the geometry. Hand it a diagram and it copies the geometry. Every generation after this took two references with explicitly separate jobs: one for motion and depth, one for appearance only.

Chart: 32 hand-written defect reports over four nights. Sixteen fall before the master model existed; the bear cycle needed one. 16 defect reports · frame-by-frame era Sep 16 → Sep 18 22:30 · 48 hours MASTER MODEL EXISTS Sep 18 · 22:44 13 · arms + rollout to every humanoid the bear night 91 min · 1 real defect Sep 16 Sep 20
FIG. 3 — Every hand-written defect report, placed in real time. Each tick is a message where I told an agent something was wrong with a walk. Sixteen before the model existed, thirteen while arms were fixed and the process rolled out to every humanoid, and on the bear night one — the shading insight. The density on the left is the cost of not having a model.
06 Sep 18
23:02

Designing for the reviewer, not the viewer

With a master in place I started making art decisions for a reason I don't think a trained artist would have reached for first: making the animation easier to check.

Sep 18 · 23:02legibility as a design rule

these two right legs are too skinny at the thigh. That makes our job harder

a thicker thigh makes it easier to distinguish front and back | right and left

That's a style decision justified entirely by diagnosability. Chunkier thighs weren't prettier — they gave the overlap at the hip enough surface to read at phone size, for me and for any automated check. The same session added the boot fix, which came from pure observation rather than anatomy knowledge:

Sep 18 · 23:02

our shoes look weird on the back foot frequently. There's a hard 90 degree angle in the heel/ankle area and it doesn't look right

And a bit later, the trick that finally made F4 read correctly — which is a genuine illustration technique I arrived at by staring at the problem long enough:

Sep 18 · 23:36

Getting the right leg's thigh area to visually overlap on top of the left leg/thigh would trick the eye into being able to differentiate and see it correctly.

I also cut the model down. The master had ten phases; watching them play, two of them weren't earning their place:

Sep 18 · 23:27

I still feel like R2 has no purpose. Just remove it. R1 to R3 look like a correct transition to me. I also think R5 isn't needed

That's why the shipped cycle is eight frames and not ten.

07 Sep 18
23:36

Then the arms, which I'd been quietly ignoring

The arm problem had actually surfaced a full day earlier and I'd let it slide:

Sep 17 · 01:19

is there no way to get a more natural walking arm sway during the walk? People don't typically walk with their arms mostly static. They naturally sway back and forth.

Sep 17 · 01:34

nope. These aren't arm frames we can use. Both the arm in the front and the back need clear motion starting in alternate locations. One arm goes from front to waist to front again. The other one goes from waist to front to waist again. The whole arm moves, not just the hands.

Once the legs were solved by a model, the fix for arms was obvious — do the same thing again:

Sep 18 · 23:36applying the pattern

One thing I always forget about is similar to our leg stride... We need a master reference for arm walking sway too. The arms should be swaying opposite of their leg position from each side.

Revisions five and six were almost entirely arm surgery. The failures were consistent and strange, and I logged them one by one:

  • F2/F3Frozen then jumping. F2 and F3 should have more red arm movement forward. The halfway point from F2 and F4 on the red arm.
  • F4Spine arm. F4 has an extra arm growing out from the character's back. The far arm should be fully hidden behind the torso and cape — the generator preferred inventing a third shoulder to showing one visible arm.
  • F5Growing limb. F5 seems to have increased the length of the red arm noticeably.
  • R1Both again. R1 still has the arm coming out of the character's spine. red arm length also appears off.

Then I stopped:

Sep 18 · 23:55shipped

it's not perfect but it's good enough. Now before we move on to other character graphics... Have we figured out how to direct these to other models so we get a higher degree of accuracy on these animations?

I'm glad that's on the record, because "good enough, now how do we generalize it" is the correct instinct and I nearly didn't have it. Perfect was available for another six hours. Good enough was available immediately, and good enough is what everything else could be measured against.

08 the
bar

"Good enough" is a threshold, not a compromise

I should be straight about what you're looking at on this page. This art isn't gorgeous. There are rough edges, a few bumps, a weird pixel or two if you step through slowly enough. That isn't an apology — it's the target, hit deliberately.

This is a prototype. Art is one of the cheapest things in the project to improve or replace later, and all of it eventually will be. What can't be faked at this stage is whether the world coheres — whether moving through it feels like the pieces connect, like you're absorbing a place rather than clicking past assets. That feeling is the real tell, and graphical detail is only one input to it. I'd argue it's among the lowest rungs on the ladder.

The actual quality bar

Art detail is low priority — right up until it's bad enough to break the connection. When a bear's legs swap mid-stride and I stop believing in the woods, it isn't "a bit rough" any more. It has stopped doing the one job it was there to do.

That's the whole standard, and it explains the shape of everything else in this journal. A walk cycle that reads wrong is a defect, because an animal I can't read pulls me straight out of the world. A slightly stiff elbow on F5 is a rough edge, and rough edges are affordable — they cost nothing that matters at this phase.

So every tick on that chart is me drawing that line on one specific frame. Not "is this beautiful?" but "does this break the spell?" Sixteen times over two evenings the answer was yes, which is why the grind happened. And when I finally wrote it's not perfect but it's good enough, I wasn't lowering the bar. I was saying the frame had cleared it — and that further polish was no longer the highest-value thing I could spend an evening on.

If you step through the sprites above and spot something imperfect, you're probably right. The question I'd ask back is whether you noticed it while it was playing, or only once you stopped it and went looking.

09 Sep 18
23:56

The second realization: write down how to catch it

One minute after "good enough," I said the thing that turned a working cycle into a working process. If the first realization was "build a model," this is the one I'd argue mattered more:

Sep 18 · 23:56the audit realization

we should ensure direction on each frame looks out for some of the failures we saw in this run. Get out in front of what we expect for each frame for the body, each leg, each arm (and whether they're visible at all). We need to also really emphasize that there's little difference in the overall size and shape of the character and their colorings remain consistent

That's the moment the generation prompt and the rejection criteria became two different documents. Everything I'd learned the hard way got written down as things to look for, per frame, in advance — not as things to hope for.

It proved itself twenty minutes later on the next character. I caught a failure that passed every automated check, and rather than just asking for a fix, I asked for the check to change:

Sep 19 · 00:19the sequence-advancement gate

F5 and R1 are basically no different. Update our checks to reject a sequence advance like this. That then put a lot of pressure on a jump on R3.

That single rule — compare three frames, not two, and reject a pair where the limbs effectively repeat and the next frame has to catch up — is now the hardest gate in the pipeline. A different file is not proof of advancement. Cloth moving isn't progress in a gait.

Sep 19 · 00:34

approved. I think we have solid rules and process in place now. Build out ALL the remaining animation graphics you need

Then dozens of characters — rangers, clerics, mages, royals, workers, children, merchants — went through the same two-reference generation and the same triplet review. Twelve hours later:

Sep 19 · 12:10

all approved. Great job. I think the new direction process and base models helped quite a bit

10 Sep 19
22:12

Same problem, four legs — and this time I saw it coming

The next night was region three, which needed a mossback bear. Here's the whole difference between night one and night four, in a question I asked before looking at a single frame:

Sep 19 · 22:12pattern recognition

will these animations apply a lot of the walking animation best practices and modeling we've recently developed?

Nine minutes later, having seen the first bear sheet, I didn't file a defect report. I diagnosed the class of problem and prescribed the same cure:

Sep 19 · 22:21the transfer

we likely need a four legged walking model so we can get the choreography defined once and then followed consistently. These steps are exhibiting a lot of the same problems our humanoid walking model choreography helped fix.

And then I did the thing I'm actually proudest of, which isn't writing anything. I went and got a second opinion from an agent that knew nothing about my project.

By this point Astra and I had three nights of shared history on walking — and that history was starting to work against us. An agent deep in a project accumulates habits and precedents the same way a person does, and it gets stuck in them for the same reasons. I wanted animation theory from something with no stake in what we'd already built. So I opened a separate conversation about nothing but quadruped walking, asked how to articulate the direction properly, and brought the answer back:

Sep 19 · 22:24 · sourced from a separate, context-free consult — pasted into the session

Identifying the Legs. To ensure consistent animation, the artist must first establish a clear visual hierarchy between the legs closest to the viewer and those further away.

Near Legs (Foreground): The front and back legs closest to the camera. These should have the most detail and the brightest local color.

Far Legs (Background): The front and back legs on the opposite side of the body. Apply a slightly darker color value or a shadow pass to the entire length of the far legs. This prevents visual tangling and allows the viewer's eye to easily track which leg is stepping.

Anatomical Anchors: The front legs bend backward at the "knee" (carpal joint), while the back legs bend forward at the "ankle" (hock). Ensuring these joints hinge in the correct, opposing directions is critical for quadruped weight distribution.

The Quadruped Walk Sequence. Most four-legged animals (including bears) utilize a four-beat walk cycle. The legs do not move in perfect unison; they land one at a time in a specific, offset sequence.

You can tell at a glance that I didn't write that. Every other quote on this page is lowercase, blunt and usually mid-typo — those legs are awful, still wrong, quit stopping. That brief has section headers and bolded terms of art. It reads like exactly what it is: pasted in from somewhere else.

And I couldn't have written it. What I did was recognise two things at once: that I needed vocabulary I didn't own, and that the agent already helping me was the wrong place to get it. Three nights of arguing about red legs and blue legs had taught me enough to know what to ask for, and enough to recognise a good answer when it came back — including that the near/far shading rule was the same idea that had rescued the humanoids, arriving independently from a source that had never heard of them.

That independent arrival is why I trusted it. And it's why, ninety minutes later, I'd push the same rule further than the brief did.

Eight-pose neutral quadruped walking master: a simple grey animal body with four legs colored orange, purple, pink and navy.
FIG. 4 — The neutral quadruped choreography, built from that brief. near fore · far fore · near hind · far hind. Deliberately not a bear.

I caught one real defect in it, and it's the same instinct as my very first note three nights earlier — the loop that doesn't close:

Sep 19 · 22:30

what I see there is correct, but do we need to complete the motion so limbs complete a full rotation from start → destination → back to start?

Compare that to it teleports back to the front again from Sep 16. Same observation, three nights of vocabulary apart.

Gait timing chart: four limbs, each with 70 percent stance and 30 percent swing, contacts evenly spaced at frames 1, 3, 5 and 7. 123 456 781 frame → near fore far hind far fore near hind planted · 70% of cycle swing · 30% contact
FIG. 5 — The four-beat contract from my brief, made exact: contacts a quarter-cycle apart in the order near fore, far hind, far fore, near hind. Validated across 4,000 sampled phases for constant bone length, ground clearance and loop-seam continuity. Approved at 22:43.

A bear walks low and flat-footed, so a species pass followed five minutes later — inheriting every timing value and paw trajectory from the approved master, changing only proportions and attachments. Approved at 22:48.

Eight-pose bear-proportioned walking model: shorter legs, lower hind attachments, broad flat soles, same four-color limb identity scheme.
FIG. 6 — The mossback bear profile. Shorter legs, lower hind attachments, broad flat soles, a two-unit weight dip. Dotted arcs are each paw's inherited trajectory — the timing came from the master, not from feel.
11 Sep 19
23:14

The obvious trick staring right at us

The first painted bear cycle still failed. The bright rear paw jumped backward in frame 3 and forward again in frame 4 — the generator had lost track of which hind leg it was drawing. Three nights earlier this would have cost me an evening of frame-by-frame notes.

Instead I wrote this, and it's the single best idea I had all week:

Sep 19 · 23:14the best idea

frame 2 near hind through frame 4 near hind appears to be all over the place. It read like the graphic generation is getting confused identifying near hind and far hind and getting them swapped in position.

There's literally an obvious trick staring right at us in these models... The far legs are always darker/shadowed while the fore legs are brighter. We should be able to use that logic to give our graphic authoring direction AND ability to better detect when this is wrong?

That last sentence is the whole thesis of four nights' work, and I didn't realize it when I typed it. The borrowed brief had prescribed darker far legs so a viewer could follow the motion. What I added is the second half: the same cue is how you check the result. The diagnostic colors weren't just scaffolding for the model — carried into the finished art as persistent near/far shading, they become a signal that serves both jobs at once. It tells the generator what to draw. And it lets anyone, including an automated check sampling actual fur pixels, verify afterwards whether it drew the right thing.

Generation and audit, solved by the same cue. That's why the bear works.

Bear v1 · before the modelrejected
1/8
Bear v3 · after the trickapproved 23:43
1/8
FIG. 7 — Press play on both. Left: four legs of identical fur value, ambiguous depth, paws that drift rather than plant. Right: full-length near/far shading, a real four-beat sequence, paws that stay put while the body travels over them. Ninety-one minutes apart.

Watch the left one for three seconds and you'll know something is wrong. You don't need any training for that — the legs muddle, a paw slides, the back half stops agreeing with the front. Human perception is excellent at this. Spotting it was never the hard part; it's what I'd been doing by eye for four straight nights.

The hard part was that I had no way to hand that perception over. I could see the sequencing break. I could not point at a limb and name it in terms that survived into the next frame — and the agent, with no cue to track, couldn't see the problem at all. All four legs were the same warm brown at the same value, so there was nothing for either of us to refer to.

That's what the shading actually fixed, and it's the part I'd underrated: it isn't really an art improvement. It's a translation key. Once near limbs are bright and far limbs are dark along their whole length, we are both looking at the same four objects with the same four names. I can say the bright hind paw jumps backward in frame 3 and returns in frame 4 and mean something specific and checkable. The agent can be told which limb to move — and caught when it moves a different one.

At 23:43 I wrote approved. next and went to bed.

12 what I
learned

What a non-artist can actually bring

I want to be careful not to tell this as "I was clever." I wasn't. I was stubborn, and I did the expensive thing for two full evenings before I did the cheap thing. The lesson is in the shape of the curve, not in any single insight.

But I've stopped thinking the lack of art training was the handicap. What I had instead turned out to matter more:

  1. Taste you can't yet explain still counts.

    They walk like a mannequin is not a useful instruction, but it is correct, and refusing to accept output I didn't believe is what kept the project honest long enough to find the real fix.

  2. Build the instrument before the artifact.

    Asking for speed control and per-frame toggles on night one is the reason every later judgement was specific. You can't fix what you can only see at twelve frames a second.

  3. Pain is data. Count it.

    Sixteen hand-written defect reports across forty-eight hours wasn't a sign I should try harder. It was a measurement telling me the approach didn't scale. I ignored that reading for about a day and a half longer than I should have.

  4. Get a second opinion that has no context.

    An agent three nights deep in your project carries its own habits and precedents, and gets stuck in them for the same reasons people do. When I needed animation theory rather than another revision, I asked somewhere that had never seen my bear. Knowing what to ask for was mine; the words were not.

  5. Make the reference ugly on purpose.

    A beautiful reference gets copied for its beauty; a diagram gets copied for its geometry. Two references with explicitly separate jobs, and say in the prompt which one wins on pose.

  6. Build a translation key, not just a reference.

    I could always see the error; I couldn't name it in terms the agent shared. Permanent identities — near hind, far fore — with a permanent visual cue carried into the finished art give both sides the same four objects to point at. That's what turns "this looks wrong" into "this limb moved wrong."

  7. The audit is the deliverable.

    The generation prompt and the rejection criteria are different documents. Writing the second one is what turned one good warrior into dozens of good characters and, a night later, into a bear.

  8. Ship "good enough" and generalize.

    "Good enough" is a threshold, not a shrug: does this break the player's connection to the world, or is it just imperfect? Revision six was imperfect and cleared the bar, which made it worth more as a baseline than a seventh revision would have been as a polish pass.

Four nights, three hundred-odd frames, and the thing that actually fixed it was a grey blob with one red leg and one blue leg. Sep 16–19, 2026