22 pontos por xguru 2024-06-17 | Ainda não há comentários. | Compartilhar no WhatsApp
  • 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
    1. Como fazer o LLM agir de forma consistente da maneira desejada
    2. 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.

Ainda não há comentários.