The GDevelop Platformer extension uses a piece-wise polynomial model for character movement rather than strict physical laws. This model uses Verlet integration for fast sequential access and allows for more 'fun' than realistic physics.
Core Speed Components
The engine tracks two independent speeds:
currentJumpSpeed: An absolute speed value. While it is treated as an absolute value, it is visualized as a negative value that is subtracted from the falling speed. It stays at its initial value during the jumpSustainTime, then decreases according to gravity until it reaches 0.currentFallSpeed: Starts at 0 and increases according to gravity as soon as the jump starts, until it reaches maxFallingSpeed and remains constant.
Trajectory Phases (Piece-wise Function)
The character's trajectory is determined by three critical time borders:
jumpSustainTime: The end of the jump sustaining phase.maxFallingTime: When the character reaches maxFallingSpeed.jumpEndTime: When the currentJumpSpeed reaches 0.
Depending on how these borders relate, the trajectory follows different mathematical cases (sustain, common, max falling, gliding, affine, or free fall).