Files
2077-gps-mod/contrib/re/docs/gps-momentum-field-tests.md
T

4.2 KiB

GPS Momentum Field Tests

Current patch surface: fixed additive penalty on ordinary GPS solver edge expansion, patched at the two ordinary relaxation callsites feeding 0x40ba58. Live tuning is through momentum_weights.bin.

2026-06-27 North Watson To Dogtown/Badlands

Starting context: player in North Watson near the motel/Cassius area. The two main comparison routes fit in the same map viewport:

  • The Damned / Dogtown, south into Pacifica.
  • Fuel Station fast travel point in the southwest Badlands/Biotechnica flats.

Screenshots:

  • ../logs/screenshots/the-damned-and-fuel-station-0.webp
  • ../logs/screenshots/the-damned-and-fuel-station-8.webp
  • ../logs/screenshots/the-damned-and-fuel-station-80.webp

Telemetry log:

  • ../logs/EdgeWeightGPS_live_momentum_ab_8_0_80.log

Results:

Route Penalty Expansion calls Route records Observed route
The Damned 8 1,057,410 78 Similar to vanilla; threads city blocks and a side highway.
The Damned 0 1,110,243 87 Similar visible corridor, slightly more route-record churn.
The Damned 80 1,010,035 70 Visibly smoother highway corridor, avoids City Center stair-stepping.
Fuel Station 8 296,976 89 Uses City Center roundabout/city threading.
Fuel Station 0 about 308k-314k 90-92 Similar visible corridor to 8.
Fuel Station 80 about 345k-347k 77-78 Converges onto the smoother highway corridor before splitting south.

Interpretation:

  • 0 and 8 are close visually in this location, despite small telemetry changes.
  • 80 is a strong proof value: it changes the coarse corridor and reduces route-record count for the tested long routes.
  • This supports the main hypothesis that a fixed per-segment additive penalty can optimize for smoother player-driving corridors, not merely highway class.

2026-06-27 Broad 80 Smoke

Telemetry log:

  • ../logs/EdgeWeightGPS_momentum80_broad_smoke.log
  • ../logs/EdgeWeightGPS_momentum80_drive_validation.log

User reported no bad routes after probing:

  • Claire routes differently than nearby Sinnerman, choosing a smooth Japantown highway leg.
  • Sinnerman still cuts through City Center, plausibly because that corridor is appropriate for that destination.
  • Short local routing to Cassius remains fine.
  • Heywood routes remain fine and may avoid some stair-stepping.
  • Routes near highways but not traffic-feasible still detour appropriately.
  • One NCPD bounty used a road the user had not previously seen GPS select, and it looked like a good fit.

Interpretation:

  • No obvious local-route breakage was found at 80.
  • 80 was not immediately pathological in the sampled routes and later became the working default after drive validation.
  • Higher values still need caution; 160 later proved too high.

Drive validation at 80:

  • The Damned / Dogtown route drove cleanly in the Outlaw at sustained high speed.
  • The route surfaced a back/elevated highway through Japantown/Westbrook that the user had not seen vanilla GPS select before.
  • Live minimap recalculation after a deliberate detour still worked.
  • Claire route also drove cleanly. One ramp/hill surprised the driver, but the issue was road unfamiliarity at full speed, not bad routing.

Conclusion after the drive test: 80 is the working default.

2026-06-27 40/160 Bounds

Telemetry log:

  • ../logs/EdgeWeightGPS_momentum40_160_tuning.log

At 40, the highlighted routes improved only partially:

  • Claire still used the Sinnerman/City Center path instead of the smoother outer road.
  • Sinnerman remained sensible.
  • The near-highway case remained acceptable.
  • The NCPD bounty took the smoother outer City Center road, but retained a Watson stair-step that 80 avoided.

At 160, overcorrection appeared:

  • Claire showed a questionable hairpin.
  • The Damned produced a fallback/straight-line style route instead of a usable road route.
  • The Gig/Cassius local access got worse, asking for a backtrack and hairpin instead of a simple nearby approach.
  • NCPD bounty regressed to stair-stepping.

Conclusion: 160 is too high. The useful bracket is roughly 40 < default < 160, with 80 currently best validated by map inspection and driving.