Gerador de Diálogos de NPC: Escreva Falas de Personagem que Soam Humanas
Crie seu próprio gerador de diálogos de NPC
Um fluxo prático para diálogos de NPC: prompts de persona, objetivo e restrição, geração de variantes, um checklist de revisão e uma demonstração 3D ao vivo em que seu NPC fala dentro do mundo.
Um gerador de diálogos de NPC transforma uma descrição escrita em falas candidatas para um personagem. Você fornece uma persona, uma situação e um objetivo; ele retorna rascunhos. Ele não decide qual rascunho será usado. Essa decisão continua com o roteirista, que corta, edita e testa a fala dentro da cena onde ela será ouvida.
Esta página apresenta um fluxo que você pode repetir: montar o prompt em três partes, gerar de três a cinco variantes mudando a situação em vez do texto, aplicar um checklist de revisão com cinco pontos e, depois, colocar a fala aprovada em um mundo caminhável. A última parte importa. Uma fala que existe apenas em um arquivo de texto soa como narração quando chega ao jogador. Uma fala presa a um personagem parado em um posto, com um raio de gatilho e um balão de fala, soa como diálogo.
Resposta rápida: o que um gerador de diálogos de NPC faz
Um gerador de diálogos de NPC recebe três entradas — uma persona, uma situação e um objetivo — e retorna falas candidatas. A persona define quem fala e o que essa pessoa sabe. A situação define onde o jogador está e o que acabou de acontecer. O objetivo define o que o NPC quer desta troca. Mude qualquer uma das três e a saída muda. Não mude nenhuma e você obtém quase duplicatas.
O que ele não faz é finalizar a fala. Um gerador produz rascunhos: falas com o comprimento certo, em uma voz plausível, voltadas ao objetivo correto e ainda erradas de alguma forma que você só percebe quando lê em voz alta ou vê a fala aparecer na tela. O roteirista ainda escolhe entre os candidatos, corta os que explicam demais e edita a que sobreviveu até que ela seja algo que uma pessoa diria. Trate a saída como uma primeira passada de um colaborador rápido, incansável e um pouco literal demais.
O que faz o diálogo parecer real em um jogo
Quatro propriedades fazem a maior parte do trabalho. Falas curtas, porque o jogador lê enquanto se move e uma fala que exige duas respirações é pulada. Uma intenção por fala, porque uma fala que ao mesmo tempo avisa e faz uma pergunta não soa como nenhuma das duas. Uma voz consistente por personagem, o que significa vocabulário, comprimento de frase e aquilo que o personagem se recusa a dizer. E limites de conhecimento: um NPC só deve saber o que sua posição no mundo permitiria saber. Um trabalhador do cais não sabe da saúde do rei. Um guarda do portão norte não sabe o que aconteceu nos esgotos, a menos que alguém tenha contado.
O limite de conhecimento é o que os roteiristas mais violam, e é o que os jogadores percebem. Se todo personagem pode responder a qualquer pergunta, o mundo deixa de parecer um lugar e começa a parecer uma caixa de pesquisa. Decida o que cada personagem pode plausivelmente saber antes de gerar qualquer coisa. Essa decisão pertence ao prompt de persona, não à sua cabeça.
Aqui está o mesmo pedido escrito de duas formas. Direto: "Diga ao jogador que a ponte caiu e que ele precisa pegar a estrada leste." No personagem, para um barqueiro que não dormiu: "A ponte caiu durante a noite. A estrada leste é o único caminho seco agora. Eu levo você para o outro lado se tiver moedas, mas não remo no escuro." A segunda versão traz a mesma informação e também traz uma pessoa. Ela sugere um preço, um limite e um humor. Nada disso estava na versão direta.
A versão direta não é inútil. Ela é a especificação. Escreva a fala direta primeiro, depois reescreva-a na boca do personagem. Gerar diretamente a partir de um objetivo, sem uma persona, é assim que se obtêm falas corretas e intercambiáveis.
Padrões de prompt: persona, objetivo, restrição
O modelo de três partes é persona, objetivo, restrição. Persona é quem fala e o que essa pessoa sabe. Objetivo é para que serve esta troca. Restrição é comprimento, tom e o que a fala não pode fazer. Preencha as três sempre. Um prompt só com objetivo produz falas genéricas; um prompt só com persona produz um monólogo sem função.
Um exemplo preenchido: "Persona: Marta, barqueira, quarenta anos no rio, sabe que a ponte desabou na noite passada e que a estrada leste alaga na maré alta. Objetivo: dizer ao jogador que a ponte caiu e que ela pode levá-lo para o outro lado por um preço. Restrição: menos de 30 palavras, sem exposição sobre o passado dela, não mencionar o rei, registro falado, ela está cansada." Esse prompt retorna candidatos utilizáveis. Tire a restrição e você recebe um parágrafo. Tire a persona e você recebe uma placa de sinalização.
| Campo | O que entra nele | Erro comum |
|---|---|---|
| Persona | Nome, papel, o que este personagem sabe e não sabe, humor atual | Listar o histórico em vez dos limites de conhecimento, fazendo o NPC responder perguntas que não deveria |
| Objetivo | A única coisa que esta troca precisa realizar para o jogador | Empilhar dois objetivos (avisar e vender), fazendo a fala não cumprir nenhum dos dois com clareza |
| Restrição | Contagem de palavras, registro, assuntos proibidos, o que não pode ser revelado | Deixar de fora e receber um parágrafo de 60 palavras para um balão de 4 segundos |
Gerar variantes sem perder a voz
Peça de três a cinco variantes, não dez. Abaixo de três, você não vê o espaço de opções; acima de cinco, você passa mais tempo lendo do que escrevendo. Três bastam para uma fala utilitária; cinco, para uma fala que o jogador ouvirá repetidamente.
Varie a situação, não o texto. Se você rodar o mesmo prompt com a mesma persona, objetivo e restrição, o modelo retorna quase duplicatas: mesma estrutura de frase, adjetivos trocados. Isso não é um bug, é o que um amostrador quase determinístico faz com uma entrada inalterada. Para obter variedade real, mude uma coisa à qual o personagem está reagindo. O jogador chegou ao amanhecer em vez de à noite. O jogador está ferido. O jogador fez a mesma pergunta pela terceira vez. Mesma voz, pressão diferente, fala diferente.
Mantenha o bloco de persona fixo entre as variantes. Se você deixar a persona variar entre execuções, não estará mais gerando variantes de um personagem: estará gerando vários personagens que por acaso compartilham um nome. Congele a persona, varie a situação e as saídas continuam comparáveis.
Salve o prompt que produziu a fala que você publicou. Seis semanas depois, quando precisar de uma segunda fala para o mesmo personagem, recarregue esse prompt em vez de reconstruir a voz de memória. Arquivos de prompt pertencem ao controle de versão, junto com os dados de diálogo.
Um checklist de revisão antes de publicar uma fala
Cinco verificações, em ordem. Aplique-as a cada fala antes que ela entre na tabela de diálogos.
01
Comprimento na tela. Conte as palavras e estime o tempo de leitura em cerca de três palavras por segundo. Uma fala com mais de aproximadamente 20 palavras não termina antes de o balão de fala fechar, a menos que você estenda o temporizador. Corte; não estenda.
02
Conhecimento que o NPC não deveria ter. Pergunte o que este personagem poderia plausivelmente saber a partir de seu posto e de sua história recente. Se a fala revela algo que nunca lhe contaram, corte-a ou acrescente a cena em que contaram.
03
Consistência de nome e lore. Verifique a grafia na tabela de personagens e confira cada nome próprio no documento de referência do mundo. Geradores inventam nomes de lugares que soam certos e contradizem o seu mapa.
04
Se a fala oferece uma saída. Uma fala que encerra a conversa sem ramificação, sem atualização de missão e sem despedida deixa o jogador parado diante de um personagem sem nada a dizer em seguida. Toda fala de conversa precisa de uma saída, mesmo que a saída seja "não tenho mais nada a dizer".
05
O teste de ler em voz alta. Diga a fala em voz alta no ritmo de fala. Falas que parecem boas na tela tropeçam em encontros consonantais e ênfases estranhas. Se você tropeçar, o dublador vai tropeçar, e o jogador vai pular.
Coloque a fala na boca de um personagem
Pegue uma fala aprovada. Posicione o personagem em um posto: uma posição fixa na cena caminhável, voltado para uma direção que faça sentido para a função dele. O barqueiro fica na beira do cais, não no meio da estrada. Anexe um raio de gatilho — uma esfera ou cápsula ao redor do personagem, pequena o bastante para que a fala dispare quando o jogador estiver perto e não quando ele passar do outro lado da rua. Depois, prenda o balão de fala à âncora da cabeça do personagem para que ele o acompanhe e seja ocluído corretamente pela geometria.
Uma fala sem um posto soa como narração. O jogador ouve uma voz sem fonte visível e o cérebro a classifica como narrador, não como personagem. O posto é o que diz ao jogador quem está falando, antes da primeira palavra. O raio de gatilho é o que faz a fala parecer uma resposta à chegada, e não uma transmissão. O balão é o que mantém a fala presa ao corpo enquanto o jogador se move.
Teste o posicionamento em uma cena 3D ao vivo, não em um mockup. No construtor de jogos 3D do Neta Studio, você pode colocar um personagem em um mundo caminhável, definir o raio de gatilho, vincular a fala aprovada ao balão e percorrer a cena com o jogador. O Mini World é uma cena pequena para exatamente esse tipo de verificação. Se o balão atravessar uma parede ou o gatilho disparar do outro lado da praça, você verá em dez segundos de caminhada. The Cyclops' Island é uma cena maior onde você pode testar a mesma fala com mais geometria entre o jogador e o personagem.
- PostoUma posição fixa e uma direção de olhar para o personagem, escolhidas para que o corpo pareça pertencer ao lugar.
- Raio de gatilhoUm volume de curto alcance que dispara a fala na aproximação; ajuste para que a fala não toque do outro lado da sala.
- Balão de falaUm elemento no espaço do mundo, ancorado à cabeça do personagem, para que a fala continue presa a ele enquanto o jogador se move.
- Duração do balãoDefinida a partir da contagem de palavras em cerca de três palavras por segundo; estenda o temporizador só depois de cortar a fala.
Onde o diálogo se encaixa no comportamento de um NPC
O diálogo é uma camada. Acima dele ficam a percepção (o que o NPC pode ver e ouvir), a decisão (o que ele escolhe fazer em seguida) e a animação (como a escolha aparece no corpo). Uma fala é a saída visível dessas camadas, não um substituto para elas. Um NPC que diz um aviso mas continua andando na mesma direção tem uma camada de diálogo que discorda da camada de animação, e os jogadores leem isso como um defeito.
Se você usa uma árvore de comportamento, o diálogo pertence a um nó folha alcançado depois que a árvore já decidiu que o personagem está em conversa. A árvore cuida da aproximação, da direção do olhar, da pausa e da saída. O nó de diálogo fornece a fala. Isso mantém a lista de falas orientada por dados e a árvore no comando do tempo. Também significa que você pode trocar uma fala fixa por uma gerada sem reescrever a árvore.
Para NPCs de IA que reagem às entradas do jogador, a mesma estrutura se mantém: a percepção alimenta a árvore, a árvore seleciona um nó de diálogo, e o nó puxa uma fala fixa ou chama um modelo com persona, objetivo e restrição em tempo de execução. O Agent Sprite Forge é útil aqui porque a identidade visual do personagem e sua identidade de diálogo permanecem pareadas — você não está publicando uma fala gerada em um sprite que nunca foi criado para aquela voz.
Uma lista de falas fixas é a melhor escolha com mais frequência do que parece. Use uma quando a fala for ouvida muitas vezes, quando a informação precisar ser exata, quando o personagem fizer parte de uma cadeia de missões com estados garantidos ou quando a latência comprometer a cena. Use um modelo quando a entrada for aberta, a fala for ouvida uma única vez e uma resposta levemente errada custar menos do que uma resposta ausente.
Entre no mundo ao qual ela pertence
Um sprite é um personagem sem lugar para ficar. O último passo é o que ninguém mais oferece: pegue a folha de sprites 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. Cada mundo deste site foi criado a partir de uma descrição escrita e publicado como uma página que você pode jogar.
FAQ
O que é um gerador de diálogos de NPC? +
Uma ferramenta ou padrão de prompt que recebe uma persona, uma situação e um objetivo e retorna falas candidatas para um personagem não jogável. Ele produz rascunhos; o roteirista ainda seleciona, corta e edita antes de a fala ser publicada.
Preciso de um LLM para diálogos de NPC? +
Não. Uma lista de falas fixas em uma tabela de dados cobre a maioria dos NPCs, especialmente falas ouvidas repetidamente ou ligadas a estados de missão. Um modelo vale a latência e o custo quando a entrada é aberta e a fala é ouvida uma única vez.
Quantas falas por NPC devo escrever? +
Tantas quantas a função do personagem exigir, e não mais. Um NPC de fundo precisa de duas a quatro falas. Um NPC que dá missões precisa de uma fala por estado, além de uma de reserva. Conte os estados antes de contar as falas.
Como mantenho um personagem consistente entre falas geradas? +
Congele o bloco de persona e reutilize-o literalmente. Mantenha uma ficha de personagem com vocabulário, comprimento de frase, limites de conhecimento e assuntos proibidos, e guarde o prompt junto aos dados de diálogo para que falas posteriores partam da mesma entrada.
O diálogo gerado pode ser usado comercialmente? +
Isso depende dos termos do modelo ou da ferramenta que você usa e do seu próprio processo de revisão, não apenas do gerador. Verifique a licença do seu provedor específico e mantenha a revisão humana no ciclo antes de publicar.
Como testo diálogos em um jogo? +
Posicione o personagem em um posto em uma cena caminhável, defina o raio de gatilho, vincule a fala aprovada ao balão de fala e percorra a cena com o jogador no ritmo de fala. Verifique o tempo de leitura, se o balão é cortado pela geometria e se a fala oferece uma saída antes de aprová-la.
Voltar ao construtor de jogos 3D
Todos os 31 mundos, jogos e cenas 3D finalizados estão em uma única página — e todos são jogáveis.