Lessons

What makes a game feel alive

The systems between a player's input and a character on screen that looks and feels right. It starts with animation, on one small rig whose every joint you can see: what a pose and a clip are, blending and keeping clips in step, the state machine that picks what plays and how it switches, inverse kinematics for hands, heads and feet, and who moves the character, gameplay or the animation. Game feel and procedural generation will join it; their labs are already here.

Essentials · read these first

  1. 1Poses, keys and blendingWhat a pose, a clip and a blend are, and why blended feet slide unless the clips are kept in step.
  2. 2State machines and transitionsHow gameplay drives animation through a state machine, and the four ways to switch poses without a pop.
  3. 4Root motionWhether gameplay or the animation moves the character: the choice behind sliding feet, drift and snapping.

Labs for these lessons

Animation

  1. 1Poses, keys and blendingA character's pose is a list of joint rotations; a clip is a list of poses over time; a blend mixes poses. How each works, the angle that spins the wrong way, and why blended feet slide unless the clips are kept in step.
  2. 2State machines and transitionsGameplay sets parameters; an animation graph turns them into a pose. States, transitions and exit times; four ways to switch from one pose to the next (cut, frozen, crossfade, inertialization) and what each costs; and layers that let the upper body wave while the legs run.
  3. 3Inverse kinematicsAnimation says how joints turn; gameplay says where a hand or foot must be. Two-bone IK solves an arm or a leg exactly; CCD and FABRIK iterate along longer chains; a look-at spreads a turn down the spine; foot placement puts animation made on flat floors onto real ground.
  4. 4Root motionWho moves the character: gameplay or the animation? In-place animation on a capsule that gameplay drives, root motion taken out of the clip, and what happens when it is taken out of neither. Drift, sliding feet and the snap, play-rate warping, and where motion matching fits.

The rig, its clips and every system on it are deterministic and stepped at 60 Hz in your browser, so the same settings always give the same numbers; the animation lab runs the same code. Code examples are in C++.