domingo, 12 de julho de 2026devblog

Ensinando a IA a passar de verdade

Cada companheiro ganha uma porcentagem de Sucesso Esperado, e a IA escolhe como um jogador de futebol, não como quem joga dados. E o bug que me ensinou o que é posse de bola.

Dia 27PENSADEPOIS PASSA

Minha IA parou de chutar e começou a pensar.

Agora ela pontua cada opção de passe em tempo real com base em quatro coisas: a distância (existe uma faixa ideal, e chutões na esperança e bicudas pontuam mal), se a linha de passe está realmente aberta (medido geometricamente, não no chute), quanto espaço o receptor tem e quanto a bola de fato avança no campo. Ela também joga na frente de quem está correndo, pontuando onde ele vai estar. Disso sai uma porcentagem de Sucesso Esperado para cada opção, e ela escolhe a melhor. No overlay de debug é uma linha para cada companheiro, verde para bom, vermelho para nem pensar.

Ela também se compromete agora. Firma o pé, vira para o receptor e toca, em vez de disparar um passe a cada quadro como se estivesse tendo um ataque de pânico. Animação de verdade, a bola sai no quadro do contato.

Depois, os jogadores sem a bola ganharam o mesmo tratamento ao contrário. Em vez de pontuar para quem passar, um Avaliador de Movimentação pontua onde ficar: espaço livre, uma linha limpa a partir de quem conduz, distância dos companheiros. Os triângulos de passe surgiram sozinhos. Eu não escrevi "forme um triângulo" em lugar nenhum.

O bug que mais me ensinou

Os jogadores iam se amontoando devagar uns em cima dos outros ao longo da partida e eu não entendia por quê. Aí caiu a ficha: enquanto um passe está no ar, a bola não tem dono. Todo companheiro caía em "bola solta, o mais próximo pressiona", e o time inteiro convergia. Em todo santo passe.

Solução: um passe nosso no ar continua contando como posse. Posse não é "alguém está com a bola". Inclui a bola viajando entre dois jogadores seus. Óbvio olhando para trás. Me custou uma noite.

Mais uma: os jogadores agora têm um atributo de Agressividade de 0 a 1. Alto, ele se garante para driblar você e chuta de mais longe. Baixo, joga seguro e passa cedo. Mesmo código, personalidades diferentes.

Entregue: avaliador de passes · avaliador de movimentação sem a bola · atributo de agressividade

Este post foi traduzido do inglês com auxílio de IA. Ler o original