Articles

Physics-Based Feel: Weight, Momentum, and Gravity as Juice

How to tune gravity scale, drag, and mass to produce a specific kinetic feel. Variable jump height via gravity multipliers, the weight of heavy objects, and using physics constraints as expressive tools rather than simulation.

29 April 2026 ยท 6 min read

Physics feel is the bedrock of game feel. Before any particle effect fires, before any screen shake triggers, before any sound plays - the player has already formed a judgment about whether your game feels good based on how the character moves through space. Weight, momentum, and gravity are not visual effects. They live in the physics simulation itself, and they determine whether a game's core loop is satisfying or frustrating more than any amount of polish applied on top.

The goal is not physical realism. Real-world physics produces poor game feel in almost every genre. Real gravity makes jumps feel sluggish and uncontrollable. Real friction makes stops feel abrupt or slides feel unresponsive. Real momentum makes direction changes feel heavy and unresponsive. The goal is perceived physicality - movement that feels like it has real-world properties without actually simulating them accurately.

Gravity Tuning

Uniform gravity - the same downward force on ascent and descent - produces floaty, slow jump arcs that feel weightless and difficult to control. Nearly every acclaimed platformer uses variable gravity instead: standard gravity on the way up, higher gravity on the way down. This creates a snappier arc that peaks quickly and descends with intent, giving the player more time at the top of the jump (where they're making decisions about landing) and faster, more satisfying landings.

A fall multiplier of 1.5 to 3 times normal gravity is the standard range. Lower (1.5x) produces a weighty but still somewhat floaty feel appropriate for exploration platformers. Higher (2.5 to 3x) produces the snappy, punchy feel of fast-action platformers. The specific value should match the game's pace - a speed-run platformer wants faster-falling arcs so players spend less time waiting to land.

Variable jump height - cutting the jump arc short when the player releases the jump button early - gives players direct control over jump height within the same arc. This single feature transforms a binary jump into an expressive tool. Players learn quickly that a tap produces a hop and a held press produces a full jump, and they use this distinction constantly without being taught it. It's learned through feel, not instruction.

Acceleration and Deceleration

Acceleration governs how quickly the character reaches top speed from rest. Low acceleration (slow ramp-up) produces a drifty, momentum-heavy feel. The character builds speed gradually and overshoot turns. High acceleration (near-instant top speed) produces a responsive, snappy feel where the character goes where the stick points immediately. Most action games want high acceleration - the character should feel like an extension of the player's intent, not a physical object with inertia to overcome.

Deceleration is the inverse and equally important. A character that stops instantly feels robotic - the foot-planting animation has no time to play and the stop reads as a physics glitch rather than a intentional action. A character that slides to a stop over 20 frames frustrates players needing precise positioning. The target is a deceleration that feels purposeful: 3 to 6 frames to full stop in an action game, with a squash/anticipation pose on the first frame to sell the weight.

Direction changes mid-run should feel decisive, not slidey. When the player reverses direction, apply a sharp deceleration burst on the reversal frame - effectively penalising the pivot slightly - then accelerate in the new direction. This pivot cost makes the character feel like they have mass without making the controls feel sluggish. Remove it and the character feels like it's sliding on ice even at low speeds.

The Feel Parameter Table

Every physics feel system has the same set of tuning parameters. Understanding what each one does makes iteration faster and more intentional than trial and error:

Acceleration: how quickly top speed is reached from rest. Lower feels floaty and drifty. Higher feels snappy and responsive. Deceleration/friction: how quickly the character stops. Lower feels slippery. Higher feels grippy and tight. Top speed: maximum movement velocity. Lower feels methodical. Higher feels fast-paced and energetic.

Jump height: peak of the arc. Should be tuned to level design - the character should feel like they can just reach the platforms that require effort. Jump arc: uniform gravity feels floaty; variable gravity feels snappy. Aerial control: full directional control mid-air feels expressive and precise; limited aerial control feels weighty and committed to jump direction. Fall gravity multiplier: 1.5 to 3x normal is the range; higher produces punchier, more intentional landings.

Communicating Weight Without Slowing Down

One of the hardest problems in game feel is making a character feel heavy without making them feel slow. Real heavy objects are slow. Game characters that are both heavy and fast require the physics to lie convincingly. The solution is to put the weight signal in the extremities of movement - the acceleration and deceleration phases - while keeping the middle fast.

A heavy character who accelerates in 4 frames and decelerates in 6 but has high top speed reads as heavy. A light character who accelerates in 1 frame and stops instantly with lower top speed reads as nimble. The weight is in the transitions, not the cruise speed. Use this to design character feel archetypes that feel physically distinct without requiring radically different top speeds.

Landing impact is the other primary weight signal. A heavy character landing should produce: a squash in the character's proportions (compress vertically, expand horizontally) on the landing frame, a dust or impact particle at the feet, a landing sound with strong low-frequency content, and optionally a brief camera dip. None of these slow the character down. All of them communicate weight. The landing takes 2 to 3 frames of animation but makes the character read as 10 times heavier than the same character landing with no feedback.

Testing and Iteration

Physics feel is the area of game development where iteration matters most. The right values cannot be calculated from first principles - they must be felt. Set up a test scene with a variety of jump challenges: a short hop, a long run-up jump, a precision landing on a narrow platform, a direction change mid-run. Run through these repeatedly each time you adjust a parameter. The goal is not to pass the challenges but to feel whether the movement invites or frustrates.

Change one parameter at a time. Physics parameters interact - adjusting fall gravity changes how jump height feels, which may require retuning jump velocity, which may affect aerial control feel. Serial changes with testing after each prevents the common failure mode of adjusting five parameters simultaneously and not knowing which one caused the improvement or regression.

Document your parameter values at each milestone. Physics feel regressions - where a later code change accidentally alters a parameter or its application - are common and hard to diagnose without a reference point. A simple spreadsheet of the values that felt good at each playtesting milestone is enough to identify when something drifted and restore it quickly.

Part of a series

Controls & Input