Files
metabuilder/gameengine/packages
git a52ffd4ba9 feat(gameengine): add player inertia and tune Q3 movement to feel weighty
physics.fps.move was directly setting linearVelocity each frame on the
ground, producing the classic "no inertia" snap-stop feel. Replace with
a CalcFriction-style ramp: velocity accelerates toward target by
ground_accel * dt, decelerates to zero by ground_friction * dt when
input is released.

Tune the quake3 frame loop to match a modern shooter rather than vanilla
Q3 arcade speeds:
  - walk 4.5 m/s (was 8.0 — ~30 km/h is a sprint, not a walk)
  - sprint 1.5x (was 2.0x — 6.75 m/s top speed)
  - jump 0.9m / 0.22s (was 2.0m / 0.4s — Halo-ish hop, not a moon jump)
  - air control 0.15 (was 0.5 — less floaty mid-jump)
  - gravity_scale 1.6 (was 0.3 — was actually pushing the player UP
    when falling because of how the (gravityScale - 1.0) extra-force
    multiplier worked)

Defaults for the new ground_accel (35) / ground_friction (30) params
keep other workflows that use physics.fps.move feeling snappy without
having to update them.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-30 15:13:20 +01:00
..
2026-03-09 22:30:41 +00:00
2026-03-09 22:30:41 +00:00
2026-03-09 22:30:41 +00:00
2026-03-09 22:30:41 +00:00
2026-03-09 22:30:41 +00:00