---
id: REPORT-DPS-001-3-MOVEMENT-TUNING
title: DPS-001.3 Movement Tuning Report
status: draft
owner: Design Office
updated: 2026-07-10
---

# DPS-001.3 Movement Tuning Report

## Active Preset

Default is the contract baseline and the active preset at scene start.

Debug hotkeys:

| Key | Preset |
| --- | --- |
| 1 | default |
| 2 | fast |
| 3 | floaty |
| 4 | heavy |

## Current Config Values

| Value | default | fast | floaty | heavy |
| --- | ---: | ---: | ---: | ---: |
| playerWidth | 42 | 42 | 42 | 42 |
| playerHeight | 72 | 72 | 72 | 72 |
| maxWalkSpeed | 280 | 340 | 260 | 230 |
| runThreshold | 220 | 260 | 205 | 180 |
| acceleration | 2200 | 3000 | 1900 | 1550 |
| deceleration | 2600 | 3200 | 2100 | 1800 |
| jumpVelocity | -720 | -740 | -690 | -650 |
| gravity | 1800 | 1900 | 1350 | 2100 |
| dashSpeed | 850 | 980 | 760 | 720 |
| dashDurationMs | 140 | 125 | 165 | 155 |
| dashCooldownMs | 350 | 300 | 380 | 430 |
| airControl | 0.8 | 0.9 | 0.95 | 0.55 |
| maxFallSpeed | 1200 | 1300 | 900 | 1400 |
| coyoteTimeMs | 100 | 100 | 130 | 85 |
| jumpBufferMs | 100 | 100 | 120 | 100 |
| landDurationMs | 90 | 70 | 100 | 130 |

## Observations

- Default remains aligned with `movement.contract.yaml` and the original engine constraints.
- Fast tests whether higher acceleration and a shorter dash cooldown improve flow without reducing precision.
- Floaty isolates airtime, forgiving air control and longer dash duration for jump-chain feedback.
- Heavy isolates grounded weight, slower acceleration and stronger gravity for comparison against sluggishness risk.

## Recommended Changes

- Run the DPS-001.2 playtest protocol against all four presets before changing the baseline.
- Capture responsiveness, flow, momentum, precision, control and fun scores per preset.
- Prefer changing one axis at a time after playtest: speed, gravity, air control or dash cadence.

## Open Questions

- Should the approved DPS-001 baseline optimize for speed expression or precision first?
- Should dash cooldown remain visible in the debug overlay for playtesters or only for developers?
- Should preset selection be captured in telemetry once movement metrics are persisted?
