The Driver Academy is your talent factory: a 9th infrastructure department that houses junior (16-18) and development (18-21) prospects you own outright, know perfectly, and can promote straight into a race seat. It is the most expensive department in the game and the only one that can be closed. Open it when your budget is comfortable and you want to stop buying drivers at market price.
How to open it
- Sidebar → Academy (icon 18). The entry is dimmed until the department exists: “Opens once the Driver Academy department is built (Infrastructure, Phase 1).”
- Infrastructure is where you actually open and upgrade it.
Opening the app never creates prospects. Slots are filled at the infrastructure validation point (the pre-season turn advance), at the season rollover, and on each free-weekend turn — never by browsing.
The department
The Driver Academy is priced and capped unlike anything else:
| Academy | A normal department | |
|---|---|---|
| Level range | 0-3 (0 = closed) | 1-10 |
| Upgrade cost | 4,000,000 × (level+1)^1.4 | 500,000-curve |
| Running cost / GP | 150,000 × level | 50,000 × level |
So opening it (0 → 1) is $4.0M, 1 → 2 is about $10.6M, 2 → 3 about $18.6M, and it bills $150K / $300K / $450K per GP to run. There is also a hard gate: you cannot open the academy with a budget below $8,000,000 (ACADEMY_OPEN_MIN_BUDGET).
Slots by level
junior_slots = level + 1 → L1 = 2, L2 = 3, L3 = 4
dev_slots = level → L1 = 1, L2 = 2, L3 = 3
The app banner reads Level N · Development d/D · Juniors j/J. Empty slots render as a dashed card: “Empty slot — a prospect will be recruited next season.”
Closing the academy releases everybody. Dropping the level to 0 makes fill_academy_slots clear the roster, and apply_academy_plan releases every remaining prospect.
The two sections
The page stacks DEVELOPMENT DRIVERS (18-21) on top and JUNIOR DRIVERS (16-18) below, each a list of cards. Every card carries the full baked team portrait (face + your sponsor-baked suit — they wear your kit), the flag, a clickable name, and two big numbers:
- RATING — his weighted 0-100 rating right now.
- POTENTIAL —
weighted_stat_total(potential) / MAX_WEIGHTED_TOTAL × 100, i.e. the ceiling he is growing toward.
The subtitle line differs by kind:
| Kind | Line |
|---|---|
| Junior, graduating | Age N · graduating this season |
| Junior | Age N · X season(s) to graduation |
| Development | Age N · leaves in X season(s) (counting to age 21) |
How prospects are rolled
generate_academy_prospect runs a best-of-N draft:
candidates = 1 + academy_level + round(academy_roll_quality) (default slider = 1.0)
It generates that many drivers and keeps the one with the highest weighted potential total (plus a small ±0.3 jitter). A Level 3 academy with the default slider therefore looks at 5 candidates per slot; a Level 1 academy looks at 3. Good prospects are never guaranteed — they just get likelier with a better academy.
Age at intake: juniors 16-17, development drivers 18-19. Prospects are created with available = false (reserved, not free agents), series = None, and fame = 0 — they are out of the public eye.
academy_roll_quality is a Settings → Career slider (0.0-5.0, default 1.0) in the Academy group.
How prospects progress
Academy prospects develop through the same evolve_driver_stats path as your signed drivers, once per GP, with a neutral happiness of 70 (they are not on a race contract). Their youth plus their high potential is what makes them grow well.
Progress is reported: after each GP where anything moved, an academy development report email lands with a card per prospect (six stat grades + ▲/▼ deltas) and a link straight to the Academy app.
Aging and the lifecycle
Two separate steps, deliberately split:
At the season rollover — academy_age_step: every prospect gains a year and a seasons_in. Any development driver now over 21 (ACADEMY_DEV_MAX_AGE) leaves immediately.
When the pre-season Drivers phase begins — apply_academy_plan, in this exact order:
- Every prospect marked Release leaves. (This runs first precisely so it opens development seats.)
- Every graduating junior (
seasons_in ≥ ACADEMY_JUNIOR_SEASONS = 2) is promoted into an open development seat,seasons_inreset to 0. If no seat is free, he is released instead. - Every remaining plan resets to
Keep. fill_academy_slotsrecruits fresh prospects into the empty junior and development slots.- Leavers are released and a summary email lists the graduations.
Splitting aging from the plan means you can still edit the plan through the break and the early pre-season, and an academy you only open during the pre-season is not wrongly aged before it has served a season.
Where leavers go
release_academy_leaver checks the age:
- 18 or older → into the free-agent pool,
available = true, with a stats-derived fame (an academy prospect’sfame = 0would otherwise make him invisible to the scouting baseline). You can still sign him from the market — and so can everyone else. - Under 18 → he simply leaves the setup. Below the professional minimum age, he does not enter the market at all. The email says so.
The next-season plan
Each card carries a two-button toggle plus a status badge:
| Button | Meaning |
|---|---|
| Keep | Stay in the academy (default). |
| Promote | Replaces “Keep” on a graduating junior — step up into a development seat. |
| Release | Leave at the transition. |
Keep on a graduating junior behaves like Promote — the forgiving default, so a talent is never lost by omission. The distinction is cosmetic; both go through step 2 above.
Above the sections, a plan summary strip projects next season’s development-seat usage (projected/cap) using exactly the same greedy order the rollover will use. If a graduating junior would find no seat, a red conflict banner appears:
⚠ N graduating junior(s) have no development seat. Release a development driver to make room, or set them to Release.
Each card also shows the resulting badge: GRADUATES → DEV SEAT (green), NO DEV SEAT — FREE A DEV (red), or RELEASED NEXT SEASON (amber).
Loans to the development series
Once per GP there is a 25 % chance a PF2 or PF3 team asks to field one of your prospects. It arrives as an interactive email in the inbox with Accept the loan / Decline buttons.
Eligibility: the prospect’s age must fall inside a dev series’ rule window — PF2 = 18-50, PF3 = 16-18 — and he must not already be on loan. A candidate is picked at random from all eligible (prospect, series) pairs, and a random team of that series is chosen.
The fee, paid to you per Grand Prix:
fee_per_gp = weighted_rating × 600 (PF2)
fee_per_gp = weighted_rating × 250 (PF3)
A rating-60 prospect in PF2 is $36,000/GP — about $720K over a season. It is credited to current_budget at every GP and shows as its own income line in the Finance app.
The seat: if the dev team has a free race seat, the prospect takes it; otherwise the weakest incumbent (by rating) is displaced into the team’s reserve seat. He is added to that series’ standings immediately.
The development bonus: a loaned prospect gets a 5 % chance of one extra evolve_driver_stats tick per GP — that is what “real racing is the best school there is (+5 %)” means mechanically. It is a chance of a bonus roll, not a flat +5 % to growth.
Duration: one season. save.academy_loans.clear() runs at the rollover — every loan expires, unconditionally. A new offer may arrive next season, or may not.
Where you see it:
- Academy card — a blue badge
PF2 · TEAM NAME · +$X/GP. - Driver profile — subtitle becomes “On loan to {team} ({series})”, status becomes On loan in amber, and the QUICK RECORD switches to that series with the live season tally folded in (starts/wins/podiums/poles/top-tens from the running dev standings). Without that, the page looked frozen all year: the flat career counters only ingest a dev season at the rollover.
- Development series page — he appears in the standings like any other driver.
Signing a prospect to the race team
Only development drivers (18+) can be signed. Clicking Sign to race team on a junior card just toasts “Only development drivers (18+) can be signed.”
The button opens the standard contract dialog (salary, 1-3 years, role), prefilled with his asking salary and a 2-year default term. The role defaults to the first free seat preferring Secondary, falling back to Reserve.
This is a pre-season action. The Negotiate/Sign button is gated on the strict pre-season Drivers recruitment phase — not on the mid-season window, whose deferred-offer flow does not apply to an immediate academy promotion.
The acceptance roll
prob = clamp( driver_acceptance_prob(...) + academy_dev_sign_boost , 0.05 , 0.98 )
academy_dev_sign_boost defaults to +0.20 (Settings → Career → Academy, range 0.0-0.5). That is the “18-21 boost” — a flat bonus on top of the normal acceptance model, on the grounds that he grew up in your setup. Every other input (prestige, role, ambition fit, country, standing, salary ratio) still applies exactly as in Scouting, and the roll resolves immediately — no email, no next-turn wait.
The target role must be free, or you get “The {Role} seat is already filled.” On failure: “{Name} isn’t ready to commit to a race seat yet.”
On success he leaves the academy, joins your roster, and is also inserted into the driver pool marked unavailable — greyed out, like any signed driver. That pool row is what keeps him visible in Known Drivers and stops him vanishing if a rival later poaches him at the mid-season window.
Advanced
- Prospects always read 100 % knowledge.
effective_knowledgereturns 100 for anyone insave.academy— no scouting cost, exact stats, every trait visible, and the ratchet persists that 100 % forever, even after he leaves. Academy prospects are the only drivers you can evaluate for free. - They appear in Scouting → Known Drivers with a purple
Academybadge (browse indices past the pool length map onto the academy roster). Handy for sorting them against the market by rating or potential. - The seat-projection strip is the actual algorithm. It mirrors
apply_academy_plan’s greedy order (kept devs first, then graduating juniors into whatever remains) — what it projects is what will happen. - Level 1 is a trap for graduation. One development seat means at most one junior can ever graduate per year, and the other one is released. If you plan to grow talent rather than warehouse it, Level 2 (2 dev seats, 3 juniors) is the first coherent configuration.
- A junior released at 17 evaporates. He does not enter the pool, cannot be re-signed, and is gone from the world. Only 18+ leavers reach the market.
- Loans are pure upside and you are not asked twice. The fee is real money, the +5 % is real development, and there is no downside modelled — no injury, no rating loss, no obligation. Decline only if you have a reason.
- A loaned prospect can still be signed to your race team if he is a development driver during the pre-season Drivers phase — the loan simply expires at the rollover.
- The running dev season is not in the flat counters until the rollover. If you compare a loaned prospect’s “career starts” against the live standings mid-season, they will disagree; the profile folds the live tally in for display only.
- Academy prospects develop with happiness fixed at 70, i.e. the neutral ×1.0 factor. You cannot make them grow faster by making them happy — only the loan bonus and their own potential move the needle.
Common mistakes
- Opening the academy on a thin budget. $4M up front plus $150K/GP ($3M/season at 20 races) before it has produced anything, and it needs $8M in the bank just to unlock. It is a season-3+ investment for a profitable team.
- Assuming the app populates itself when you open it. It does not. Slots fill at the infrastructure validation point and at the rollover.
- Leaving a graduating junior on Keep with every dev seat full. He is silently released instead of promoted. Watch the red conflict banner and free a dev seat first.
- Trying to sign a junior. 18+ only, and only during the pre-season Drivers phase.
- Closing the academy to save the running cost mid-career. Level 0 releases every prospect at the next plan application — years of development gone in one transition.
- Declining loans to “keep the prospect focused”. There is no focus mechanic. You are declining free money and a free development bonus.
See also
- Infrastructure — opening and upgrading the 9th department
- Driver Profile — the “On loan to X” status and the series-filtered record
- Scouting — the acceptance model the sign boost is added to
- My Team — the seats a graduate steps into
- Development series — PF2 / PF3, where loans go racing
- Mid-season signing window — where a rival can poach a promoted graduate
- Finance — the academy’s running cost and the loan income line
- Email — where the loan request and the graduation reports land