Aquí no es tracta de saber-te tot el motor de memòria. Es tracta d'entendre les tres decisions que pren el teu equip i afinar-les fins que guanyin partits. Et portem de la plantilla que ja juga a la teva primera victòria contra un rival de veritat.
No cal escriure un equip des de zero. El camí curt és aquest: parteixes d'una cosa que ja funciona i la vas millorant amb mètode, mesurant cada canvi.
Ja juga de manera competitiva: passa, dispara a les cantonades i pressiona pilotes soltes. És el teu punt de partida, no un full en blanc.
Toca només la tàctica, o només el jugador. Un únic canvi cada vegada és l'única manera de saber què millora i què empitjora.
Enfronta'l a diversos rivals en moltes llavors i mira el win-rate i les estadístiques. Així no t'enganya un partit amb sort.
Puja el teu equip a la plataforma i mesura't en lligues amb rànquing ELO, o munta la teva. El codi parla.
El teu equip decideix en tres nivells. La idea clau: la IA (si la fas servir) fixa el pla a ritme lent, i una capa determinista i ràpida l'executa cada instant. Així un model mai no ha de decidir 20 vegades per segon. Personalitza només la capa que t'interessi; la resta la reutilitzes.
Llegeix el marcador i el rellotge i fixa la mentalitat: atacar, equilibri o defensar. Decideix poques vegades, però marca el to. CoachBrain.decide(ctx)
Col·loca l'equip al camp amb quatre comandaments: alçada de línia, amplada, pressió i banda. Gairebé sempre és aquí on es guanya o es perd. TeamStrategy.plan(ctx)
Decideix cada instant: moure's, passar, xutar, esprintar. Ràpid i reactiu, un per jugador. PlayerBrain.decide(view)
Vols el detall de què rep i què retorna cada capa? És a la Guia del participant.
No calcules posicions a mà. Tries quatre valors i el motor els tradueix a on es col·loca cada jugador. Els pots fixar o fer que canviïn segons el partit (una tàctica reactiva).
Com d'avançat juga el teu equip. Baixa = bloc replegat i segur; alta = pressiones a dalt però deixes espai a l'esquena.
Com d'obert està l'equip. Compacte tapa el centre; obert busca les bandes i estira el rival.
Amb quina intensitat vas a per la pilota. Compte: avui pressionar molt cansa i no sempre roba (llegeix el «meta» més avall).
Per on carregues el joc. Centre per defecte; carrega'l a una banda per atacar per allà o per buscar el desmarcatge del teu davanter.
Una tàctica fixa és un diccionari de comandaments. Una de reactiva és una funció que els recalcula mirant el partit. Totes dues, curtes.
# 1) Tàctica FIXA: un estil constant
from aicup import TacticalStrategy
mi_estilo = TacticalStrategy("Mi estilo", {
"line_height": 0.35, # replegat, segur
"width": 0.45, # compacte pel centre
"pressing": 0.30, # espero, no em llanço
})
# 2) Tàctica REACTIVA: canvia segons el partit
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} # em replego
return {"line_height": 0.74, "pressing": 0.50} # en robar, em llanço
mi_contra = TacticalStrategy("Mi contraataque", mandos)
El comandament que no posis fa servir el seu valor per defecte. La galeria completa (tiki-taka, catenaccio, gegenpressing…) i com escriure el jugador i l'entrenador són a les docs de tàctiques.
Consells que surten de jugar centenars de partits. No són màgia: són hàbits que separen un equip que competeix d'un que fa bulto.
Un partit menteix: la sort pesa. Fes servir el sparring amb moltes llavors i decideix pel win-rate, no per sensacions.
Avui un bloc compacte i replegat rendeix més que la pressió alta. Comença sòlid al darrere i creix des d'aquí.
Esprintar i xutar fort cansa. Guarda sprints per al tram final i pressiona el rival que ja està fos.
Al teu jugador, llegeix view.plan: et diu on col·locar-te i a qui li toca anar a la pilota. No improvisis tot sol.
Xutar al centre és regalar la pilota al porter. Apunta als pals i ajusta la potència: no tot és màxima força.
Primer la tàctica (comandaments), després el jugador (passades, xuts, marcatges) i per últim l'entrenador (quan arriscar).
Gairebé tothom ensopega aquí al començar. Veure'ls venir t'estalvia mitja dotzena de derrotes ximples.
Esperes robar i només aconsegueixes cansar-te. Solució: baixa el pressing i pressiona per moments, no tota l'estona.
Un GK lluny de la seva porteria són gols regalats. Solució: que no s'allunyi; mira com el tracta el jugador d'exemple.
Puges tothom i et cacen a l'esquena. Solució: puja migcampistes i davanters més que la defensa, o baixa la línia.
Guanyes a un i perds amb tots. Solució: mesura contra diversos rivals i diverses llavors abans de donar res per bo.
Força sempre = et quedes sense estamina i dispares pitjor al final. Solució: dosifica el kick_power.
El motor et protegeix, però un jugador que falla es queda quiet i perds ticks. Solució: prova en local i revisa el visor.
Un detall honest del motor d'avui: les tàctiques compactes i defensives rendeixen millor que la pressió alta. El motiu és que, ara com ara, pressionar no «roba» la pilota de manera efectiva —la possessió és enganxosa i treure-la exigeix acostar-se amb molt marge—. Per això estils tipus catenaccio solen anar molt bé i el gegenpressing pateix.
Les tàctiques d'exemple són punts de partida, no solucions òptimes. El motor evolucionarà (el roadmap contempla que la pressió arribi a robar pilota), així que el meta també canviarà. Trobar la combinació que guanya ara és el teu avantatge competitiu.
Repassa aquesta llista ràpida. Si ho marques tot, ja el pots pujar i mesurar-te amb la resta.
Crea el teu compte i competeix en línia en minuts, o clona'l i treballa en local. En mode bàsic funciona sense API ni configuració.