Communitygithub.com

NPCTalk

Grava pequenos clipes de conversas entre NPCs que parecem jogabilidade real, prontos para publicar. Cobre diálogos roteirizados em locais e horários escolhidos, câmera de jogabilidade parada atrás do jogador, ambas as falas renderizadas antes do clipe começar para que sejam reproduzidas em sequência, HUD e legendas do jogo sem nada do mod na tela, marcadores de timeline para corte, sincronia de tela e áudio, cortes de 5 a 10 s em 16:9 (e 9:16), fixação de falas para regravar um take aprovado e regravação de clipes que ultrapassam o tempo. Use quando o usuário quiser vídeos de demonstração, clipes ou uma montagem de NPCs conversando.

O que é NPCTalk?

NPCTalk é uma skill para agentes de IA que permite criar clipes no estilo de jogabilidade real, com NPCs conversando, prontos para publicação em redes sociais ou montagens. Ela cobre todo o fluxo: roteirização de diálogos, posicionamento de câmera e NPCs, renderização de falas antes da gravação, gravação sincronizada de tela e áudio, corte automático baseado em timeline e regravação sem perder falas aprovadas. Suporta mods de jogos como GTA V, usando scripts PowerShell para captura e TypeScript para edição, garantindo que o resultado final pareça uma sessão de jogabilidade comum, sem elementos do mod visíveis. É útil para criadores de conteúdo, desenvolvedores de mods ou qualquer pessoa que queira gerar vídeos de demonstração ou montagens de NPCs conversando de forma rápida e consistente.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/christos-antono/NPCTalk/tree/HEAD/.agents/skills/npc-showcase-clips

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Clipes de NPCs conversando no estilo de jogabilidade

O que funcionou para 20 clipes de GTA V (examples/gta-v, DirectorClips.cs, tools/shoot.ps1, tools/edit.ts): um clipe é uma troca de falas, de 5 a 10 s, que poderia ser um momento da jogabilidade comum de alguém.

Roteirize

clip: Pistola d'água
em: grove                         um ponto na rua, uma casa, ou "x, y, z, heading"
horário: 21                       hora do dia
a: jogador                        quem fala primeiro: o jogador, um personagem, ou um modelo de ped com voz
b: LamarDavis
fala: Lamar, guarda a arma. É uma pistola d'água.
resposta: insiste que ainda é assustadora e que ele é o homem mais temido da Grove Street    (o LLM escreve ao vivo)
# ou fixe um take aprovado:
diga: [gritando] Com medo de uma pistola d'água? Essa é a porra mais temida da Grove Street!
faça: nenhum                    a ação a ser executada (um nome de ação, ou nenhum)

Clipes só de NPCs (um policial e um caipira, um fuzileiro naval e um turista) são alguns dos melhores: esconda o jogador e deixe dois NPCs se enfrentarem.

Pareça jogabilidade

  • A câmera de jogabilidade, mantida parada: a cada quadro, defina o modo de visão da câmera de acompanhamento, sua direção e inclinação em relação ao jogador, e desabilite a entrada de olhar. Fixo é suficiente; câmeras cinematográficas parecem trailer.
  • Enquadre o parceiro: posicione-o na frente e um pouco para o lado (2 m à frente, 1 m à direita) para que o jogador não o esconda; faça raycast ao redor do ponto e vire-se para longe de paredes, quiosques e portas.
  • Fixe no chão: alinhe ao pavimento e faça raycast para baixo em busca do chão (coberturas e telhados enganam as buscas de altura).
  • Tela limpa: HUD e legendas do jogo ligados, nada do mod (sem notificações, painéis de desenvolvedor ou textos de ajuda). Suprima chamadas telefônicas e textos de ajuda durante um take.
  • Renderize primeiro, depois grave: escreva a resposta, escolha a ação e renderize ambas as vozes antes do clipe começar, depois reproduza-as em sequência. Ninguém espera na câmera por uma GPU.

Grave, sincronize, corte

  • shoot.ps1: traz o jogo para a frente, recarrega o mod, grava a tela (ffmpeg ddagrab) e o áudio do PC (loopback WASAPI) como arquivos separados, inicia o script e reinicia a captura se o foco for perdido (o jogo pausa).
  • Sincronização: cada segmento de captura começa com um flash branco e um bipe de 1 kHz registrados com um timestamp; o mod registra clip_start/clip_end e o audio_on/audio_off de cada fala em uma timeline.
  • edit.ts --clips <take>: um MP4 por clipe, de 0,2 s antes de clip_start até a última palavra ou ação, cortado para a janela do jogo, 1920 de largura, normalizado por loudness. Ele limita clipes a 10 s e relata qualquer fala que seria cortada, em vez de cortá-la.
  • Regrave, não corte palavras: um clipe que ultrapassa o tempo é regravado (novas renderizações saem com durações diferentes) ou sua fala é encurtada em algumas palavras. Fixe respostas aprovadas com diga:/faça: para que uma regravação mantenha a piada.
  • Olhe antes de enviar: uma folha de contato com um quadro por clipe (ffmpeg -ss 5 ... tile=5x4) detecta um parceiro escondido ou uma parede no quadro em segundos.

Armadilhas

  1. Nada acontece / o mod não voltou após um recarregamento. O Windows Smart App Control recusou a nova DLL (evento de Integridade de Código 3077). Teste uma nova compilação primeiro; mantenha a última que carregou.
  2. O take não tem início de vídeo no seu log. Outro processo mantinha o arquivo de log aberto (tail -F no Windows bloqueia o escritor). Não monitorar um arquivo ao qual outro script anexa; monitore outro.
  3. Uma chamada telefônica ou texto de ajuda aparece no meio do clipe. Suprima-os a cada quadro enquanto um clipe está sendo gravado.
  4. Vozes nos clipes são clones. Antes de publicar um clipe em qualquer lugar, o humano decide; diga que é IA.

Habilidades Relacionadas