Existe um bot de Evony com IA? Como visão computacional e OCR fazem uma ferramenta de automação moderna funcionar
O que é a 'IA' de um bot de Evony: visão computacional para reconhecer telas e botões, OCR para ler números e timers, e um agendador que decide o que fazer.
Esta publicação foi traduzida automaticamente. A versão em inglês é a referência. Ler em inglês
Sim, no sentido que importa: um bot de Evony moderno roda com as mesmas técnicas de visão computacional e reconhecimento óptico de caracteres (OCR) que estão por trás de boa parte do que hoje se chama IA. Ele olha capturas de tela do jogo, reconhece botões, ícones, cartões e números nelas, e decide onde tocar em seguida. Não é um chatbot e não usa um grande modelo de linguagem para jogar. Veja o que a "IA" de um bot de Evony faz de fato, e por que esse é o desenho que continua funcionando depois de cada atualização do jogo.
O problema: o bot só vê pixels
Um emulador dá ao bot duas coisas: capturas de tela e um jeito de enviar toques. Não existe um menu para perguntar "tem um rally aberto?". O bot precisa olhar a imagem e descobrir isso sozinho, centenas de vezes por minuto, em uma tela que muda a cada pop-up, a cada banner de evento e a cada atualização do jogo. Isso é um problema de percepção, e percepção é exatamente para o que a visão computacional serve.
Camada 1: reconhecer telas e botões
A primeira tarefa é saber onde você está: a cidade, o mapa, a lista de rallies, a taverna, um pop-up. O bot mantém uma biblioteca de imagens de referência, pequenos recortes dos botões, ícones e rótulos que o jogo mostra, e compara cada um com a captura de tela atual. Quando o botão "Join" (entrar) de um cartão de rally bate com alta confiança, o bot sabe que há um cartão de rally e sabe onde tocar. A mesma técnica reconhece o ícone de um boss em um cartão de rally, a tela de alimentação do dragão, as fatias da Roda da Fortuna, os itens do Mercado Negro e as centenas de outras coisas que a rotina diária toca.
Dois detalhes tornam isso mais difícil do que parece. O jogo renderiza com menos nitidez em dispositivos fracos, então uma imagem de referência capturada em um PC forte pode bater fraco em um notebook; os limites de correspondência precisam ser definidos tela a tela com isso em mente. E o jogo muda a arte com as atualizações, então parte da manutenção de um bot é recapturar as referências depois de cada patch e testá-las em vários emuladores.
Camada 2: ler números e texto
Saber que a tela de marcha está aberta não basta; o bot precisa ler o tempo de marcha, a quantidade de tropas, o vigor (stamina), o nível do tile, as vagas restantes do rally. Isso é OCR: o bot recorta a região onde o número fica e roda um reconhecedor de texto nela. É o OCR que permite ao bot de rally recusar um rally sem vaga, ao bot de farming escolher um tile de nível 6 em vez de um de nível 4, e ao agendador saber que uma marcha volta em 14 minutos em vez de chutar.
OCR em fontes de jogo é uma arte à parte. Números com contorno, fundos coloridos e tamanhos minúsculos confundem reconhecedores genéricos, então os recortes são ajustados tela a tela e as leituras passam por checagens de sanidade (uma leitura de 9.000 de vigor é um erro de leitura, não um milagre).
Camada 3: decidir o que fazer
A percepção responde "o que está na tela". O agendador responde "o que deve acontecer em seguida". Ele guarda a lista de tarefas de cada conta, as prioridades e os timers: marchas de coleta voltam em horários conhecidos, bosses renascem em ciclos conhecidos, construções de evento abrem e fecham segundo um calendário, as diárias zeram em uma hora fixa. O agendador escolhe a próxima tarefa, entrega a tela à lógica dessa tarefa, e a tarefa usa as camadas 1 e 2 para executá-la, com verificações antes de qualquer coisa arriscada, como enviar uma marcha.
É nesta camada que vive o calendário de eventos dos aplicativos, incluindo os relatos da comunidade sobre quando os eventos realmente terminam, e onde a rotação de emuladores decide quais contas rodam agora e quais esperam.
Por que não um grande modelo de linguagem?
Modelos de linguagem são bons em linguagem. Jogar Evony é um problema de percepção e de tempo: ver uma tela, ler um número, tocar em menos de um segundo, repetir a noite inteira sem sair do ritmo. Um pipeline de visão faz isso de forma confiável e barata no seu próprio PC; um modelo de linguagem dentro do ciclo seria lento, caro e não seria melhor em reconhecer um botão Join. Onde os modelos de linguagem são úteis é em volta do bot: busca na documentação, suporte e ferramentas para quem faz a manutenção. Dentro do ciclo, é visão, OCR e um agendador.
O que isso significa para você como usuário
- As configurações de tela importam. Resolução, modo gráfico e versão do jogo são entradas da camada de visão, e é por isso que o guia de configuração é tão específico.
- Atualizações são normais. Depois de um patch do jogo, as referências e os recortes são recapturados; a atualização do bot é a correção. Mantenha a versão anterior do jogo até ela sair.
- Verificações são recursos. A checagem de marcha antes do envio e as checagens de sanidade nas leituras de OCR são o que impede que um erro de leitura custe tropas.
Se quiser ver isso funcionando, crie uma conta gratuita, baixe o aplicativo e acompanhe o log enquanto ele roda: cada linha é o bot contando o que reconheceu e o que decidiu.
Perguntas frequentes
Um bot de Evony usa IA?
Ele usa visão computacional e OCR, que são técnicas de IA: reconhece botões e telas em capturas de tela e lê números nelas, e então um agendador decide o que fazer em seguida. Ele não usa um chatbot nem um grande modelo de linguagem para jogar.
O ChatGPT pode jogar Evony por mim?
Não de forma prática. Jogar é um problema de percepção e de tempo: reconhecer uma tela, ler um número, tocar em menos de um segundo, a noite inteira. Um pipeline de visão no seu próprio PC faz isso de forma confiável; um modelo de linguagem seria lento, caro e não seria melhor em reconhecer um botão.
Por que o bot para de funcionar depois de uma atualização do jogo?
Porque ele reconhece o jogo pela aparência. Quando uma atualização muda a arte, o layout ou as fontes, algumas imagens de referência e recortes de OCR deixam de bater até serem recapturados. Por isso o conselho padrão é manter a versão anterior do jogo até a atualização do bot sair.
O bot lê a memória do jogo ou o tráfego de rede?
Não. Os nossos aplicativos trabalham com capturas de tela e toques pelo emulador, do jeito que um jogador faz. Ferramentas que injetam código no cliente do jogo ou falam com os servidores dele quebram a cada patch e são o caminho mais rápido para um banimento.