← jeffpelton.com dev.jeffpelton.com

Slow Fu 3D

Oct 3, 2026 — A 3D ragdoll fight at 1/20 speed. You drag fists and feet that carry real momentum, and nothing keeps you standing but you.

Open Slow Fu 3D →

After Slow Fu, my friend Andrew Moffat sent a spec for the version he actually had in mind: a 3D, QWOP-like UFC fight. Time runs at about a twentieth of real speed. You click and drag body parts that carry real mass and momentum, so a fist at full speed is hard to stop. Nothing stands your fighter up, joints only bend the way they should, hard hits break bones, and when it's over you watch the fight at 1×. Slow Fu 3D is that game, as a separate thing from the easy 2D one.

The interesting part was making muscles honest. My first version held each limb relative to a frame on the torso. That looked fine, but such springs can push the whole body around, so a leaning fighter quietly stood itself back up. In the version that shipped, every muscle is a spring between two points on the body: a part and an anchor on its parent, like a truss. Equal and opposite pulls along a line can hold a pose, but they can't move or rotate the body as a whole, so a still fighter is a statue that slowly tips over. The torso needed two extra internal points, at the upper back and the sacrum, because a skeleton whose points all sit in one plane can't resist bending forward. When you release a drag, your new pose becomes the pose the muscles hold. Overloaded muscles give way, which is how a hard hit turns into a stumble.

Dragging a part pushes it toward your finger with a capped force, and the reaction lands on the limb's root, or on your planted feet if you move your hips. A big punch twists your torso back, and with no foot on the ground you can't move your trunk at all. Hits are capsule-on-capsule impulses: head impulses add up to a knockout, limb impulses break bones, and a kicked leg gets weaker, so standing gets harder. Over the opponent, a dragged fist aims at the body part under your finger, so depth isn't a guessing game on a phone. There's a "balance help" setting for anyone who wants to fight rather than stand; Off is Andrew's pure version. The replay records itself into a vertical clip, and the promo above is a real, seeded fight between a bot and the sparring dummy, rendered frame by frame with the game's own three.js views.

Open Slow Fu 3D →