Docs Outros

Perguntas frequentes

Isto é um cheat? Quais versões são suportadas? O que a IA vê e o que ela pode fazer? Dá para usar sem saber programar? …

Isto é um cheat?

Não. É uma interface de desenvolvimento para pesquisa e entretenimento com IA, usada apenas com um cliente que você possui legalmente, na sua máquina, em rede local ou em partidas criadas por você, contra o computador ou contra outras IAs. Ela não pode ser usada na Battle.net nem em qualquer servidor com anti-cheat, e não oferece nenhum recurso voltado a partidas contra pessoas reais. Veja os Limites de uso.

Quais versões do jogo são suportadas?

No momento, só o Warcraft III 1.27 (The Frozen Throne). As versões 1.24 ~ 1.28 compartilham a mesma estrutura de motor; o suporte a várias versões (tabela de símbolos por versão, busca por assinatura de bytes como fallback, autoteste na inicialização que gera a lista de capacidades) está na fase P4 do roadmap. A 1.29 em diante e o Reforged usam outro motor e precisariam de uma adaptação própria; por enquanto, não há compromisso com isso.

Ele modifica os arquivos do meu jogo?

Não. O runtime é injetado com o jogo em execução e não modifica o Game.dll no disco nem qualquer arquivo do jogo. Para abrir várias instâncias, ele apenas copia e renomeia o lançador original War3.exe, sem alterá-lo. Os dados do jogo (tabelas de unidades etc.) são extraídos do seu próprio jogo e não são distribuídos com o código.

O que a IA consegue ver?

Basicamente tudo o que um jogador profissional gostaria de saber, atualizado a cada 50 ms:

  • ouro, madeira e comida de todos os jogadores; posição, vida e mana, ordem atual, quem cada unidade está atacando, nível e experiência de todas as unidades;
  • nível e recarga restante das habilidades de heróis e unidades, buffs ativos, inventário;
  • o que cada construção está treinando / pesquisando / construindo / melhorando, o progresso e se está travada por falta de comida;
  • itens no chão, árvores, a grade andável / construível do mapa, pontos de início, horário do jogo (dia e noite);
  • fluxo de eventos: unidades aparecendo e morrendo, cada golpe de dano (quem atacou, tipo de ataque, dano antes da armadura), abates, produção concluída, herói subindo de nível…
  • também dá para perguntar direto ao motor: se algo pode ser feito agora e, se não, por quê; o nível de uma tecnologia; se um ponto está visível; quanto ouro resta numa mina; para onde o computador adversário vai levar as tropas.

Além disso, o SDK já calcula os atributos de combate (counters, armadura, melhorias de ataque/armadura), “quantos segundos para matar” e os caminhos por terra. Todas as APIs estão no catálogo da API.

O que a IA consegue fazer?

Praticamente tudo o que um jogador faz: mover, atacar-mover, atacar um alvo, parar, manter posição, patrulhar, atacar o chão, coletar, reparar, construir (com escolha automática de local), treinar / pesquisar / melhorar, cancelar, aprender habilidades, lançar feitiços (em unidade / em ponto / sem alvo), ponto de encontro, reviver heróis, pegar / usar / largar / dar / vender itens, comprar, Call to Arms; fila com Shift, marcha por pontos de caminho, um trabalhador construindo várias em sequência; e ainda velocidade do jogo, pausa e balões de fala. Todo comando tem recibo.

Além das ações de jogador, dá para desenhar seus próprios painéis e marcações na tela do jogo (Canvas) e, em partidas solo, chamar as 1291 funções JASS disponíveis para autores de mapas (Canal JASS).

Dá para usar em mapas RPG / personalizados?

Dá. Escolha um mapa RPG, selecione o esquema “Exemplo de companheiro” para a instância e, depois que a partida começar, jogue você mesmo: um parceiro de IA vai andar ao seu lado, ajudando a lutar, curando você e conversando com você; veja Companheiro de RPG. g.map_data lê os nomes das unidades personalizadas do mapa; o Canal JASS cria unidades, define aliados, abre painéis… como jogar fica por sua conta. Operações que alteram o mundo só estão disponíveis em partidas solo (em partidas multijogador causam dessincronização); o canvas é seguro também em partidas multijogador.

Dá para usar sem saber programar?

Dá. Prepare o ambiente pelo Início rápido e depois veja Escreva um Bot com um LLM: você descreve a estratégia em linguagem comum e o LLM escreve o código; se algo der errado, conte a ele o erro ou o que você viu no jogo e peça a correção.

Só funciona com Python?

O SDK é em Python. Entre o runtime e os programas externos há apenas um protocolo de memória compartilhada (W3P), e qualquer linguagem que leia e escreva memória compartilhada do Windows pode se integrar. O jeito mais fácil é o gateway (WebSocket / JSON): JS, C#, Go, Rust, páginas de navegador e programas em outra máquina podem chamar as mesmas APIs; agentes de LLM podem se conectar direto pelo MCP.

Qual LLM é o melhor?

Qualquer modelo popular que saiba escrever código serve. O que importa não é o modelo, e sim dar a ele o material certo (manual + api.json + um exemplo) e exigir que ele use só métodos que existem no catálogo da API. Decisões em tempo real durante a partida (conselheiro, falas) são sensíveis à latência, e modelos MoE locais se saem muito bem; veja LLM como coach de estratégia e Balões de fala e modelos locais.

Isso deixa o jogo mais lento?

Uma coleta do estado do mundo leva uma mediana de 0.5 ~ 0.9 ms na thread do jogo (100 ~ 120 unidades), uma vez a cada 50 ms. Cada comando leva alguns microssegundos na thread do jogo; cada esvaziamento da fila tem um orçamento de 4 ms, e o que não couber fica para o próximo, sem travar o jogo. Toda chamada ao jogo tem proteção contra exceções: se um Bot quebrar, só aquele lado para; o jogo não cai.

Dá para abrir vários jogos ao mesmo tempo?

Dá. O runtime/farm.py orquestra várias instâncias, cada uma com um número; você as inicia e para no console Farsight. O seu Bot se conecta a uma instância específica com --inst N.

Dá para pôr duas IAs para se enfrentar?

Abrir dois canais player na mesma partida (--player 0 / --player 1) já é IA contra IA. No modo local, o jogo limpo depende de um acordo entre as partes; partidas oficiais com árbitro, filtro de visão e verificação de propriedade ficam na Arena (fase P6).

Funciona no Mac / Linux?

No momento, só no Windows 10 / 11.

Qual é a licença?

A licença será publicada junto com a versão oficial. Componentes de terceiros mantêm suas próprias licenças (por exemplo, MinHook é BSD-2); o AMAI tem licença própria, e os dados derivados dele não são distribuídos com o projeto: eles são baixados do repositório público do AMAI e gerados durante a instalação.

Onde relatar problemas?

Um canal para relatar problemas será aberto após o lançamento oficial. Ao relatar, inclua o número da instância, a saída de python -m openwar3 status e os passos para reproduzir. Antes, veja se Depuração e desempenho resolve.