Grip-limited braking and genuine coasting QA¶
Status: Unreal C++ source integrated; not UE5.8/UHT-compiled or hands-on Win64 qualified. This changes the actual physical player/AI Chaos chassis, not the independent experimental 2D preview.
Why this is a meaningful physics change¶
The previous simplified car used a speed-proportional braking rate
(7.0 × chassis forward speed) even during service braking. At
100 km/h, this could demand nearly 20g from the rigid body before
other forces. A second significant throttle-off damping rate also
hid the more recent realistic coasting/drag changes.
The shared Unreal pawn now:
- Derives requested forward deceleration from a bounded force policy, initially ~900 cm/s² in Arcade or 1050 cm/s² in Simulation Inspired (approximately 0.92g / 1.07g before grip/heat limits).
- Scales the brake force by actual confirmed pavement state, garage grip tuning, observed tire wear, existing collision damage and existing brake thermal fade. It does not invent tire contact data.
- Applies the physically signed force opposite measured forward velocity, including backing up, rather than assuming the driver always moves forwards.
- Keeps the intentionally lower-force human handbrake at about 470 cm/s² and avoids simply summing handbrake and service brake forces when both are held.
- Caps the brake's own projected one-frame speed removal at 85% of the observed current forward velocity. It fails closed on invalid mass, frame timing, grip, heat or velocity.
- Stops using neutral throttle as a hidden extra brake. Neutral coasting is now left to qualified progressive road load and the already-reduced baseline chassis damping.
- Does not modify physics velocity directly, race gates, time, rivals' routes, rewards, profile saves, records, garage unlocks or original top-speed limits.
This is a single rigid-body longitudinal approximation, not automotive ABS, disk/rotor or hydraulic simulation, real tires, wheel lock, suspension, braking certification, or calibrated stopping distance. The input numbers must be tested and adjusted with a real Unreal physics/gameplay build before release.
Automated validation¶
Tests/Standalone/GripLimitedBrakingTests.cpp: cold/hot service brakes, off-road/tire/damage combined degradation, reverse travel, handbrake only / both brakes, low-speed and long-frame no-reversal, no-brake/coasting, finite/range validation and 10,000 signed/cadence checks.Tests/Editor/UnrealGripLimitedBrakingBindingTests.py: confirms actual pawn force application and retains physical safety bounds, independent handbrake input, original traction, and scoring isolation.- Updated the pre-existing arcade force-composition integration assertion to enforce new bounded-brake and road-load pathways rather than the removed instantaneous rate-based service-brake behavior.
These are portable C++20 + source-binding tests. They DO NOT compile or execute Unreal, and do not certify actual car feel.
Genuine UE 5.8 Windows acceptance checklist¶
- Use a licensed installed UE 5.8 to build/cook the actual Win64
game, then use
Build-Windows-Playtest.cmdand record a real installed physical gameplay session. - Measure 100→0, 60→0, and 160→0 brake distances; record vehicle mass, tire condition, damage, brake heat and handling mode. Tune initial ~0.9–1.1g targets based on measured Chaos motion.
- Compare natural lift-off coasting with held service brake at 100 km/h. The brake must slow the car more decisively but avoid an almost instantaneous stop or reverse-speed snap.
- Test damage, grass/off-road, worn tires, brake fade after repeated laps, opposite-direction braking and deliberate handbrake drifts.
- Confirm AI rivals also complete ordered checkpoints and brake at corners with no new deadlocks. Check combined previous steering, progressive drag and automatic gearbox at 30/60/120 FPS.
- Check neutral throttle uphill/downhill and after collisions. The model operates on measured longitudinal velocity; Chaos contacts, longitudinal grip and slopes still need real calibration.
- Confirm recovery, pause/resume, OS focus interruption, restart, pit tire replacement, career medals and persistent profile saves behave exactly as before.
Physical installed QA and wheel/contact modeling remain major blockers under [playable release gate