Techniques · Strikes
The jab
The lead straight: the first punch, retrained with every new stance and still the one everything else is measured against.
Where it stands
| Technique | Teacher kept | In the student | Own runs |
|---|---|---|---|
| jab | step10-28.5M22 October 2026 | distill7-245.8M26 October 2026 | 32 |
The jab was the first punch, and its reference was scripted from my spec, written the way I would explain it to a beginner: the lead foot steps 16 cm as the fist goes out, the hips turn about 45°, the fist turns over so the palm faces the floor, the weight stays about 50/50, the chin stays behind the lead shoulder. It was built pose by pose with inverse kinematics and has no physics in it. I call it vibe-created. The whole first chapter is in the jab post.
On 16 and 17 October, 23 runs went through one lesson after another (run by run). Paid for a hit, the fighter reached out and touched, 15 cm short. Paid for speed, it stepped in and never came back. Made to come back, it stopped stepping at all, a local optimum. So I split the jab in two: style and speed up to the impact, and a relaxed way back. Then came the hips, then the arms and shoulders, then a rule against the little bow it found on the way back. The upright run hit 76 % of its training jabs at 4.6 m/s with the hips 4.9 cm behind the reference. The most accurate one hit 85 % of a fixed test of 54 jabs. The close jab was dropped, and the far jab was left waiting for a better reference.
When the other four punches were added, the fighter forgot the jab within 2.7 M steps (catastrophic forgetting). A frozen copy of the jab policy acting as a teacher fixed it at once, and the jab came out the best of the five: 11 of 12, and 29–33 N s into the 35 kg bag. In the speed work the fighter got its own punch clock and a stronger elbow, and the jab reached the target in 0.18 s instead of 0.22.
On 22 October I tried a jab that steps in to far targets, in the fast-stepping runs. The long step never learnt to push off the back leg, and I stopped the whole attempt.
Then the higher guard. On the all-punches video the jab was off by a lot, coming in 5–10 cm under the target, a habit inherited all the way from guard5. I asked for a tighter aim (guard15), and then for more than that: the punches had become unrealistically fast, so the elbows went back to their original motors and the jab back to the reference’s own pace. guard16 to guard18 did it. guard18-124.5M lands the jab 2–4 cm off in the air, and it is the base every teacher since was cloned from. The jab is held to guard18’s in every distillation, so the kept student, distill7-245.8M, throws guard18’s jab.
What’s next is the step. A jab that travels to a far target will come back with new references from my motion capture, the same way the dash did.
What I think, as a coach
My first reaction to the early runs was blunt: “It’s reaching out and touching.” There was no speed and no power.
The call that unlocked it: “The speed is important and so is the style before and on impact. But the step back can be more relaxed stylistically, to make it easier to recover.” And later: “If the hip movement, that rotation, the hip and the feet, is costing the jab speed and accuracy, focus on the top half of the body. The step is still important, stepping forward is important, but the actual rotation can be relaxed a bit.”
The order I settled on is the order I fix a beginner’s jab in. Speed and shape up to the impact first. The step forward next, because that is where the power comes from. The chest upright and the head up. The hip turn and the legs on the way back can be looser, as long as the fighter ends in its stance with the guard up. A jab thrown too close “looks really bad”; at that range a fighter should throw an elbow or a knee.
And speed isn’t everything. When the punches got too fast I said: “the chap is unrealistically fast … An opponent has no chance of blocking it”. I wanted the jab with an accurate aim, looking like the reference, at normal speed.
Every attempt
Every run that trained it on its own, in order.
| Run | Outcome | Machines | Hours | Cost |
|---|---|---|---|---|
jab1-2026101616 October · jab · kept jab1-7.45M · Run by run: the jab | Kept | 1 | 0.4 | $0.37 |
jab2-2026101616 October · jab · kept jab-v1-19M · Run by run: the jab | Kept | 1 | 0.8 | $0.76 |
jab3-2026101616 October · jab · kept jab-v2-depth-27.8M · Run by run: the jab | Kept | 1 | 1.3 | $2.67 |
jab4-2026101616 October · jab · kept jab-v3-fast-19.4M · Run by run: the jab | Kept | 1 | 0.8 | $0.80 |
step-jabhome-20261017b17 October · jab · Run by run: the jab | Not kept | 1 | 0.7 | $0.48 |
step-jabnohome-20261017b17 October · jab · Run by run: the jab | Not kept | 1 | 0.4 | $0.27 |
jabstyle1-2026101717 October · jab · kept jabstyle1-15M · Run by run: the jab | Kept | 1 | 1 | $0.69 |
jabstyle2-2026101717 October · jab · Run by run: the jab | Not kept | 1 | 0.9 | $0.63 |
jabhips1-2026101717 October · jab · kept jabhips1-15M · Run by run: the jab | Kept | 1 | 0.7 | $0.66 |
jabupper1-2026101717 October · jab · kept jabupper1-11.2M · Run by run: the jab | Kept | 1 | 0.5 | $0.50 |
jabupright1-2026101717 October · jab · kept jabupright1-15M · Run by run: the jab | Kept | 1 | 0.7 | $0.68 |
jabposture1-2026101717 October · jab · kept jabposture1-8.8M · Run by run: the jab | Kept | 1 | 0.8 | $0.78 |
jabphase1-2026101717 October · jab · Run by run: the jab | Not kept | 1 | 0.5 | $0.44 |
jabcold1-2026101717 October · jab · Run by run: the jab | Not kept | 1 | 0.4 | $0.36 |
jabreach1-2026101717 October · jab · Run by run: the jab | Failed | 1 | 0.1 | $0.10 |
jabreach2-2026101717 October · jab · kept jabreach2-10.0M, jabreach2-14.0M · Run by run: the jab | Kept | 1 | 0.7 | $0.63 |
jabdist1-2026101717 October · jab · Run by run: the jab | Not kept | 1 | 0.5 | $0.48 |
jabmidfar1-2026101717 October · jab · kept jabmidfar1-6.0M · Run by run: the jab | Kept | 1 | 0.7 | $0.63 |
jabdrive1-2026101717 October · jab · kept jabdrive1-10M · Run by run: the jab | Kept | 1 | 0.8 | $0.73 |
step1-2026102221 October · jab · kept step1-27.2M · Fast stepping and the step-jab (abandoned) | Kept | 3 | 1.4 | $1.01 |
step2-2026102221 October · jab · Fast stepping and the step-jab (abandoned) | Stopped | 1 | 0.5 | $0.29 |
step3-2026102221 October · jab · kept step3-15.7M · Fast stepping and the step-jab (abandoned) | Kept | 1 | 0.4 | $0.23 |
step4-2026102221 October · jab · kept step4-34.3M · Fast stepping and the step-jab (abandoned) | Kept | 1 | 0.7 | $0.56 |
step5-2026102221 October · jab · kept step5-19.4M · Fast stepping and the step-jab (abandoned) | Kept | 1 | 0.5 | $0.42 |
step6a-2026102221 October · jab · Fast stepping and the step-jab (abandoned) | Stopped | 1 | 0.4 | $0.25 |
step6b-2026102221 October · jab · kept step6b-12.0M · Fast stepping and the step-jab (abandoned) | Kept | 1 | 0.3 | $0.27 |
step7a-2026102222 October · jab · kept step7a-18.4M · Fast stepping and the step-jab (abandoned) | Kept | 1 | 0.5 | $0.31 |
step7b-2026102222 October · jab · Fast stepping and the step-jab (abandoned) | Stopped | 2 | 0.4 | $0.33 |
step8-2026102222 October · jab · kept step8-21.5M · Fast stepping and the step-jab (abandoned) | Kept | 1 | 0.5 | $0.38 |
step9-2026102222 October · jab · kept step9-22.4M · Fast stepping and the step-jab (abandoned) | Kept | 4 | 1.2 | $0.93 |
step10-2026102222 October · jab · kept step10-28.5M · Fast stepping and the step-jab (abandoned) | Kept | 1 | 0.6 | $0.44 |
guard15-2026102524 October · jab · The higher guard: retraining every skill onto a new stance | Stopped | 1 | 0.1 | $0.13 |
| 32 training runs | 38 | 19.7 | $18.19 |
Shared training
Runs that trained it together with other techniques: a base model, a retrain onto a new stance, a distillation into the student. Their whole cost is counted once, in the shared figure above, not split.
How the models descend
Its own runs, each with an arrow from the run it started from; faded boxes are models from elsewhere it started from or learnt from. Tap a run for its details. The whole history is on the lineage page.