Ragdoll Physics
Dynamic death
Ragdoll physics hands a jointed character to the physics engine so it falls as the forces dictate; described by Chris Hecker in Edge in 1998, shipped in Unreal Tournament 2003 via MathEngine's Karma, and dismissed by Gabe Newell as flopping-around corpses once Half-Life 2 had made physics a tool instead.
A ragdoll is a character modelled as rigid limbs joined by constrained joints and handed to the physics engine, so that when it is shot, blown up or thrown off a cliff it falls the way the forces dictate rather than playing a stored animation. The word appears in Edge in 1998 as a simile for what such a body does when dropped; by 2002 it was a feature name reviewers used without explanation; by 2005 the physics vendors were trying to get past it.
Fast facts
- The idea in print: Chris Hecker in Edge, August 1998 — build a creature from “bodies and joints” and “you can drop this creature and it will buckle and fall to the ground like a ragdoll”.
- The first shipping attempt (per Edge, 2005): MathEngine’s Karma engine in Unreal Tournament 2003, which PC Gamer said showed off ragdoll deaths “to gratuitous effect”.
- The middleware answer: Havok 2.0 (2003), “up to ten ragdoll models in realtime”.
- The put-down: Gabe Newell’s “flopping-around corpses”.
The word
Edge’s August 1998 feature on character animation gave most of a page to Chris Hecker, “a veteran coder and respected authority on ingame physics”, and his argument against motion capture: it “doesn’t tell you anything about the dynamics of the movement. What does a motion-captured animation do if one of its limbs hits something or gets tied down? Nothing. It either continues the animation and looks stupid, or it stops playing the animation and looks stupid!”
His alternative was the constrained body. Take a lower arm, “constrain it to another body (the upper arm) and set the type of joint between them… a hinge or elbow”, switch on the simulator, and “if I pull on the wrist, the arm straightens out and then drags along after me. Basically, it acts like a real arm.” Build a whole creature that way and, if the simulator handles contact, “you can drop this creature and it will buckle and fall to the ground like a ragdoll.” That is the whole technique in one sentence, three or four years before games shipped it. Hecker was clear that the falling-down part was the easy bit; “the real hard part” was “a controller that acts as the creature’s muscles and makes it stand up and act like it’s alive”. Games would ship the easy bit first.
Flopping-around corpses
Looking back from 2005, Edge dated the first attempt to “the integration of MathEngine’s Karma engine into Unreal Tournament 2003 to drive the motion of ragdoll characters”. PC Gamer’s 2002 review confirms the feature was already “much-touted”: Bombing Run’s “spiky girder-filled pits” were “a device that shows off the Math Engine ragdoll physics to gratuitous effect”, and dying meant “a realistic and ghastly sequence” of a body tumbling. It “only modelled the impact of forces and collisions on inanimate skeletons” — what Valve’s Gabe Newell would later call “flopping-around corpses”.
The demand was there regardless. Havok’s Steve Collins told Edge in March 2003 that “70 per cent of top ten games are about characters” and that “gamers aren’t happy seeing characters sliding along with their shoulder or arm embedded in the wall anymore”. Havok 2.0 was re-engineered so it could “run the dynamics of up to ten ragdolls” where its predecessor “struggled with just one at a time”, and Remedy was using it for “collision detection and character controllers” in the Max Payne sequel.
In games
Max Payne 2 arrived at the end of 2003 with ragdolls that “may not match the flying limbs and broken faces of Soldier of Fortune”, but whose “throwaway approach to life and death is genuinely shocking”. A year later two games in the same issue of Edge showed where the technique was going. Half-Life 2 was praised as “a game in which physics are more than just an excuse for ragdoll deaths”: the gravity gun that could “drag objects, pick them up and carry them about” was “the core tool”, and the corpses were incidental. FlatOut, “a racing game with physics as a weapon”, went the other way and made the ragdoll the entertainment: bonus events that “involve ejecting your drivers through the windscreen at the optimal moment (and angle) to get them to fly as far or as high as possible. Watching them twist and flop through the air is as hilarious a pleasure as it is a guilty one.”
Beyond the ragdoll
By GDC 2005 the vendors were describing the ragdoll as a starting point. James Golding, who had done the Karma integration for Epic and now worked on physically based animation in the Unreal engine, wanted to “‘direct’ your scene instead of meticulously controlling the movement of every bone”: “Our crates now move as good as they look - it’s time to start doing the same for our creatures.” Havok’s Collins put the target more simply — “We’ve all seen ragdolls being blown up and expect them to be able to get up again” — and the company’s newest product was Havok Animation, “physics-based simulation for believable in-game character motion”. That was Hecker’s “real hard part”, seven years on.