Qui non si tratta di sapere a memoria tutto il motore. Si tratta di capire le tre decisioni che prende la tua squadra e affinarle finché non vincono le partite. Ti portiamo dal modello che gioca già alla tua prima vittoria contro un avversario vero.
Non serve scrivere una squadra dal nulla. La strada breve è questa: parti da qualcosa che funziona già e lo migliori con metodo, misurando ogni modifica.
Gioca già in modo competitivo: passa, tira negli angoli e pressa i palloni vaganti. È il tuo punto di partenza, non un foglio bianco.
Tocca solo la tattica, o solo il giocatore. Un unico cambiamento alla volta è l'unico modo per sapere cosa migliora e cosa peggiora.
Fallo scontrare con più avversari su molti seed e guarda win-rate e statistiche. Così una partita fortunata non ti inganna.
Carica la tua squadra sulla piattaforma e mettiti alla prova in campionati con classifica ELO, o creane uno tuo. Parla il codice.
La tua squadra decide su tre livelli. L'idea chiave: l'IA (se la usi) fissa il piano a ritmo lento, e uno strato deterministico e rapido lo esegue a ogni istante. Così un modello non deve mai decidere 20 volte al secondo. Personalizza solo lo strato che ti interessa; il resto lo riutilizzi.
Legge il punteggio e l'orologio e fissa la mentalità: attaccare, equilibrio o difendere. Decide poche volte, ma dà il tono. CoachBrain.decide(ctx)
Dispone la squadra in campo con quattro manopole: altezza della linea, ampiezza, pressing e lato. Quasi sempre è qui che si vince o si perde. TeamStrategy.plan(ctx)
Decide a ogni istante: muoversi, passare, tirare, scattare. Rapido e reattivo, uno per giocatore. PlayerBrain.decide(view)
Vuoi il dettaglio di cosa riceve e cosa restituisce ogni strato? È nella Guida del partecipante.
Non calcoli le posizioni a mano. Scegli quattro valori e il motore li traduce in dove si posiziona ogni giocatore. Puoi fissarli o farli cambiare in base alla partita (una tattica reattiva).
Quanto avanzata gioca la tua squadra. Bassa = blocco ripiegato e sicuro; alta = pressi in alto ma lasci spazio alle spalle.
Quanto è aperta la squadra. Compatto chiude il centro; aperto cerca le fasce e allarga l'avversario.
Con quanta intensità vai a prendere il pallone. Attenzione: oggi pressare molto stanca e non sempre recupera (leggi il «meta» più in basso).
Da dove sviluppi il gioco. Centro come predefinito; caricalo su un lato per attaccare da lì o per cercare lo smarcamento del tuo attaccante.
Una tattica fissa è un dizionario di manopole. Una reattiva è una funzione che le ricalcola guardando la partita. Entrambe, brevi.
# 1) Tattica FISSA: uno stile costante
from aicup import TacticalStrategy
mi_estilo = TacticalStrategy("Mi estilo", {
"line_height": 0.35, # ripiegato, sicuro
"width": 0.45, # compatto al centro
"pressing": 0.30, # aspetto, non riparto
})
# 2) Tattica REATTIVA: cambia in base alla partita
from aicup.tactics import progress, possession
def mandos(ctx):
defendiendo = possession(ctx) == "theirs" or progress(ctx) < 0.45
if defendiendo:
return {"line_height": 0.30, "pressing": 0.35} # mi ripiego
return {"line_height": 0.74, "pressing": 0.50} # al recupero, riparto
mi_contra = TacticalStrategy("Mi contraataque", mandos)
La manopola che non imposti usa il suo valore predefinito. La galleria completa (tiki-taka, catenaccio, gegenpressing…) e come scrivere il giocatore e l'allenatore sono nelle docs delle tattiche.
Consigli che nascono dal giocare centinaia di partite. Non sono magia: sono abitudini che separano una squadra che compete da una che fa numero.
Una partita mente: la fortuna pesa. Usa lo sparring con molti seed e decidi in base al win-rate, non alle sensazioni.
Oggi un blocco compatto e ripiegato rende più del pressing alto. Parti solido dietro e cresci da lì.
Scattare e tirare forte stanca. Conserva gli sprint per la fase finale e pressa l'avversario ormai a secco.
Nel tuo giocatore, leggi view.plan: ti dice dove posizionarti e a chi tocca andare sul pallone. Non improvvisare da solo.
Tirare al centro è regalare il pallone al portiere. Mira ai pali e regola la potenza: non è tutto forza massima.
Prima la tattica (manopole), poi il giocatore (passaggi, tiri, marcature) e infine l'allenatore (quando rischiare).
Quasi tutti inciampano qui all'inizio. Vederli arrivare ti risparmia una mezza dozzina di sconfitte sciocche.
Speri di recuperare e ottieni solo di stancarti. Soluzione: abbassa il pressing e pressa a tratti, non di continuo.
Un GK lontano dalla sua porta sono gol regalati. Soluzione: non farlo allontanare; guarda come lo gestisce il giocatore di esempio.
Alzi tutti e ti prendono alle spalle. Soluzione: alza centrocampisti e attaccanti più della difesa, oppure abbassa la linea.
Batti uno e perdi con tutti. Soluzione: misura contro più avversari e più seed prima di dare qualcosa per buono.
Forza sempre = resti senza stamina e tiri peggio alla fine. Soluzione: dosa la kick_power.
Il motore ti protegge, ma un giocatore che va in errore resta fermo e perdi tick. Soluzione: prova in locale e controlla il visore.
Un dettaglio onesto del motore di oggi: le tattiche compatte e difensive rendono meglio del pressing alto. Il motivo è che, per ora, pressare non «ruba» il pallone in modo efficace —il possesso è appiccicoso e toglierlo richiede di avvicinarsi con molto margine—. Per questo stili come il catenaccio di solito vanno molto bene e il gegenpressing soffre.
Le tattiche di esempio sono punti di partenza, non soluzioni ottimali. Il motore evolverà (la roadmap prevede che il pressing arrivi a recuperare palla), quindi anche il meta cambierà. Trovare la combinazione che vince ora è il tuo vantaggio competitivo.
Ripassa questa lista veloce. Se spunti tutto, puoi caricarla e metterti alla prova con gli altri.
Crea il tuo account e gareggia online in pochi minuti, oppure clonalo e lavora in locale. In modalità base funziona senza API né configurazione.