Confia: Sonhos De Cria
O que é e por que isso existe
confia: sonhos de cria é uma ferramenta de prototipagem narrativa que mapeia estados emocionais do jogador para ramificações de cena em tempo real. Não é um motor gráfico, não é um engine de jogo convencional. É um sistema de estado emocional com uma linguagem própria baseada em grafos direcionados. Foi criado originalmente por um grupo brasileiro que trabalhava com jogos Indie de narrativa experimental, e o código-open saiu em 2023. O funcionamento básico envolve três camadas: um nó de entrada que define o tom emocional da cena, um processador de decisão baseado em variáveis de confiança e medo, e um renderizador de diálogo que traduz esses estados em texto ou áudio. O diferencial prático é que você não programa diálogos — você define trajetórias emocionais e o sistema decide qual linha aparecer em função do histórico de escolhas do jogador.
Instalando confia: sonhos de cria no fluxo de trabalho
A instalação em si é simples, mas o que muita gente perde é a parte de configuração do repositório de recursos. Você precisa clonar o repo principal, rodar o script de bootstrap com Node 18+, e depois copiar o template padrão para dentro do seu projeto. O comando é direto: npm init confia-project meu-jogo Depois disso, o template vem com uma pasta scenes/ já estruturada e um arquivo de configuração confia.config.json que você vai precisar editar antes de qualquer coisa. Se você pular essa etapa e tentar rodar a build, o sistema vai gerar erros ambiguos sobre "estado inválido no nó raiz", o que na verdade significa que o arquivo de configuração não estava apontando para os assets corretos. Passei duas horas nesse erro numa sexta à noite.
Como o sistema realmente funciona por dentro
A arquitetura é baseada em máquinas de estado finito implementadas em TypeScript. Cada cena é um objeto JSON com campos como emotional_valence, arousal_level, e trust_threshold. Quando o jogador faz uma escolha, o processador recalcula esses valores e gera um novo nó de transição. O renderizador então seleciona o diálogo apropriado. O que ninguém explica nos tutoriais oficiais é que o sistema tem um cache de decisão que persiste entre sessões. Isso é útil para jogos longos, mas cria um problema séria quando você está testando rapidamente: o cache pode manter um estado emocional de uma sessão anterior mesmo depois de você ter mudado as configurações da cena. A solução que encontrei foi adicionar um flag force_refresh: true no config durante o desenvolvimento, e só remover quando o build for para produção. Outro detalhe técnico importante: o sistema suporta integração com Unity e Godot via plugin. O plugin do Godot é mais maduro atualmente. No Unity, a API de callbacks ainda tem alguns gaps que a comunidade está preenchendo, mas funcionalidades básicas como leitura de estado emocional e transição de cena já funcionam bem.

Pegadinhas que os manuais não contam
O primeiro problema que todo mundo encontra é a gestão de dependências. O sistema depende de bibliotecas específicas de processamento de linguagem natural para gerar os diálogos, e essas bibliotecas não estão incluídas no pacote base. Você precisa configurar o nl_engine no config e apontar para um serviço externo ou usar o motor local que vem como optional. O motor local é mais lento mas funciona offline. Eu recomendo começar com o motor local até entender bem o fluxo, porque a integração com serviço externo adiciona variáveis de rede que podem causar timing issues durante testes. O segundo problema é a curva de debug. Como o sistema trabalha com grafos, quando algo sai errado o traceback pode apontar para um nó que não é a causa real do problema. O que eu faço é habilitar o verbose_logging no config e rastrear a árvore de decisões passo a passo. Leva tempo, mas é a única forma de entender onde a lógica emocional está falhando. Também vale mencionar que o sistema não tem validação robusta de cenários fechados. Se você deixar um caminho sem saída no grafo emocional, o jogo simplesmente entra em loop infinito de diálogos neutros. Configure sempre o fallback_scene no config para evitar isso.
Quando confiar: sonhos de cria é a escolha errada
Se o seu projeto é um jogo de ação com mecânicas complexas, essa ferramenta não vai te ajudar. Ela é específica para experiências narrativas onde o foco está na jornada emocional e nas escolhas morais do jogador. Não há suporte para físicas, combat systems, ou gameplay loops tradicionais — isso precisa ser construído separadamente e integrado via APIs. Outro limite importante: o sistema não escala bem para narrativas com mais de 500 nós sem otimização. Se o seu projeto é maior que isso, você vai precisar dividir em módulos e usar a feature de scene_groups para carregar apenas os nós relevantes a cada momento. Sem essa divisão, o tempo de load pode crescer significativamente. Para quem quer algo similar mas mais simples, existe o EmoGraph, que é um projeto paralelo com funcionalidades reduzidas mas documentação mais acessível. Vale a pena dar uma olhada se o confia parecer complexo demais para o que você precisa no momento.
Recursos e onde baixar
O repositório oficial do confia: sonhos de cria está no GitHub com licença MIT. A documentação técnica está em português e inglês, mas a seção de tutoriais avançados ainda está majoritariamente em português, o que pode ser um filtro para desenvolvedores estrangeiros. Para downloads e builds estáveis, use sempre a tag release mais recente — as branches de desenvolvimento podem ter breaking changes sem aviso prévio. O canal da comunidade no Discord também é útil para tirar dúvidas específicas de integração. A maioria dos respondentes são contribuidores do projeto, então as respostas costumam ser precisas, mas o tempo de resposta varia bastante dependendo da hora do dia.

Galeria
-
Confia - Sonho de Cria (Música Original de Pedro Guedes) - Album by ... -
Filme Confia: Sonho de cria Estrelado por MC Cabelinho e Malía estreia ... -
'Confia - Sonho de Cria' | Crítica do filme, Globoplay (2025)