Status: planned, not yet implemented. This page documents the design intent so the wiki and the codebase stay in sync as the system lands.
Each track on the calendar already has a circuit profile (length, corner count, climate). Track traits add a layer of named characteristics on top — “high-speed”, “tire-shredder”, “engine-killer”, “passing-friendly” — that bias the race in repeatable, plannable ways.
A trait isn’t a separate physics layer; it’s a tag that steers existing sim parameters for that weekend. The point is to make every GP feel different from the last beyond just “Bahrain looks like sand and Spa looks like grass”.
What a track trait is
- Permanent for the calendar slot — once a track is generated, its traits are fixed for the whole career
- Visible in the Calendar app — listed alongside the circuit preview
- Mechanical — modifies global sim coefficients for cars on that track only
- Multi-trait — a track can carry 3–5 traits, some positive (interesting), some neutral, some “watch out for”
Traits are designed to give each weekend a personality without writing per-track special-cases everywhere. They’re knobs that read from RaceConfig.
Planned trait pool
Layout / character
| Trait | Effect |
|---|---|
High-Speed Sweeper | Top-speed-character ↑ ; aero matters more, suspension/brakes less |
Stop-and-Go | More braking zones; brake fiability matters more, tire wear higher |
Flowing | Smooth corner sequence; CON-heavy drivers benefit, mistakes rarer |
Twisty | Corner count high, top speed low; engine matters less, tires matter more |
Long Pit Lane | Pit-loss seconds +30%; favours 1-stop strategies heavily |
Short Pit Lane | Pit-loss seconds −30%; 2-stops viable even on shorter races |
Tire / mechanical stress
| Trait | Effect |
|---|---|
Tire Shredder | Tire wear scaled +25%; pit windows tighter |
Tire Friendly | Tire wear scaled −20%; long stints viable |
Engine Killer | Heat damage rate scaled +30%; cooling matters more |
Bumpy Surface | Suspension wear +15%; mistake risk +5% in Lifting zones |
Smooth Resurface | Reduced wear and mistake risk; this season’s “easy weekend” |
Overtaking / race character
| Trait | Effect |
|---|---|
Pass Heaven | Overtake attempt rate ×1.4; expect a chaotic race |
Pass Hell | Overtake attempt rate ×0.6; qualifying matters more, pit strategy decisive |
DRS Zones Galore (if DRS lands) | More straight-line passing windows |
Single-File | Lateral envelope tightens; side-by-side rare, less chaos |
Climate / surface
| Trait | Effect |
|---|---|
Hot Climate | Tire optimal-window shifts up; heat-resistance suppliers shine |
Cool Climate | Tire optimal-window down; out-lap penalty heavier |
Variable Conditions (if weather lands) | Race condition can shift mid-session |
Low Grip Tarmac | Track grip penalty 1.5× until rubber builds; out-laps painful |
Reliability / safety
| Trait | Effect |
|---|---|
Tight Walls | Crash force tier escalation faster; Tier-3 hits become Tier-4 above 200 km/h |
Wide Run-offs | Crashes downgrade by one tier; safer for risk-takers |
SC Magnet | Yellow-flag deployment threshold lowered; expect more Safety Car windows |
Clean Track | Yellow-flag threshold raised; SC almost never appears |
How traits will be assigned
Each track on the calendar gets:
- 1 layout trait (e.g.
TwistyORHigh-Speed Sweeper, mutually exclusive) - 1–2 stress traits (
Tire Shredder+Engine Killer, etc. — can stack) - 1 overtaking trait (
Pass Heaven/Pass Hell/ nothing) - 0–1 climate trait (paired with the climate flag — some tracks always have specific climate traits)
- 0–1 safety trait (
Tight Wallsetc.)
The pool is deterministic per track seed — the same circuit_seed generates the same traits every career, so the calendar feels consistent across replays of the same starting setup.
Some traits are forced for known GP names: a circuit named “Monaco” gets Twisty + Tight Walls + Pass Hell baked in regardless of the random roll.
How traits affect race tuning
Traits plug into RaceConfig per-weekend overrides applied at session start:
Bahrain → "High-Speed Sweeper", "Hot Climate", "Tire Shredder"
→ tire_lifetime × 0.80
→ tire_optimal_low/high shifted +5°C
→ engine_effect zone weights tilt toward Accelerating
→ overtake_attempt_base × 1.0 (no overtaking trait)
The user-visible effect: even with the same car/driver, you read the calendar with different priorities. A Tire Shredder weekend you start thinking 2-stop; an Engine Killer weekend you start thinking conservative engine map.
Interactions with car & driver traits
This is where the system gets fun:
| Combo | Effect |
|---|---|
Hot Climate + Hot Hatch car | Free pace — tires arrive in window faster than the field |
Pass Heaven + Hothead driver | Expect podium-or-DNF outcome, no in-between |
Engine Killer + Cooling Wizardry car | Cancel out — engine survives at normal map levels |
Tight Walls + Glass Bones driver | Avoid this race or play conservative — small contact = DNF |
Tire Shredder + Smooth Operator driver | A 2-stop strategy turns into a viable 1-stop |
What it changes for the player
Calendar reading
The Calendar app will show traits as an icon row under each GP name. At a glance you’ll know:
- “GP 4 = Bahrain — heat + tires, engine map down”
- “GP 7 = Monaco — qualifying matters most, no passing, brakes critical”
- “GP 12 = Spa — straight-line speed track, big aero advantage”
Driver lineup
Drivers with matching traits get a soft preference for matching tracks. A Wet Master is worth running on a circuit with Variable Conditions.
Strategy and R&D
Repair priorities shift per weekend. Engine Killer weekends mean spending WU on cooling improvements; Tire Shredder weekends mean buying spare tire compounds.
Long-term planning
End-of-season report: which trait combos produced your best/worst races. Useful for next-year recruitment and infrastructure investment.
Open questions
- Trait reveal: visible from career start, or unlocked after one race? (Probably visible — you should plan around them)
- Player feedback: should the post-race debrief say “the track’s
Tire Shreddertrait cost you a 1-stop” — yes, that’s pedagogy - AI awareness: AI teams should plan strategy around traits (an
Engine Killerweekend → AI runs lower maps); needs hooking into the strategy generator - Trait weighting: should rare traits like
SC Magnetexist on more than one track per season? (Probably max 2/season)