- O Braindump é uma tentativa de imaginar como a criação de jogos pode ser no novo mundo dos LLMs e da IA generativa
- Com o Braindump, é possível construir um jogo top-down/2.5D ou um mundo interativo apenas digitando prompts
- Por exemplo, ao digitar "crie um caça estelar que possa disparar lasers e lançar bombas BB-8", são gerados o modelo 3D, os dados do jogo e os scripts necessários
Dos primeiros experimentos até agora
- Tudo começou há cerca de 6 meses como um protótipo simples; desde então, foram adicionados geração de modelos 3D, recursos multiplayer e várias melhorias de UX
- Atualmente, o Braindump tem os seguintes recursos principais
- Definição de unidades, habilidades e atributos (ex.: "um orc com 50 de HP que derruba uma varinha mágica")
- Posicionamento de objetos no mapa do jogo (ex.: "coloque 20 orcs em círculo")
- Geração de regras e lógica do jogo (ex.: "quando a vida do orc chegar a 0, gere um orc fantasma no lugar")
- Geração de novos modelos 3D (ex.: "quero deixar o orc rosa e com orelhas fofinhas", usando Meshy)
- Tudo isso pode ser acessado por meio de uma interface integrada de prompts em linguagem natural
Desafio 1: projetar a UX para prompting
- Há dois grandes problemas ao usar LLMs para construir algo
- Como fazer o LLM agir de forma consistente da maneira desejada
- Qual é a melhor UX para interagir com um LLM
- Após muitos experimentos com prompts, a abordagem evoluiu para o método iterativo atual
- Gerar o jogo inteiro de uma vez a partir de uma descrição completa não funcionava bem
- Construir o jogo gradualmente com vários prompts dá espaço para detalhar melhor e iterar
- Eles continuam experimentando para encontrar o equilíbrio certo entre prompts e controles tradicionais
Desafio 2: projetar uma API de jogo para LLMs
- Gerar código para engines de jogo existentes trouxe dificuldades
- LLMs são bons em gerar snippets de código, mas têm dificuldade com partes maiores de software e com a construção e manutenção de arquiteturas de software
- Em vez disso, foi construída em TypeScript uma "API de jogo" extremamente simplificada, que fornece o máximo possível de estrutura para que o LLM se concentre em escrever código e dados
- Ao fornecer ao GPT as definições de tipos geradas pela API (
.d.ts) como system prompt, o GPT usa a API corretamente de forma consistente, na maioria das vezes já na primeira tentativa
- Também foi descoberto um benefício surpreendente da verificação de tipos: quando o GPT encontra erros, ele tende a tentar corrigi-los sozinho
Macros geradas
- A API de jogo também abriu outro fluxo de UX interessante: as macros geradas
- Em geral, em aplicativos, macros são pequenos programas capazes de automatizar tarefas
- No sistema Braindump, todo prompt gera código, e esse código pode automatizar quase tudo o que a API de jogo cobre
- Por exemplo, é possível digitar um prompt como "coloque uma barraca ao lado da fogueira"
- Também é possível automatizar tarefas tediosas (ex.: "crie 5 gatos diferentes com atributos diferentes")
- Ou pedir respostas para perguntas que exigem cálculo (ex.: "quantas barracas estão voltadas para o norte?")
- Isso abre um novo caminho de trabalho
- No começo parece um pouco estranho, mas, depois que você se acostuma, dá para concluir tarefas muito tediosas em segundos de maneiras criativas
Edição colaborativa com IA
- A intenção era tornar tudo no Braindump multiplayer
- Tanto a criação quanto a jogabilidade
- No início, havia apenas um grande chat em que todos podiam contribuir, mas isso era confuso
- O principal problema era que muitas vezes se trabalhava em duas coisas diferentes e sem relação entre si
- Depois de testar várias soluções, eles chegaram ao que chamam de "Threads"
- É possível iniciar um prompt em qualquer lugar do mundo, e, quando necessário, detalhá-lo ou complementá-lo
- Os threads recebem o estado mais recente do jogo no início, mas não o histórico completo do projeto
- Vários threads podem estar em "execução" ao mesmo tempo, mas apenas um prompt por thread pode ser executado por vez
- Até agora, isso tem funcionado bastante bem
- Nos testes, 5 pessoas trabalharam ao mesmo tempo no mesmo mundo; certamente ficou um pouco confuso, mas ainda assim funcional
- Eles estão buscando ativamente maneiras de permitir que os usuários se coordenem de forma eficaz
Benchmarking e testes
- Foi desenvolvida uma ferramenta de benchmarking para avaliar o desempenho do motor de prompts
- Essa ferramenta executa dezenas de cenários, cada um com seu próprio prompt, e depois usa o GPT para avaliar se o prompt foi bem-sucedido
- Um segundo GPT, chamado de "avaliador" (com seu próprio system prompt), recebe essas condições, o estado simulado ao final da execução e todos os erros ocorridos, e é solicitado a decidir se o teste foi bem-sucedido
- A suíte de testes ainda está em estágio inicial, mas novos testes estão sendo adicionados continuamente à medida que surgem novos estilos de prompt e casos de falha
Por que criar o Braindump
- Pessoalmente, sempre houve uma paixão por jogos e criatividade
- A IA generativa é o próximo passo natural no aumento de produtividade
- Com ela, é possível simplesmente fazer mais coisas
- Como grandes estúdios estão criando jogos cada vez mais conservadores, é animador dar poder a pequenos grupos ou até indivíduos para criarem o jogo dos seus sonhos
- Há curiosidade para ver que ideias malucas as pessoas terão e realizarão quando tiverem um estúdio completo de jogos com IA na ponta dos dedos
Próximos planos
- O Braindump está apenas começando
- Hoje ele já é bastante competente em executar "comandos" ("crie um gato"), mas sabe-se que ele pode ser expandido para lidar também com tarefas muito mais ambíguas ou "grandes"
- Estão sendo pesquisados pontos como
- Suporte a prompts "maiores" por meio de planning
- Fazer com que o GPT pare de adivinhar e, em vez disso, peça esclarecimentos ao usuário
- Melhorar a qualidade do código fazendo o GPT criticar o próprio trabalho
- Melhorar descoberta e inspiração ("o que eu poderia criar com isso?")
- Melhorar recursos da engine de jogo de uma forma adequada para LLMs
Ainda não há comentários.