FORZA SQUADRA — Cos’è e come funziona
1) Spiegazione rapida (per tutti)
Cos’è.
La Forza Squadra è un punteggio da 0 a 100 che riassume la qualità e l’equilibrio della tua rosa. Quel numero viene poi convertito in stelle da 1 a 5 (con mezze stelle).
Come viene calcolata in pratica.
Prendiamo i migliori 11 (titolari) e i 5 migliori in panchina secondo la tua rosa. Valutiamo:
-
Qualità media dei titolari (con un piccolo contributo dei 5 migliori in panchina).
-
Profondità (quanti giocatori realmente disponibili hai in rosa).
-
Età media dei migliori 16 (una squadra con età media attorno a 27 anni rende meglio).
-
Abilità/Specialità presenti nei migliori 16 (skill utili aggiungono punti).
-
Valore economico / Efficienza della squadra rispetto alle altre (opzionale).
-
Copertura ruoli (portiere, difesa, centrocampo, attacco: se sei coperto ottieni un bonus).
Le stelle sono “ancorate” alla lega.
La squadra con lo score più alto della lega viene mostrata a 5★; tutte le altre si scalano in proporzione. Così il confronto è sempre realistico stagione per stagione.
Cosa puoi fare per salire di stelle.
-
Migliora l’XI con innesti mirati (soprattutto nei ruoli scoperti).
-
Aumenta la profondità (finché utile) e cura la copertura ruoli.
-
Tieni d’occhio l’età media (troppi “over” o troppi “under” abbassano il rendimento).
-
Colleziona abilità/specialità funzionali.
-
Rispetta sempre il tetto ingaggi di 100 ML: la rosa deve restare sostenibile nel regolamento vigente.
2) Spiegazione completa (tecnica)
Questa sezione descrive esattamente cosa calcoliamo e come viene combinato il punteggio.
Dati in ingresso
Per ogni giocatore: OVR, età, ruolo, stato inj (infortunato/indisponibile), ed eventuali abilità/specialità (tag).
Per la squadra/lega (opzionale): valore squadra e range min–max della lega per normalizzare l’efficienza.
Step A — Filtri & parsing
-
Disponibili: si escludono i giocatori marcati come inj; se non ne restano, si usa l’intera rosa.
-
Parsing skill: dalle stringhe “abilità/specialità” estraiamo tag “normali” e “plus” (con + o lista “plus”), senza duplicati.
Step B — Selezione rosa di riferimento
-
Ordiniamo i disponibili per OVR.
-
Se attivo il Best‑XI, si selezionano i titolari rispettando una macro‑formazione (es. 4‑3‑3: GK=1, DEF=4, MID=3, ATT=3); poi 5 panchinari migliori; questi 16 formano i Top16 (base per età/skill).
-
In assenza di Best‑XI, si usano i primi 11 per OVR e i successivi 5 come panchina.
Step C — Metriche di base
C1) Media OVR pesata (Q16 “di campo”)
-
Titolari: peso 1,0 ciascuno.
-
Panchina (5): peso 0,6 ciascuno.
Media pesata avgWeighted = somma(OVR×peso) / somma(pesi).
C2) Normalizzazione qualità (Q)
Trasforma la media pesata in 0..100 con:
Q = clamp(((avgWeighted - q16_base) / q16_span) × 100, 0, 100)
Parametri di default: q16_base = 70, q16_span = 16.
Esempio: media 82 → Q ≈ ((82–70)/16)×100 ≈ 75.
C3) Profondità (Depth)
Depth = clamp((giocatori_disponibili / depth_cap) × 100, 0, 100) con depth_cap = 30.
C4) Età (AgeScore)
AgeScore = 100 − clamp(|avgAgeTop16 − age_peak| × age_slope, 0, 100)
Default: age_peak = 27, age_slope = 12.
(La distanza dall’età ideale riduce il punteggio, fino a −100.)
C5) Abilità/Specialità (SkillPoints)
Nei Top16, per ciascun giocatore si contano al massimo:
-
Abilità normali: fino a 3 × 0,4 punti
-
Abilità “plus”: fino a 2 × 0,8 punti
-
Specialità normali: fino a 2 × 0,6 punti
-
Specialità “plus”: fino a 1 × 1,0 punto
Si sommano per i 16 e si applica un cap di squadra = 10,0 punti (di default).
Per impostazione corrente, gli SkillPoints si sommano direttamente allo score finale (boost).
C6) Valore/Efficienza (Value) — opzionale
Se forniti team_value_eur, value_min, value_max:
-
v = clamp((teamValue − min) / (max − min), 0, 1) × 100
-
Efficienza: se attiva, si usa 100 − v (più “spendi meno per rendere”, più alto il punteggio).
C7) Copertura ruoli (Coverage)
Contiamo i ruoli macro (GK/DEF/MID/ATT) nei titolari.
-
Se coperti i fabbisogni minimi → +5.
-
Se manca copertura: malus GK −5, DEF/MID/ATT −3 ciascuno.
N.B. Il fabbisogno di default è GK=1, DEF=3, MID=3, ATT=3; può essere allineato alla formazione del Best‑XI (es. DEF=4) per un controllo ancora più coerente.
Step D — Punteggio combinato (0..100)
Pesi di default:
-
Q16 (Q) = 0,55
-
Depth = 0,10
-
Age = 0,08
-
Skill = 0,12 (se “skill come %”, altrimenti 0 e usiamo il boost)
-
Value = 0,10
-
CoverageBonus = somma (+5 / malus)
Formula:
score =0,55·Q
+ 0,10·Depth
+ 0,08·AgeScore
+ 0,12·SkillTerm // 0 se SkillPoints sono “boost”
+ 0,10·Value
+ CoverageBonus
+ (SkillBoost) //
+SkillPoints se attivo “as_boost_points”
Dove:
-
SkillTerm = 0 e SkillBoost = SkillPoints se “as_boost_points = true” (impostazione attuale).
-
Tutto viene clippato a 0..100.
Step E — Stelle (1..5 con mezze)
Modalità “ancorata” alla lega:
-
league_max = miglior score tra le squadre visibili; league_min = 40 (ancora bassa per 1★).
-
norm = clamp((score − league_min)/(league_max − league_min), 0, 1)
-
stars = round(norm × 4 × 2)/2 + 1 → da 1★ a 5★ (mezze stelle incluse).
Consiglio pro: usare percentile 98 al posto del max per evitare che un fuoriclasse “schiacci” la scala di tutti.
Parametri principali (default attuali)
-
Selezione: Best‑XI 4‑3‑3 (GK=1, DEF=4, MID=3, ATT=3) + 5 panchina → Top16.
-
Q16: base 70, span 16.
-
Depth cap: 30.
-
Età: picco 27, pendenza 12.
-
Coverage: bonus +5 se coperto; malus GK −5, DEF/MID/ATT −3.
-
Skill cap: 10,0 punti squadra; boost attivo (si sommano allo score).
-
Pesi: Q 0,55, Depth 0,10, Age 0,08, Skill 0,12, Value 0,10.
-
Stelle: modalità anchored, min=40, max=league_max.
Glossario rapido
-
OVR: rating medio del giocatore (Sofifa/EAFC).
-
Q16: qualità espressa dalla media pesata di 11+5 (con normalizzazione).
-
Depth: profondità della rosa disponibile.
-
SkillPoints: punti da abilità/specialità entro cap di squadra.
-
Coverage: copertura macro-ruoli.
-
Anchored stars: 5★ assegnate alla miglior squadra di lega.
Note regolamentari collegate
-
Tetto ingaggi: l’ingaggio totale della rosa non può superare 100 ML (vedi Tabella Media‑Ingaggio EAFC).
-
La Master League XG è strutturata per stagioni, leghe e finestre di mercato; molte regole (tetti, limiti rosa, ecc.) sono parametriche e aggiornate di stagione in stagione nel software e nel regolamento.
Esempio sintetico (numerico)
-
XI + 5: avgWeighted = 82,0 → Q ≈ 75
-
Depth: rosa disponibile 32 → Depth ≈ 100 (cap a 30)
-
Età Top16: 26,5 anni → AgeScore ≈ 94
-
SkillPoints: +7,2 (sommati come boost)
-
Valore: normalizzato a 60
-
Coverage: 4‑3‑3 coperta → +5
Score combinato (senza SkillTerm %):
0,55·75 + 0,10·100 + 0,08·94 + 0,10·60 + 5 + 7,2 ≈ 82–83/100
Con stelle “ancorate”: se è il punteggio più alto della lega → 5★.
Rotella / pinch per zoom · trascina per spostare · Esc chiude