Math for Game Programmers: Building a Better Jump | GDC

Added:

Jump Physics
Parabola Design
Jump Metrics
Distance Design
Rule Breaking
Variable Jump
Velocity & Gravity
Accurate Motion
Game Feel

Jump Physics

0:00
Playing Section
  • 1

    Introduces the goal of designing jumps via trajectory parameters instead of trial-and-error.

  • 2

    Derives projectile motion equations from constant gravity using integration.

  • 3

    Highlights the parabolic nature of jump arcs and their symmetrical properties.

Basic Kinematics: Understanding the algebraic relationships between displacement, velocity, constant acceleration, and gravity.
Quadratic Equations and Parabolas: Familiarity with the vertex form of a parabola and solving quadratic formulas for time and distance.
Vector Mathematics: Working with 2D vectors (X and Y coordinates) to represent position, velocity, and forces in a game space.
Numerical Integration in Games: Basic understanding of Euler integration (how game engines update velocity and position per frame).
Variable Jump Height and Input: Implementing game logic that alters gravity or velocity based on the duration of the jump button press.
Air Control and Trajectory Modification: Designing mechanics that allow players to influence their horizontal movement and steering while airborne.
Coyote Time and Jump Buffering: Adding standard 'game feel' enhancements that allow jumping slightly after leaving a platform or caching input just before landing.
Advanced Physics Integration: Progressing to more stable numerical integration techniques, such as Verlet integration or Runge-Kutta (RK4), for complex simulation.
502.9K views12.1Klikes25:43@GDCFestivalofGamingOriginal Release: 2016-12-12

This video explains how to construct natural-feeling jump trajectories in video games by deriving mathematical parameters (gravity and initial velocity) from designer-friendly inputs like desired jump height and distance, rather than starting with arbitrary physics constants; the approach leverages the parabolic nature of projectile motion under constant gravity, where the trajectory can be described using the equation f(t) = ½Gt² + V₀t + P₀, and designers can calculate the necessary physics values by defining constraints such as jump height H and duration T_H, then applying integration methods like Euler or Velocity Verlet to simulate the jump in code while optionally breaking physics rules (like increasing gravity beyond the peak) to create unique character feels.