Game Development

dylantarre/animation-principles/skills/01-by-domain/game-development

by dylantarre83597134ba8fNo license99 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 9 months ago

Use when implementing game animations, player feedback, character movement, or interactive entertainment in Unity, Unreal, or other game engines.

AI-generated overview

Applies Disney's 12 animation principles to game animation, player feedback and character movement in game engines.

What it does
This skill provides guidance for implementing game animation and interactive feel by mapping Disney's 12 animation principles to engine-level techniques. It covers squash and stretch, anticipation, staging, follow-through, easing, arcs, secondary action, timing, exaggeration, solid drawing and appeal, with short explanations of each. It also includes engine patterns for Unity and Unreal and a frame-data timing reference for attacks, jumps and dodges. It produces advisory guidance and code snippets rather than files or scripts.
When to use it
Use it when implementing or tuning game animations, character movement, impact feedback or interactive entertainment in Unity, Unreal or similar engines. It is suited to work on animation curves, hit-stop, attack frame data and readable player feedback.
Requirements
No scripts or assets are included; it is instructions only. The engine examples reference Unity (C#) and Unreal (C++), so a game engine project is implied for applying them.

Game Development Animation

Apply Disney's 12 animation principles to game engines, player feedback, and interactive entertainment.

Quick Reference

PrincipleGame Implementation
Squash & StretchCharacter deformation, impact frames
AnticipationWind-up animations, charge indicators
StagingCamera focus, environmental cues
Straight Ahead / Pose to PoseProcedural vs keyframed animation
Follow Through / OverlappingCapes, hair, weapon trails
Slow In / Slow OutAnimation curves, attack/recovery
ArcProjectile paths, jump trajectories
Secondary ActionParticles, screen shake, audio sync
TimingFrame data, hit-stop, response windows
ExaggerationStylized movement, hit reactions
Solid DrawingConsistent silhouettes, read at distance
AppealCharacter personality, satisfying feedback

Principle Applications

Squash & Stretch: Deform characters on landing impact. Stretch during fast movement. Impact frames freeze and squash for power. Keep volume consistent in deformation.

Anticipation: Attack wind-ups telegraph to players. Jump squats before leaving ground. Charge attacks show buildup. Enemy tells warn of incoming damage.

Staging: Camera frames important action. Environmental lighting guides attention. Enemy placement creates readable combat scenarios. UI doesn't obscure critical gameplay.

Straight Ahead vs Pose to Pose: Procedural animation (ragdoll, physics) is straight ahead. Keyframed attack combos are pose to pose. Blend both—keyframed base with procedural secondary motion.

Follow Through & Overlapping: Secondary elements (hair, cloth, tails) continue after body stops. Weapon trails persist after swing. Landing recovery extends past initial impact.

Slow In / Slow Out: Use animation curves—never linear for character motion. Attack startup fast-out, recovery slow-in. Ease jumps at apex for floatiness control.

Arc: Jumping follows parabolic arc. Sword swings trace curved paths. Projectiles arc naturally unless hitscan. Dodge rolls curve rather than linear translate.

Secondary Action: Screen shake on impact. Particle bursts on hits. Controller rumble synced to action. Sound design reinforces visual timing.

Timing: Hit-stop (freeze frames) emphasizes impact—2-5 frames typical. Attack startup/active/recovery frame data matters for game feel. Response to input under 100ms.

Exaggeration: Game animation reads at distance and speed. Exaggerate poses 20-30% beyond realistic. Hit reactions more dramatic than physics would suggest. Stylization serves clarity.

Solid Drawing: Silhouettes must read at all zoom levels. Consistent character proportions across animations. Strong poses at keyframes. Avoid tangent lines that confuse form.

Appeal: Characters have personality in idle animations. Movement feels satisfying independent of mechanics. Players should enjoy watching their character move.

Engine Patterns

Unity

csharp
// Squash and stretch on landingIEnumerator LandingSquash() {    transform.localScale = new Vector3(1.2f, 0.8f, 1.2f);    yield return new WaitForSeconds(0.05f);    // Ease back to normal    float t = 0;    while (t < 1) {        t += Time.deltaTime * 8f;        transform.localScale = Vector3.Lerp(            new Vector3(1.2f, 0.8f, 1.2f),            Vector3.one,            EaseOutElastic(t));        yield return null;    }}
// Hit-stop for impactIEnumerator HitStop(int frames) {    Time.timeScale = 0f;    for (int i = 0; i < frames; i++)        yield return null;    Time.timeScale = 1f;}

Unreal

cpp
// Animation curve for easingUPROPERTY(EditAnywhere)UCurveFloat* JumpArcCurve;
// Apply curve to movementfloat CurveValue = JumpArcCurve->GetFloatValue(NormalizedTime);

Timing Reference

Action TypeStartupActiveRecovery
Light attack3-6f2-4f8-12f
Heavy attack12-20f4-8f16-24f
Jump3-4f--4-6f
Dodge2-4f8-12f6-10f

Frame data at 60fps. Adjust for target framerate.

Source and attribution

Source:dylantarre/animation-principlesinskills/01-by-domain/game-developmentat commit8359713

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal