Traditional game animation is (mostly) pregenerated. An animator sits at a computer and carefully poses the motion of each limb. Eventually, you have a spider that crawls across the ceiling and shoots acid in your face. Done!

In motion, this looks pretty good. In death, it's problematic. First, unless you've gone to the trouble of multiple death animations, creatures always die the same way. If you kill five hundred Basic Guards, you'll end up with five hundred identically-posed corpses lying around. Uncool. Second, death animations have nothing to do with the weapon you kill them with. Poke them a thousand times with a needle? He'll scream, fall over, and lie with his face on the ground. Shoot him with a portable nuclear warhead launcher? He'll scream, fall over, and lie with his face on the ground. Uncool. Third, death animations tend to "snap" from other animations. Basic guard takes a flying leap, jumps at you, you kill him midair . . . and suddenly he plays the Death Animation, which involves him instantly standing up in midair, then screaming, falling over, and lying with his face on an imaginary ground, while his corpse eventually falls into a pit. Uncool.

There's a solution to this. Games have gotten sophisticated enough that most modern 3d games include a basic physics engine. You don't need perfect physics for this, something simple is pretty effective. Animations are already based on a simple skeletal model – arms have two "bones", legs also have two "bones", etc – and it's easy enough to allow these bones to just move via the laws of inertia and behave properly on impact.

So you kill someone on a tower of boxes, his corpse will tumble down the boxes. You shoot someone with an air cannon while he's standing in front of a railing, he'll backflip over the railing. Rocket launcher to the feet? Flying guard corpse! Cool.

There's problems. (Of course there's problems. You think I'd be writing about it if it really were that simple?)

Ragdolls tend to be used only for actual death. It's just too hard to recover from a ragdoll collapse if the creature isn't actually dead. You knock a Basic Guard into a pile of boxes and he gets jackknifed between two – how does your Basic Guard recover from this? He doesn't, but now there's a living Basic Guard jammed uncomfortably into a pile of boxes. It doesn't work well. So ragdolls are only used for death.

But that introduces a new, irritating problem. Ragdolls can be used to detect death. Dead Space includes a gun that fires a shockwave which knocks things down. When knocked down, a lot of the zombies will cheerfully play dead, only to eviscerate you when you turn your back on them. However, it's trivial to determine if they're dead or not. See, when you knock them down, they always fall on their backs, with their legs facing you, and their left leg (from your perspective) slightly lower than their right leg. I know this very well from knocking down dozens and dozens of zombies this way.

When I see them fall down this way, I know they're just going to get up again in a few seconds. When I see them fall down any other way, I know the ragdoll mechanic kicked in, therefore I know they're dead, and therefore I can forget about them.

It's not very suspenseful.

I'm not sure what the solution is. It really is incredibly hard to recover smoothly from a ragdoll-based collapse. On the other hand, unless you have your artists make dozens of death animations, it'll always be easy to distinguish a "real" ragdoll death from a "fake" non-ragdoll death.

But it's a problem, and in a game like Dead Space, where detecting Proper Death is a very valuable skill, it's distracting like you wouldn't believe.

  • Yonatan Zunger

    2008, December 2nd 4:59 PM

    I assume that it's not practical to use the physics model for creatures apart from when they're dead?

  • Zorba

    2008, December 2nd 10:10 PM

    Not until we solve a lot of very complicated problems. As long as we're doing pre-canned animations, we can just assume that the animation will flow reasonably smoothly, since it's designed frame-by-frame to do so. Once we get into physics issues, we start running into huge issues involving AI required just to walk around.

    We end up with the same issues that the people trying to design humanoid walking robots do, only our robots are supposed to be able to do karate and shoot people as well.

    The advantage is that it's all in a world that we control, so we don't have to worry about high-precision sensors, but the disadvantage is that we're supposed to be animating a lot of these things. I'm not sure anyone has really tried – even Spore only has a relatively small number of canned animations.

  • Anonymous

    2008, December 3rd 1:09 AM

    You got a lot more involved in your "is it dead" detection. I operated under a different model, namely:
    Is it moving?
    Yes: Shoot it
    No: Did it drop loot?
    Yes: It's dead, collect loot.
    No: It's playing dead, shoot it some more.

    This works 95% of the time in Dead Space.

  • Requies

    2008, December 3rd 1:10 AM

    That was me above.

  • Lar

    2008, December 4th 10:12 AM

    So basically the zombies are bad poker players and have tells? =)

  • Zorba

    2008, December 5th 5:29 AM

    Basically, yep. Although most poker players aren't concerned with tells after they've been shot. :)

  • SnapDragon

    2008, December 6th 9:55 AM

    Trespasser – a 10-year-old game! – actually did animate dinosaurs using inverse kinematics. And it worked really, really well (ok, there WERE cases where it failed spectacularly, but the same can be said for ragdoll physics). It's stunning that nobody's been able to match it since. Pity the game was pretty bad. :)

    (Granted, I doubt you could make human motion look natural using IK. But for zombies, or dinos, or anything else… it'd be great.)

  • Nestor

    2009, March 31st 3:21 PM

    Interesting, can't they just zero out to a default pose to recover from the ragdoll and start replaying the animation from there? It's kind of like the problem you describe of the death animation snapping in a non sequitur way but you're probably less likely to notice. In DS it could be a kind of spasm where they go stiff as a board before getting up again

  • IA

    2009, October 17th 2:46 PM

    eviscerate :D
    that just made my day!

  • flYBOi

    2010, January 1st 3:07 AM

    I'm pretty sure Unreal Tournament 3 (2007) had showcased technology where you actually could feign death. Control of your character model would be revoked from you and your 'avatar' would just fall to the ground as per every other death in Dead Space. 'Recover' from your 'death' and your avatar would get up from the ground, rendering you control again.

    just my 2 cents…

    anyway, games nowadays integrate ragdoll physics and pre-rendered motion. Just look at Killzone 2.

Leave a Comment

Subscribe without commenting