NPCs com IA · o que muda quando os personagens pensam

NPCs com IA: Como Funcionam os Personagens Não Jogáveis controlados por IA (e Como Criar um)

Crie seu próprio NPC com IA

NPCs com inteligência artificial podem conversar, lembrar e reagir. Aprenda como funcionam os NPCs com IA, depois crie um em uma frase e coloque-o em um mundo 3D caminhável.

✦Jogo
Crie um npc com IA

Um NPC com IA é um personagem não jogável cujo diálogo e intenção são produzidos por um modelo de linguagem em tempo de execução, enquanto o movimento e a colisão permanecem em um caminho determinístico. A IA comanda o que o personagem diz e quer; o motor comanda para onde o corpo vai. No Neta Studio, você descreve um personagem em uma frase, o Agent Sprite Forge gera um componente low-poly, e esse componente entra em um mundo 3D caminhável construído com Three.js.

Essa separação importa porque mostra onde moram os bugs. Quando um NPC atravessa uma parede, o pathfinding está errado. Quando um NPC insulta o jogador sem motivo, o contrato do prompt está errado. Esta página cobre a segunda categoria: como os sistemas de NPC com IA geram falas, mantêm parâmetros de personalidade, lembram-se de uma sessão e falham quando o modelo planeja e o motor não consegue executar.

Resposta rápida: o que um NPC com IA realmente é

Separe a expressão. "IA" aqui significa que um modelo produz texto e uma intenção de alto nível. "NPC" significa um controlador de personagem, um colisor e uma máquina de estado de animação. Os dois rodam em relógios diferentes: o modelo responde em centenas de milissegundos, o controlador é atualizado a cada quadro a 60 Hz. Eles conversam por meio de uma interface estreita, normalmente um pequeno objeto JSON que o controlador consulta.

Na prática, a interface é assim: o modelo retorna {line, intent, target}. O controlador lê intent, verifica se o alvo é alcançável no navmesh e então reproduz a fala com uma animação correspondente ou substitui por uma fala de fallback. Se você fundir essas duas camadas, terá NPCs que se teletransportam, deslizam ou ficam parados no meio da frase enquanto o modelo termina de gerar.

Então, a definição prática: um NPC com IA é um NPC cuja fala e escolha da próxima ação vêm de um modelo generativo, limitado por um conjunto fixo de intenções válidas que o motor consegue realmente executar.

  • Camada de diálogoChamada ao modelo. Latência de 200 a 900 ms. Pode falhar, sofrer limite de taxa ou retornar JSON malformado.
  • Camada de intençãoUm enum curto: cumprimentar, seguir, fugir, negociar, atacar, ficar ocioso. Qualquer coisa fora do enum é descartada.
  • Camada de movimentoPathfinding no navmesh, colisor, mistura de animação. Roda a cada quadro. Não chama o modelo.
  • Camada de memóriaUm armazenamento de chave-valor com fatos que o NPC pode recordar, limitado por um orçamento de tokens.

NPCs baseados em regras vs. NPCs com IA

Um NPC baseado em regras escolhe a partir de uma tabela. Você cria manualmente os estados, as transições e as falas. É exato, barato e reproduzível: a mesma entrada sempre produz a mesma saída, o que torna os testes e a depuração triviais. O teto é o seu tempo de escrita, e o modo de falha é um jogador digitar algo que você não previu e receber um olhar vazio.

Um NPC com IA gera a fala. Você cria um contrato e um conjunto de intenções válidas, e o modelo preenche o espaço entre eles. Ele lida com entradas não previstas com elegância, mas a mesma entrada pode produzir saídas diferentes em duas execuções, o que quebra testes ingênuos de replay. O custo escala com o comprimento da conversa, não com a quantidade de personagens, então uma cena faladeira custa mais do que uma silenciosa.

Nenhum dos dois é estritamente melhor. A comparação honesta:

DimensãoNPC baseado em regrasNPC com IA
Fonte do comportamentoMáquina de estado e tabela de falas criadas manualmenteSaída do modelo limitada por um enum de intenções
ReprodutibilidadeIdêntico bit a bit entre execuçõesNão determinístico, a menos que você fixe a semente e a temperatura
Formato do custoFixo em tempo de construçãoPor token em tempo de execução, cresce com o comprimento da conversa
Facilidade de depuraçãoRastreie a transição; o log é o códigoRegistre prompt, resposta bruta, intenção interpretada e fallback separadamente
Modo de falhaResposta em branco ou em ramo erradoFala fora do contrato, pico de latência ou JSON impossível de interpretar
Esforço de criaçãoAlto por fala, baixo por estadoBaixo por fala, alto por restrição

Diálogo dinâmico

Uma árvore de diálogo é um grafo com nós criados manualmente. O roteirista controla cada palavra, e é por isso que missões, contratos e revelações cruciais para o enredo ainda usam árvores. A entrada do jogador é associada a um de N ramos; qualquer coisa fora de N não é tratada. As árvores escalam linearmente com o conteúdo: dobrar a conversa dobra a escrita.

O diálogo gerado é diferente em natureza, não apenas em volume. O modelo lê a frase real do jogador, mais o contexto que você injeta — nome do NPC, objetivo atual, últimas três trocas — e escreve uma resposta adequada. Ele consegue lidar com uma pergunta que você nunca previu. Também consegue lidar com essa pergunta mal, com confiança e no personagem, o que é pior do que falhar.

Onde uma árvore ainda é a escolha correta: qualquer fala que carregue um estado do qual o resto do jogo depende. "O código do portão é 4417." Não deixe um modelo inventar isso. O padrão confiável é híbrido — a árvore detém os fatos e os pontos de ramificação, o modelo detém a formulação e a conversa fiada. No Neta Studio, quando você cria um NPC com IA a partir de uma descrição, o componente gerado expõe um enum de intenções; os fatos que você quer garantidos entram no componente como strings fixas, não no prompt como instruções.

Formato de prompt que sobrevive ao contato com os jogadores

Mantenha o prompt de sistema abaixo de cerca de 300 tokens. Papel, tom, três restrições e o esquema de saída. Todo o resto — inventário, estado da missão, fatos do mundo — vai em um bloco de contexto separado que o motor injeta a cada turno. Se você colocar o mundo inteiro no prompt de sistema, a latência sobe e o modelo começa a ignorar instruções posteriores.

Sempre peça saída estruturada. Solicite um objeto JSON com line e intent. Interprete-o. Se a interpretação falhar, descarte a fala e reproduza o fallback. Nunca renderize o texto bruto do modelo diretamente na caixa de diálogo sem uma verificação de comprimento; uma geração descontrolada produzirá um monólogo de 400 palavras que quebra sua interface.

Personalidade procedural

Uma personalidade não é um parágrafo de história de fundo. Um parágrafo de história de fundo é dado de treino para a imaginação do modelo, e ele se degrada com o comprimento: depois de algumas centenas de palavras, o modelo começa a tratá-lo como tempero e a derivar para uma utilidade genérica. Trate a personalidade como três ou quatro parâmetros, em vez disso, cada um dos quais altera um comportamento observável.

Objetivo é o que o NPC quer agora. Tom é como ele fala: seco, formal, zombeteiro. Restrição é o que ele não fará: não mentir, não falar sobre a guerra, não negociar. Esses três cabem em uma única linha de prompt e são testáveis individualmente. Adicione um quarto apenas se você conseguir descrever o que muda quando o varia.

No Neta Studio, o Agent Sprite Forge aceita uma descrição e retorna um componente low-poly com esses parâmetros expostos como campos no componente. Você pode editar o objetivo sem tocar no prompt do modelo e pode clonar um componente e mudar apenas o tom para obter um segundo NPC. Dois NPCs com a mesma malha e tons diferentes são percebidos como personagens distintos em uma cena, o que é mais barato do que criar dois sprites.

  • ObjetivoUma frase, no presente. "Faça o jogador sair do santuário."
  • TomDois a quatro adjetivos. "Seco, arcaico, impaciente."
  • RestriçãoRegras negativas. "Nunca nomeia o rio. Nunca aceita um item."
  • Limite de conhecimentoO que o NPC pode mencionar. Qualquer coisa fora disso deve produzir um desvio dentro do personagem, não uma invenção.

Comportamento adaptativo

A memória dentro de uma sessão é barata e eficaz. Você mantém um buffer rolante das últimas N trocas, mais um pequeno armazenamento de chave-valor com fatos que foram contados ao NPC. N de 8 a 12 funciona para a maioria das cenas; além disso, o prompt cresce mais rápido do que a paciência do jogador, e os turnos mais antigos deixam de afetar a saída de qualquer forma.

O que um NPC consegue lembrar de forma confiável: o nome do jogador conforme declarado, se um item específico foi dado ou recusado, se uma interação anterior terminou em hostilidade e o último objetivo declarado. O que ele não consegue lembrar de forma confiável: a formulação exata de vinte turnos atrás, fatos que nunca foram gravados no armazenamento de chave-valor e qualquer coisa após recarregar a página, a menos que você a persista. Memória que vive apenas no prompt é memória que evapora.

A reação é a segunda metade. O motor observa mudanças de estado — queda de vida, transferência de item, ultrapassagem de um limite de distância — e envia um evento para o contexto do NPC. O modelo então escolhe uma intenção do enum. É por isso que o enum de intenções existe: o modelo propõe, o motor decide. Um NPC que "decide" atacar ainda precisa passar na verificação de alcance. Se falhar, ele reproduz uma fala de aviso e fica parado.

O que a persistência custa de verdade

Gravar memória no armazenamento é uma linha de código e uma decisão de esquema. Mantenha as chaves curtas e planas: playerName, gaveItem, hostility. Objetos aninhados incham e apodrecem. Versione o esquema desde o início; uma renomeação posterior descarta silenciosamente os saves antigos, a menos que você escreva uma migração.

Entre sessões, não tente reproduzir todo o histórico de conversa no contexto. Isso é caro e torna o NPC repetitivo. Persista o resumo — de três a cinco fatos — e comece do zero com a transcrição.

Crie um NPC com IA em uma frase

O fluxo no Neta Studio é deliberadamente curto. Você escreve uma descrição. O Agent Sprite Forge gera um componente low-poly com uma malha, uma paleta e um modo de comportamento. Você o coloca em uma cena caminhável construída com o construtor de jogos 3D, e ele surge com colisão, pathfinding e um gancho de diálogo já conectados.

Uma descrição que funciona é específica quanto a papel, tom e uma restrição. "Um faroleiro desconfiado, seco e do norte, que não fala sobre o naufrágio." Isso produz um componente cujo prompt inclui exatamente esses três parâmetros. Algo como "um personagem legal" produz um resultado genérico, porque não há nada a restringir.

Você pode testar o resultado em dois lugares: The Cyclops' Island, que é a cena caminhável de formato longo, e Mini World, que é menor e mais rápida de iterar. Ambos rodam no navegador com Three.js. Coloque o componente, aproxime-se dele, digite uma fala e leia a resposta. Se o tom estiver errado, edite o campo de tom no componente em vez de reescrever o prompt do zero.

1

01

Escreva uma frase: papel, tom, uma restrição.

2

02

Passe-a pelo Agent Sprite Forge para gerar um componente low-poly.

3

03

Abra Mini World ou The Cyclops' Island no construtor de jogos 3D.

4

04

Coloque o componente na cena; ele surge com colisão e um gancho de diálogo.

5

05

Aproxime-se e digite uma fala. Leia a resposta e a intenção que ele selecionou.

6

06

Edite o tom ou a restrição no componente, não no prompt de sistema.

7

07

Teste o caminho de falha: digite algo fora do tema e confirme que o fallback é acionado.

8

08

Mova o componente para a cena maior quando ele se comportar bem.

O que os NPCs com IA ainda não conseguem fazer

O planejamento de longo prazo não funciona. Um modelo solicitado a planejar trinta passos em uma cena produzirá um plano plausível e então perderá o fio da meada por volta do sexto passo, porque nada sustenta o estado entre os passos além do prompt, e o prompt fica cada vez mais longo e ruidoso. Se você precisa de uma missão em várias etapas, crie as etapas e deixe o modelo preencher o diálogo dentro de cada uma. Não peça a ele que sustente o arco.

Objetivos verdadeiramente abertos também não funcionam. "Faça o que quiser" produz paralisia ou um ciclo genérico de utilidade, porque o modelo não tem sinal algum do que conta como progresso. Um objetivo só é utilizável se o motor puder verificar se ele foi satisfeito. Se você não conseguir escrever essa verificação, você não tem um objetivo, tem um humor.

O controle de custos é a verdadeira lacuna. O custo por turno é pequeno; a falha está na conversa que nunca termina. Um jogador que continua falando continua gerando cobrança. Você precisa de um limite rígido de turnos por interação, um limite de tokens de contexto e um caminho de degradação — após o limite, o NPC passa a respostas mais curtas e padronizadas. Sem esses três, um único testador curioso pode consumir mais orçamento do que o resto da sua cena inteira.

E as falhas menores: uma latência acima de cerca de 1,5 segundo é lida como um jogo quebrado, não como um personagem reflexivo. O não determinismo quebra os testes de replay, a menos que você fixe a semente e a temperatura. E qualquer fala gerada pode contradizer algo que a árvore já estabeleceu, e é por isso que os fatos permanecem na árvore.

  • Horizonte de planejamentoConfiável para 1–2 passos. Degrada seriamente além disso.
  • Verificação de objetivoPrecisa ser verificável pelo motor. Caso contrário, o objetivo é decorativo.
  • Teto de custoPrecisa de limite de turnos por interação, mais limite de tokens, mais um modo de fallback.
  • Orçamento de latênciaAbaixo de 1,5 s para uma sensação de conversa; acima disso, os jogadores presumem que o jogo travou.
  • DeterminismoNão determinístico por padrão. Fixe a semente e a temperatura se você testa por replay.
Descreva um personagem e ele aterrissa em um mundo caminhável — NPCs com IA, em uma frase.
Little Ritual — a base baseada em regras que um NPC com IA precisa superar.

Entre no mundo ao qual ele pertence

Um sprite é um personagem sem um lugar para ficar. O último passo é o que ninguém mais oferece: pegue a folha que você acabou de criar e coloque-a em um mundo pelo qual alguém possa caminhar — uma pequena ilha, um planeta, uma esquina chuvosa. Todo mundo neste site foi feito a partir de uma descrição escrita e publicado como uma página que você pode jogar.

FAQ

NPCs são IA? +

Tradicionalmente, não. Um NPC clássico é uma máquina de estado com falas criadas manualmente, e isso ainda é o padrão na maioria dos jogos lançados. O termo "NPC com IA" refere-se especificamente a personagens cujo diálogo ou seleção de intenção é produzido por um modelo em tempo de execução, em vez de escolhido de uma tabela.

O que é um NPC com IA? +

Um personagem não jogável cuja fala e escolha da próxima ação vêm de um modelo generativo, limitado por um conjunto fixo de intenções que o motor consegue executar. Movimento, colisão e animação permanecem determinísticos; o modelo apenas preenche o diálogo e propõe uma intenção.

NPCs com IA conseguem lembrar coisas? +

Dentro de uma sessão, sim — um buffer rolante das últimas 8 a 12 trocas mais um pequeno armazenamento de chave-valor de fatos cobre a maioria das cenas. Após recarregar a página, só se você persistir os fatos no armazenamento. A memória que vive apenas no prompt desaparece quando o contexto desaparece.

Posso criar um de graça? +

O Agent Sprite Forge e o construtor de jogos 3D rodam no navegador e permitem gerar um componente a partir de uma frase sem uma cadeia de ferramentas local. As chamadas ao modelo em tempo de execução são a parte que tem custo, e esse custo depende de para qual modelo você encaminha e de quanto duram suas conversas.

Preciso de um motor de jogo para criar um NPC com IA? +

Não para uma cena de navegador. O construtor de jogos 3D cuida da renderização com Three.js e dá ao componente gerado colisão, pathfinding e um gancho de diálogo, então você pula a etapa de configuração do motor. Você só precisa de um motor completo se estiver mirando uma build nativa.

NPCs com IA funcionam no navegador? +

Sim. A chamada ao modelo é uma requisição de rede e a renderização é WebGL, então os dois lados rodam no navegador. A limitação prática é a latência: mantenha o prompt de sistema curto e o bloco de contexto separado, ou as respostas começarão a chegar depois que o jogador já presumiu que o jogo travou.

Quanto custa manter um NPC com IA em execução? +

Escala com o comprimento da conversa, não com o número de personagens que você posiciona. Um NPC silencioso é quase gratuito; um faladeiro cobra por turno. O controle que importa é um limite rígido de turnos por interação mais um limite de tokens, com um fallback de respostas padronizadas assim que o limite for atingido.

Voltar ao construtor de jogos 3D

Todos os 31 mundos, jogos e cenas 3D finalizados ficam em uma única página — todos eles jogáveis.

Plataforma: Neta StudioPágina: NPCs com IA: Como Funcionam os Personagens Não Jogáveis controlados por IA (e Como Criar um)Leia a seguir: /explore/guide/npc-behavior · /explore/guide/ai-npc · /explore/tool/ai-npc-generator
×