domingo, 12 de julio de 2026devblog

Enseñando a la IA a pasar de verdad

Cada compañero recibe un porcentaje de Éxito Esperado, y la IA elige como un futbolista, no como una tirada de dados. Y el bug que me enseñó lo que significa la posesión.

Día 27PIENSAY LUEGO PASA

Mi IA dejó de dar patadas y empezó a pensar.

Ahora puntúa cada opción de pase en tiempo real según cuatro cosas: la distancia (hay un rango ideal, y tanto los pelotazos a ver qué pasa como los puntazos puntúan mal), si la línea de pase está realmente libre (medido geométricamente, no a ojo), cuánto espacio tiene el receptor y cuánto avanza de verdad el balón en el campo. También adelanta el pase a los que van en carrera, puntuando dónde estarán. De ahí sale un porcentaje de Éxito Esperado para cada opción, y elige la mejor. En la capa de depuración se ve como una línea a cada compañero: verde si es buena, roja si mejor no.

Además, ahora se compromete. Se planta, se gira hacia el receptor y golpea, en lugar de soltar un pase en cada fotograma como si le estuviera dando un ataque de pánico. Animación real, el balón sale en el fotograma del contacto.

Luego los jugadores sin balón recibieron el mismo tratamiento a la inversa. En lugar de puntuar a quién pasársela, un Evaluador de Movimiento puntúa dónde colocarse: espacio libre, una línea de pase limpia desde el poseedor, separación respecto a los compañeros. Los triángulos de pase surgieron solos. No escribí "haz un triángulo" en ninguna parte.

El bug que más me enseñó

Los jugadores se iban amontonando poco a poco unos encima de otros a lo largo del partido y no veía por qué. Entonces me di cuenta: mientras un pase va por el aire, el balón no tiene dueño. Todos los compañeros caían en "balón suelto, que presione el más cercano", y el equipo entero convergía. En cada pase.

La solución: un pase nuestro en el aire sigue contando como posesión. La posesión no es "alguien tiene el balón". Incluye el balón viajando entre dos de tus jugadores. Obvio visto ahora. Me costó una tarde.

Una más: los jugadores tienen ahora un rasgo de Agresividad de 0 a 1. Uno alto se ve capaz de irse de ti en el regate y dispara desde más lejos. Uno bajo juega seguro y suelta el balón pronto. El mismo código, personalidades distintas.

Incluido: evaluador de pases · evaluador de movimiento sin balón · rasgo de agresividad

Este artículo se ha traducido del inglés con ayuda de IA. Leer el original