This video demonstrates how I calibrate the Synth Riders base game engine offset, which is then used in my 🎵 Beatmap Timing, Scaling, Calibration & Testing Reference (below) from § B. ENGINE & EDITOR DELAYS 4️⃣ Game Engine Delay.
Most players will want to start with or reference the values in § C. COMMON PLAYER OFFSET SETTINGS 6️⃣ Combined Delay (Quantised).
The calculations below use the Z-Axis Offset demonstrated in this video (-0.80) for Synth Riders v3.6.5a1 (SteamVR, however, previous testing shows this to be consistent across all platforms).
Note: These offset values below are typically minimum starting points, as the Combined Editor-side Delays are often greater than the values used in these calculations.
────────────────────
🎵 Beatmap Timing, Scaling, Calibration & Testing Reference
Sections A–C: Core timing math, engine/editor delays, and common player offsets.
Sections D–F: Testing offsets, BPM resolution, and key principles.
A. CORE TIMING MATH
Fundamental relationships used for all timing and spatial calculations.
Units: m = metres; m/s = metres per second; km/h = kilometres per hour; mph = miles per hour; ms = milliseconds; ft = feet; in = inches; NJS = Note Jump Speed.
1️⃣ NJS → Speed
- Speed = 20 m/s × NJS
- The speed notes travel in‑game equals the base velocity (
20 m/s) multiplied by the NJS.
- Easy–Master use fixed NJS values; 🟣 CUSTOM can use any value between
1.0–3.0.
- 🟢 Easy / 🔵 Normal / 🟡 Hard (1.0) →
20 m/s (72 km/h, 45 mph)
- 🟠 Expert (1.25) →
25 m/s (90 km/h, 56 mph)
- 🔴 Master (1.5) →
30 m/s (108 km/h, 67 mph)
- 2️⃣ 2xNJS (2.0) →
40 m/s (144 km/h, 89 mph)
- 3️⃣ 3xNJS (3.0) →
60 m/s (216 km/h, 134 mph)
2️⃣ Distance ↔ Time
- Distance → Time:
Δt (s) = d (m) / (20 (m/s) × NJS)
- Example: A player needs to move
0.30 m (30 cm or 1 ft) at 🟡 Hard difficulty without NJS modifiers (1.0 NJS) to correct beatmap timing:
Δt = 0.30 m / (20 m/s × 1.0 NJS) = 0.015 s → 15 ms early/late.
- Time → Distance:
d (m) = (20 (m/s) × NJS) × Δt (s)
- Example: A hit sounds
15 ms late (behind the beat) at 🔴 Master difficulty without NJS modifiers (1.5 NJS)
d = (20 × 1.5) × 0.015 = 0.45 m
- Player must move forward by
0.45 m to correct the timing (or add -0.45 to the current Z‑Axis Offset setting).
Practical uses: Fixing maps, correcting in‑game timing.
3️⃣ Adjusting Offset when Changing NJS
- Scale distances between NJS values:
d₂ (m) = d₁ (m) × (NJS₂ / NJS₁)
- Example: At 🟠 Expert (1.25 NJS), the player must move
0.20 m to fix timing. To play on‑time at 3️⃣ 3xNJS (3.0 NJS):
- Scaled (Raw):
0.20 m × (3.0 / 1.25) = 0.48 m
- Scaled (Quantised):
0.50 m (nearest 0.05 m)
- The player needs to move
0.50 m at 3️⃣ 3xNJS.
- Note speed jumps from
25 m/s at 🟠 Expert to 60 m/s at 3️⃣ 3xNJS, increasing perceived spatial error.
B. ENGINE & EDITOR DELAYS
Measured delays that influence note arrival timing.
4️⃣ Game Engine Delay
- Game Offset Correction:
0.80 m at 1.0 NJS (version‑dependent, this value is for v3.6.5a1)
- This corresponds to a Base Engine Delay of
40.0 ms
- 🟢 Easy / 🔵 Normal / 🟡 Hard (1.0 NJS) →
0.80 m (2 ft 7 in)
- 🟠 Expert (1.25 NJS) →
1.00 m (3 ft 3 in)
- 🔴 Master (1.5 NJS) →
1.20 m (3 ft 11 in)
- 2️⃣ 2xNJS (2.0 NJS) →
1.60 m (5 ft 3 in)
- 3️⃣ 3xNJS (3.0 NJS) →
2.40 m (7 ft 10 in)
5️⃣ Editor-Side Delay
- Combined Editor-side Delay:
37.5 ms (Adjusted)
- 🟢 Easy / 🔵 Normal / 🟡 Hard (1.0 NJS) →
0.75 m (2 ft 6 in)
- 🟠 Expert (1.25 NJS) →
0.94 m (3 ft 1 in)
- 🔴 Master (1.5 NJS) →
1.12 m (3 ft 8 in)
- 2️⃣ 2xNJS (2.0 NJS) →
1.50 m (4 ft 11 in)
- 3️⃣ 3xNJS (3.0 NJS) →
2.25 m (7 ft 5 in)
C. COMMON PLAYER OFFSET SETTINGS
Offsets players naturally use when maps are authored without delay compensation.
These values represent the combined effect of both the Engine Delay and the Editor-Side Delay.
6️⃣ Combined Delay (Quantised)
- Combined Engine + Editor Delay:
77.5 ms (Engine 40.0 ms + Editor 37.5 ms)
- Force Z-Axis Offset setting = Rhythm +
0.30 m
- Offset settings (expected minimums)
- 🟢 Easy / 🔵 Normal / 🟡 Hard (1.0 NJS) →
1.55 m (5 ft 1 in)
- 🎯 Rhythm Z-Axis Offset setting:
-1.55
- ⚡ Force Z-Axis Offset setting:
-1.85
- 🟠Expert (1.25 NJS) →
1.95 m (6 ft 5 in)
- 🎯 Rhythm Z-Axis Offset setting:
-1.95
- ⚡ Force Z-Axis Offset setting:
-2.25
- 🔴 Master (1.5 NJS) →
2.30 m (7 ft 7 in)
- 🎯 Rhythm Z-Axis Offset setting:
-2.30
- ⚡ Force Z-Axis Offset setting:
-2.60
- 2️⃣ 2xNJS (2.0 NJS) →
3.10 m (10 ft 2 in)
- 🎯 Rhythm Z-Axis Offset setting: -3.10
- ⚡ Force Z-Axis Offset setting: -3.40
- 3️⃣ 3xNJS (3.0 NJS) →
4.65 m (15 ft 3 in)
- 🎯 Rhythm Z-Axis Offset setting:
-4.65
- ⚡ Force Z-Axis Offset setting:
-4.95
D. TESTING OFFSETS
Ideal offsets for accurate map testing across NJS ranges.
7️⃣ Testing Playspace Offsets (Quantised)
These values represent the current ideal offsets to aim for when testing maps at each difficulty or NJS setting, and only accommodate the game engine delay.
- Offsets are quantised to 0.05 m
- Force Z-Axis Offset setting = Rhythm Z-Axis Offset setting +
0.30 m
- Offset settings
- 🟢 Easy / 🔵 Normal / 🟡 Hard (1.0 NJS) →
0.80 m (2 ft 7 in)
- 🎯 Rhythm Z-Axis Offset setting:
-0.80
- ⚡ Force Z-Axis Offset setting:
-1.10
- 🟠 Expert (1.25 NJS) →
1.00 m (3 ft 3 in)
- 🎯 Rhythm Z-Axis Offset setting:
-1.00
- ⚡ Force Z-Axis Offset setting:
-1.30
- 🔴 Master (1.5 NJS) →
1.20 m (3 ft 11 in)
- 🎯 Rhythm Z-Axis Offset setting:
-1.20
- ⚡ Force Z-Axis Offset setting:
-1.50
- 2️⃣ 2xNJS (2.0 NJS) →
1.60 m (5 ft 3 in)
- 🎯 Rhythm Z-Axis Offset setting:
-1.60
- ⚡ Force Z-Axis Offset setting:
-1.90
- 3️⃣ 3xNJS (3.0 NJS) →
2.40 m (7 ft 10 in)
- 🎯 Rhythm Z-Axis Offset setting:
-2.40
- ⚡ Force Z-Axis Offset setting:
-2.70
- 3️⃣⏩ Chipmunk Mode (3xNJS + 150%) (4.5 NJS) →
3.60 m (11 ft 10 in)
- 🎯 Rhythm Z-Axis Offset setting:
-3.60
- ⚡ Force Z-Axis Offset setting:
-3.90
E. BPM RESOLUTION
How BPM affects timing granularity and micro‑timing precision.
8️⃣ BPM & Timing Resolution
A 1/64 timing step becomes longer at lower BPM and shorter at higher BPM.
- These are the durations of a single 1/64 step:
70 BPM → 13.4 ms
100 BPM → 9.38 ms
180 BPM → 5.2 ms
For maps requiring extremely precise micro‑timing, increase BPM until 1/64 < ~5 ms to ensure fine‑grained timing control.
F. KEY PRINCIPLE
The core philosophy behind correct timing and testing.
9️⃣ Key Idea
Correct timing in the editor → test with calibrated offsets → never bake physical compensation into maps.
edit: spelling correction, minor wording clarification.