The Simulation tab exposes ~80 RaceConfig fields as live sliders, organised by group. This is where you tune the race sim’s behaviour to your taste — every value here directly modifies how the on-track action plays out.
The settings are grouped into 13 categories with colour-coded headers. Use the group dropdown (“All” by default) to filter.
Groups overview
| Group | Colour | What it tunes |
|---|---|---|
| All | grey | Everything |
| Overtake | green | Attempt rate, commit thresholds, success bonuses |
| Dirty Air | purple | Following penalty, tire degradation in dirty air |
| Tires | tan | Wear lifetime, optimal temp window, grip penalties |
| Mistakes | red | Base probability, threshold tiers, tire-temp factor |
| Engine | blue | Engine map effects, heat damage rate |
| Components | dark grey | Aero, suspension, brake scaling factors |
| Track | green | Rubber evolution rate, grip / wear / temp offsets |
| Pit Stops | brown | Service times, fuel flow, out-lap penalties |
| Stats | olive | Driver stat scaling factors |
| Stamina | teal | Drain rates, fatigue effects |
| Visual | purple | (Placeholder for visual tuning) |
| Launch | orange | Standing-start launch behaviour (reaction, bog, wheelspin) |
Frequently tuned settings
These are the sliders most players touch first.
Overtake
overtake_attempt_base(default 0.0005) — base per-tick attempt probability. Bump to 0.001 for a more chaotic field; halve to 0.00025 for fewer overtakes.aggressivity_spread(default 1.0) — multiplier on the AGG-derived attempt factor. 5× spread between AGG 1 and AGG 20.opening_lap_overtake_boost(default 7.0) — first-lap chaos multiplier. Higher = more T1 incidents.
Tires
tire_lifetime(m) — distance before the wear cliff. Increase for more 1-stoppers; decrease for tire-shredder feel.tire_optimal_low/tire_optimal_high(°C) — optimal temp window. Narrower window = harder to manage tires.tire_wear_speed_malus— pace penalty per wear unit. Steeper makes the cliff bite harder.
Mistakes
mistake_base_prob(default 0.06) — base mistake probability at zone transitions. 0.12 → twice as many mistakes; 0.03 → cleaner racing.mistake_threshold_small/mistake_threshold_medium— boundaries between Lockup / Spin / Crash tiers.
Engine
engine_heat_damage_rate(default 0.000005) — per-tick heat damage scalar. Quadruple it (0.00002) for “engines die every 2 races” feel.
Pit Stops
pit_service_base_time(default 1.5s) — fixed pit cost regardless of refuel/tire change duration.pit_tire_change_time(default 5s) — tire swap baseline.pit_fuel_flow_rate(default 12.0 kg/s) — refuel speed.pit_out_lap_penalty(default 0.03) — out-lap pace penalty after a stop.
Stamina
stamina_proximity_range/stamina_proximity_bonus— how proximity to other cars accelerates stamina drain.
Launch
launch_reaction_min/launch_reaction_max— driver reaction time spread at lights-out.launch_bog_chance/launch_spin_chance— probability of poor launches.launch_quality_min/launch_quality_max— overall launch performance distribution.
Slider mechanics
Each slider has:
- Label — the field name + display name
- Track — drag the handle to a new value
- Live numeric — current value displayed
- Lo / Hi bounds — config-defined safety range
- Group colour — left edge of the row coloured by group
Drag with mouse to change. Scroll wheel scrolls the panel.
Saving
Slider changes save to saves/config.db SQLite, scope = "race". Each key=value pair is stored.
On race start, the values from config.db override the compiled defaults. Restart NOT required — set_config_override re-applies live after each save.
Reset Simulation Defaults
The “Reset Defaults” button on this tab rebuilds the slider list from RaceConfig::default(). Any custom values are reverted; the saved DB entries are NOT deleted on reset — they’re rewritten on next save with the default values.
Tuning advice
For more realism
mistake_base_prob0.06 (current) — already calibrated against real-F1 mistake ratestire_lifetimeadjust to match your preferred 1-stop/2-stop dominanceengine_heat_damage_rate0.000005 (current) — engines last 10–15 GP
For more chaos
mistake_base_prob0.12 (double) — every race has a Spin or twoopening_lap_overtake_boost10.0 — T1 mayhemaggressivity_spread1.5 — AGG drivers go for everything
For closer racing
dirty_air_speed_penaltyreduce → less following penalty → cars stay closeovertake_attempt_baseincrease → more attempts per secondback_off_speed_factorreduce → less train-formation behaviour
For pure-pace (qualifying-style)
mistake_base_prob0.02 → near-zero mistakes- Disable side-by-side resolution by setting
side_by_side_max_cornersvery high (5+)
File / DB inspection
If you want to see what’s stored:
sqlite3 saves/config.db
> SELECT key, value FROM config WHERE scope = 'race';
Each modified slider creates a row. Reset doesn’t delete them; it rewrites with defaults.
You can also edit race_config.txt directly (next to the binary) — values there merge with the DB on load.
Related pages
- Settings — Career — career-mode-specific sliders
- Settings — Display — render settings
- Settings — Audio — volume sliders