Futbol virtual programable

El millor
codi guanya.

Programa el cervell del teu equip —jugador, tàctica i entrenador— i competeix en un simulador determinista, a la teva màquina o a la plataforma en línia. Tu escrius la lògica; si vols, la pilota la IA.

$git clone github.com/GoNNoTDa/PyLeague
IA opcional · compatible amb
Claude OpenAI Gemini Bedrock Groq Mistral DeepSeek Ollama (local)
Dues maneres de començar

De la idea al camp en 30 segons

Tria la teva via: competeix en línia sense instal·lar res, o clona l'SDK i treballa en local. Totes dues fan servir el mateix motor determinista.

En línia · sense instal·lar

Crea el teu compte, guarda els teus equips i juga partits i lligues des del navegador. La via més ràpida per començar avui.

Crear compte gratis

SDK local · al teu ritme

Clona el projecte (només Python 3.13, sense dependències), copia la plantilla i competeix a la teva màquina.

$ git clone github.com/GoNNoTDa/PyLeague
Com funciona

Tres cervells sobre un àrbitre imparcial

No mous jugadors: programes com decideixen. El motor arbitra igual per a tothom i és determinista — mateix seed, mateix partit. La IA decideix a ritme lent; una capa determinista executa cada tick, així un model no ha de pensar 20 vegades per segon.

10

Entrenador

Llegeix el marcador i el temps i fixa la mentalitat: atacar, equilibri o defensar.

ritmelent
6

Tàctica

Col·loca l'equip: alçada de línia, amplada, pressió i banda d'atac.

ritmemitjà
9

Jugador

Decideix cada tick: moure's, passar o xutar. Ràpid i reactiu.

cadatick
Capacitats

El que ja és al camp

Un prototip funcional, sense fum: això funciona avui.

Motor determinista

Física vectorial i regles clares. El mateix seed reprodueix el partit exacte: competicions justes i depurables.

IA multiproveïdor

Entrenador i tàctica pilotats per un LLM — ja juga partits reals amb Gemini. Canvies de proveïdor (Gemini, Claude, OpenAI, Amazon Bedrock, Ollama…) amb una variable d'entorn.

Estamina i sprints

Cada jugador gestiona el seu esforç: esprintar i xutar fort cansa; sense benzina corre i xuta pitjor. Una altra capa per programar a la teva tàctica.

Lliga i rànquing ELO

Enfronta tots els equips, treu classificació amb punts i ELO, i un informe HTML a punt per compartir.

Estadístiques per partit

Possessió, xuts i xuts a porta, passades i precisió, recuperacions i distància. Saps què millorar, no només el marcador.

Sparring per iterar

Mesura el teu equip contra diversos rivals en moltes llavors i obtén win-rate i mitjanes. Compares canvis amb dades, no per intuïcions.

Sandbox aïllat

El codi de tercers s'executa en un subprocés amb límits de temps i sense xarxa ni disc: segur per competir amb equips aliens.

Galeria de tàctiques

Tiki-taka, catenaccio, contraatac, gegenpressing… plantilles a punt per ajustar.

Visor amb repetició

Cada partit es reprodueix com una retransmissió: camp a ~60 fps, marcador tipus TV, estadístiques i comentaris de la IA.

Python, sense dependències

El motor només fa servir la biblioteca estàndard. Els SDK d'IA són opcionals. Copies la plantilla i comences en minuts.

Codi de veritat

Una tàctica reactiva, en unes línies

Decideixes quatre comandaments —línia, amplada, pressió i focus— com a valors fixos o en funció del partit. El motor els tradueix a posicions.

mi_tactica.py
from aicup.tactics import TacticalStrategy, progress, possession

def contraataque():
    # Sense pilota ens repleguem; en recuperar, ens llancem.
    def mandos(ctx):
        defendiendo = possession(ctx) == "theirs" or progress(ctx) < 0.45
        if defendiendo:
            return {"line_height": 0.30, "pressing": 0.35}
        return {"line_height": 0.74, "pressing": 0.50}
    return TacticalStrategy("Contraataque", mandos)
Competeix en línia

Puja el teu equip i mesura't amb tothom

A més de l'SDK local, hi ha una plataforma web: crees el teu compte, guardes els teus equips i jugues partits i lligues des del navegador, sense instal·lar res. Cada partit s'executa aïllat al servidor i en guarda la repetició.

Rànquing global ELO

Cada equip acumula ELO i historial amb els partits entre equips registrats. Puja a la classificació pública.

Arenes obertes

Competicions on qualsevol inscriu el seu equip. T'hi uneixes amb un clic i l'organitzador la juga.

Perfil públic

La teva pàgina amb els teus equips, el teu millor ELO, el teu rècord i les teves repeticions. La teva trajectòria, a la vista.

Auditoria verificable · tornejos amb premis

De cada partit oficial guardem el codi exacte de cada equip (amb el seu SHA-256), la llavor i la versió del motor. Com que el motor és determinista, qualsevol pot reproduir el partit i verificar el resultat — sense fiar-se de ningú. A les lligues, cada creuament queda auditat un a un.

Repeticions compartibles

Genera un enllaç públic de qualsevol partit per veure'l o auditar-lo sense compte. Descarrega el codi i el replay i comprova-ho tu mateix.

Lligues amb format i plantilles

Munta lligues amb plantilles a punt: divisions per metall (de ferro a diamant), per país o per continent, o a la teva mida. Tries el format —minuts, límit de gols, mort sobtada— i l'hereten tots els creuaments.

Convida i comparteix la teva lliga

Organitzes? Genera un enllaç de subscripció perquè qualsevol apunti el seu equip —encara que la lliga no sigui oberta— i convida directament usuaris de la plataforma pel seu nom.

Versions de tàctica i estadístiques

Desa diverses versions del teu equip, etiqueta-les i tria quina juga cada lliga sense tocar la teva tàctica per defecte. La del rival queda oculta tret que decideixi mostrar-la. Cada equip té el seu historial i les seves estadístiques.

L'SDK

De zero a competir, en tres passos

PyLeague és un SDK: copies una plantilla que ja juga bé, la fas teva i la millores iterant. Tot local, determinista i sense dependències. Primera vegada? Passa per l’Acadèmia per aprendre a programar el teu equip pas a pas, o mira la guia completa al repositori.

01

Clona el projecte

Només necessites Python 3.13 o superior. El motor no té dependències externes.

$ git clone github.com/GoNNoTDa/PyLeague
02

Copia la plantilla

El teu equip és una carpeta amb tres capes: entrenador, tàctica i jugador. Comença pels punts marcats i canvia una cosa cada vegada.

$ cp -r equipos/plantilla equipos/miequipo
03

Mesura, millora i competeix

Juga i mira'l al visor amb estadístiques. Fes servir el sparring per mesurar el teu equip contra diversos rivals de cop, i munta lligues amb classificació i ELO.

$ python play.py --home equipos/miequipo --away equipos/algoritmos
$ python sparring.py --team equipos/miequipo
$ python league.py
Per a qui

Una lliga que uneix codi i competició

Programar deixa de ser un exercici en solitari i es converteix en un torneig. Ideal per a:

Comunitats dev

GDGs, meetups i associacions: un repte que enganxa i dona tema per a diverses sessions.

Hackathons i reptes

Un format competitiu amb resultat clar: guanya el millor codi, no el millor pitch.

Formació

Universitats i bootcamps: ensenya lògica, IA i estructures jugant a guanyar partits.

Empreses

Team building tècnic i employer branding amb una lliga interna a la teva marca.

Plans

Juga gratis. Organitza a lo gran.

L'SDK és i serà de codi obert. Si vols muntar una competició per al teu esdeveniment, te la preparem clau en mà.

Per jugar i aprendre

Codi obert

0 € / per sempre
  • Motor, SDK i documentació complets
  • Estadístiques per partit i sparring
  • Lliga, rànquing ELO i visor de repeticions
  • Plataforma en línia: comptes, rànquing global i arenes
  • Repeticions compartibles i auditoria verificable
  • IA multiproveïdor opcional · usa'l i modifica'l
Crear compte gratis
Per al teu esdeveniment

Torneig a mida

A mida
  • Organització de la competició clau en mà
  • La teva marca al visor i a les tanques del camp
  • Regles, calendari i classificació al teu gust
  • Suport durant l'esdeveniment
Escriu-nos
A l'horitzó

El que ve

Idees al roadmap. Encara no hi són — les expliquem perquè marquen cap on va la lliga, no per vendre't el que no existeix.

pròxim

Copes i eliminatòries

Format knockout amb quadre, a més de les lligues de tots contra tots.

pròxim

IA a nivell de jugador

Instruccions per rol que el jugador executa, a més d'entrenador i tàctica.

explorant

Regles completes

Sacs de banda i córner, fora de joc i faltes.

explorant

Copilot tàctic

Descriu el teu pla en llenguatge natural i es tradueix a codi.

explorant

VAR cognitiu

Un àrbitre-IA que revisa les jugades polèmiques.

explorant

Aïllament reforçat

Contenidor/VM per partit per obrir l'execució pública a gran escala.

Preguntes freqüents

El que sols preguntar

Què és PyLeague?

Una competició de futbol virtual on no jugues amb les cames, sinó amb codi: programes en Python el cervell de cada jugador, la tàctica de l'equip i les decisions de l'entrenador, i competeixes en un simulador determinista.

Necessito saber molt de Python?

No. Copies la plantilla inclosa —que ja juga de manera competitiva— i vas millorant una capa cada vegada. Amb coneixements bàsics de Python pots començar en minuts.

És gratis?

Sí. PyLeague és de codi obert i pots fer-lo servir, modificar-lo i competir sense cost. Només oferim serveis opcionals per organitzar tornejos a mida.

Necessito una clau d'IA per jugar?

No. El motor i els equips d'exemple funcionen sense cap API. La IA és opcional: si vols que l'entrenador o la tàctica pensin amb un model de llenguatge, connectes el teu proveïdor preferit (Claude, OpenAI, Gemini, Groq, Mistral, DeepSeek o Ollama en local).

Puc organitzar un torneig per al meu esdeveniment o comunitat?

Sí. PyLeague encaixa en hackathons, comunitats de desenvolupadors, formació i esdeveniments. Escriu-nos i muntem una competició a mida.

En quins sistemes funciona?

A Windows, macOS i Linux. El motor només necessita Python 3.13 o superior i no té dependències externes.

Puc competir en línia sense instal·lar res?

Sí. A la plataforma en línia crees un compte, guardes els teus equips i jugues partits i lligues des del navegador. Cada partit s'executa aïllat al servidor i en guarda la repetició, amb rànquing global per ELO, perfil públic i arenes obertes on competeix qualsevol.

Com sé que un torneig amb premis és just?

Perquè cada partit oficial és reproduïble: guardem el codi exacte de cada equip amb el seu SHA-256, la llavor i la versió del motor. Com que el motor és determinista, qualsevol pot descarregar-ho tot i reproduir el partit per verificar que el resultat és legítim, sense fiar-se de ningú. A les lligues, cada creuament queda auditat un a un.

Marques i patrocinadors

Posa la teva marca on hi ha el talent

PyLeague reuneix desenvolupadors competint amb codi: un públic difícil de captar, en un context positiu —aprendre i guanyar—. Associa't a una lliga justa i verificable, i fes-ho quan encara ets dels primers.

L'audiència que et costa captar

Arribes a perfils tècnics —desenvolupadors i estudiants— mentre creen i competeixen. Perfecte per a la captació de talent i l'employer branding.

Visibilitat de veritat

La teva marca al visor tipus retransmissió, a les tanques del camp i als missatges de la simulació —i a cada repetició que es comparteix fora.

Formats a la teva mida

La lliga de la teva comunitat o universitat, el repte d'un hackathon o una lliga interna d'empresa. Tu tries l'abast.

Confiança verificable · premis sense sospites

Cada partit oficial és auditable i reproduïble: es guarda el codi, la llavor i la versió del motor. Un torneig amb premis seriós, al qual associar la teva marca sense risc reputacional.

Marca fundadora

Encara no hi ha patrocinadors: pots ser el primer. Espai destacat i tracte proper per a qui aposta abans que ningú.

LA TEVA MARCA
LA TEVA MARCA
LA TEVA MARCA
LA TEVA MARCA

Exemple: les teves tanques a peu de camp i al visor de cada partit.

Comença a jugar

Munta el teu equip.
Que decideixi el codi.

Crea el teu compte i competeix en línia en minuts, o clona'l i juga en local. En mode bàsic funciona sense API ni configuració.

$python play.py  ·  python sparring.py  ·  python league.py