← jeffpelton.com dev.jeffpelton.com

Slow Fu

Oct 3, 2026 — A fighting game played in slow motion. You drag fists and feet at 1/10 speed, then watch it at full speed.

Open Slow Fu →

Slow Fu is my friend Andrew Moffat's idea: a ragdoll fighting game with no animations at all. You click and drag your fighter's body parts, and physics does the rest. Time runs at a tenth of normal speed while you fight. When the fight is over you watch it at 1×, and a minute of fumbling turns into five seconds that look like a choreographed kung fu fight.

Each fighter is eleven Verlet particles joined by bones. "Muscles" are springs that pull every part back toward a guard stance, which is the only reason anyone stays standing. When you drag a part, its muscle hands over to a stiff spring toward your finger, capped by how strong that part is. A fist can whip to 10 m/s, but the hips are heavy, and dragging a fist far enough pulls the shoulders into the punch. Damage grows with the square of the impact speed and depends on where it lands. A fist that hits an arm counts as blocked. The opponents fight with the same tool: their AI drags one body part at a time toward a target, at its own speed. There are six of them, from a training dummy to Grandmaster Slow.

The tricky part was the balance between the two clocks. At 1/10 speed you have ten times longer to react than your opponent, so the AI has to be very fast in game time, or it feels like punching a statue. The fights end up lasting five to eight seconds of game time, which is about a minute of play, and that's the length of the replay.

While the replay plays, the game records it into a vertical video with sound (MediaRecorder on a second canvas), so the results screen has a Share clip button. The simulation is deterministic, so the promo above is rendered frame by frame from real AI-vs-AI fights, searched by seed for good knockouts. It's plain JavaScript and canvas, with every sound synthesized. In slow motion the sounds play deep and stretched, and in the replay at real pitch.

Open Slow Fu →