2026-05-20
Construindo um Narrador com LLMs para The Sims 3
Como integrei modelos de linguagem locais (Ollama + Gemma) em um mod de C# para The Sims 3, gerando pensamentos e narrativas em tempo real.
O problema
The Sims 3 tem um sistema de pensamentos simples — balões com ícones. A ideia era substituir isso por narrativas geradas por IA em tempo real, usando o estado do jogo como contexto.
A solução
O mod intercepta eventos do jogo (refeição, conversa, trabalho) via hooks de C# no .NET Framework 3.5, formata um prompt e envia para uma API local do Ollama rodando o modelo Gemma 2B.
var prompt = $"O personagem {sim.Name} acabou de {evento}. Gere um pensamento curto e em primeira pessoa.";
var resposta = await OllamaClient.GenerateAsync(prompt);
Resultados
- Narrativas únicas por personagem com base em traits e humor
- Latência aceitável (~800ms) com modelos quantizados
- Arquitetura baseada no paper "Generative Agents" da Stanford
Aprendizados
Trabalhar com LLMs em contexto restrito (jogos em tempo real) exige controle fino de tempo de inferência, tamanho de contexto e fallback gracioso para quando o modelo demora demais.
Código disponível no GitHub.