
Em uma integração confiável de IA de jogo, JEV não deve inventar comandos arbitrários. O jogo primeiro gera Legal Actions: Choices possíveis sob as regras atuais, percepção, recursos e restrições de autoridade. JEV pode escolher ou Score esses candidatos; o executor os verifica novamente antes de mudar o mundo.
O que é uma ação judicial?
Uma Ação Permitida é um comando significativo que o agente atual pode tentar. Possui um nome estável, parâmetros explícitos, pré-condições e um proprietário de execução. Os exemplos incluem attack(targetId), takeCover(coverId), heal(allyId), e retreat(routeId).
Por que não ações de formato livre?
A geração de formato livre torna a validação, o teste e o balanceamento mais difíceis. Um modelo pode retornar um alvo que não existe mais, uma rota inacessível ou um verbo não implementado. Um conjunto de ações fechado transforma invenção em seleção: os designers inspecionam os candidatos, o controle de qualidade os reproduz e o executor rejeita qualquer coisa fora do contrato.
Gerar candidatos no código do jogo
if (canSeeTarget && ammo > 0) add({ name: 'attack', targetId }); if (safeCover) add({ name: 'takeCover', coverId }); if (allyNeedsHelp) add({ name: 'assist', allyId }); if (empty) add({ name: 'holdPosition' });O construtor usa o estado autoritativo e a percepção do agente. A lista de candidatos ainda é um instantâneo e não substitui a validação final.
Choice, Score e portões
Use Choice quando um candidato deve ser selecionado, Score quando alvos ou rotas precisam de classificação e um julgamento limitado de sim ou não como uma porta para abandonar um objetivo. Para espaços grandes, restrinja os candidatos primeiro e escolha depois.
Revalidar antes da execução
Quando a resposta chegar, reconstrua ou verifique novamente o conjunto de ações atual. Verifique o nome, os parâmetros, a versão do estado, a existência do destino, os recursos e a autoridade. Se um candidato desapareceu, descarte a resposta e use fallback. Nunca force uma decisão antiga em um novo estado mundial.
const current = buildLegalActions(world, npc); const selected = current.find(action => sameAction(action, decision)); if (!selected) return fallback(); return execute(selected);Qual deve ser o tamanho do espaço de ação?
Comece com algumas opções que representam compensações reais. A exposição de todas as opções de movimento força a camada de decisão a resolver juntas a navegação e as táticas. Para um esquadrão NPC, defender, proteger, ajudar, atacar e recuar pode ser suficiente; navegação e habilidades lidam com detalhes de baixo nível.
Ações obsoletas e fallback
Os alvos morrem, os tempos de espera começam, as rotas são bloqueadas e a percepção muda. Trate a obsolescência como normal em um jogo em tempo real. Descarte o resultado, reconstrua o estado e continue com uma política determinística. Para implementação de API, leia JEV API uso. Para arquitetura NPC, consulte JEV NPC.
Um esquema de ação útil
Represente cada ação como dados com um ID, intenção, parâmetros, pré-condições, duração estimada, custo do recurso e executor. O ID deve ser estável para o instantâneo atual, enquanto as referências de destino e localização devem ser explícitas. Isso dá aos designers e ao controle de qualidade um vocabulário compartilhado para discutir comportamento.
{ id: 'cover-wall-a', intent: 'takeCover', target: { coverId: 'wall-a' }, cost: { timeMs: 900 }, preconditions: ['reachable', 'notOccupied'] }Poda antes de classificar
As restrições rígidas pertencem antes da avaliação do modelo. Remova ações que violem regras de alcance, tempo de espera, propriedade, visibilidade, navegação ou multijogador. Só então JEV deverá comparar compensações mais brandas, como segurança, pressão objetiva, conservação de recursos e coordenação de equipe. Isso reduz o ruído e torna o resultado mais fácil de explicar.
Quando o espaço de ação é grande
Use um design de dois estágios: primeiro Score ou filtre os candidatos em uma pequena fronteira e, em seguida, escolha uma ação. Por exemplo, o código do jogo pode gerar vinte pontos de cobertura visíveis, JEV pode Score seu valor tático e uma política determinística pode manter os três melhores antes de um Choice final. A navegação ainda possui validade de caminho.
O design do espaço de ação é o equilíbrio do jogo
Adicionar uma ação altera o espaço de estratégia de NPC. Adicionar retirada pode fazer com que um guarda sobreviva por mais tempo; adicionar assistência pode melhorar a coesão do time, mas atrasar o objetivo. Crie uma versão do vocabulário de ação, reproduza encontros representativos e peça aos designers que revisem não apenas se uma ação é legal, mas também se ela cria a compensação pretendida.
Testes de contrato
- Cada candidato tem um manipulador.
- Cada manipulador verifica as pré-condições atuais novamente.
- IDs de ação desconhecidos falham ao fechar.
- Os tipos de parâmetro e a propriedade de destino são validado.
- Candidatos obsoletos são rejeitados em replay e testes ao vivo.
- O fallback permanece legal quando a lista de candidatos está vazia.


