Evolução dos geradores de níveis de jogos: como grandes modelos de linguagem revelam abstrações

30 agosto 20268 visualizações

Pesquisadores aplicaram busca evolucionária no nível de programas inteiros: LLMs criam e melhoram geradores Python para quatro jogos. O novo mecanismo CAD reúne primitivas bem-sucedidas em um módulo comum, e isso aumenta visivelmente a aptidão final em cada cenário de teste.

Evolução dos geradores de níveis de jogos: como grandes modelos de linguagem revelam abstrações

Geração de mundos de jogos: por que os níveis estão dando lugar aos geradores

Normalmente, quando se fala em criação automática de conteúdo para jogos, imagina-se uma rede neural que desenha ou monta níveis individuais. Mas existe uma abordagem mais radical: fazer o modelo de linguagem escrever não os níveis em si, mas programas que geram esses níveis. Essa mudança parece pequena, mas na prática altera toda a otimização: em vez de percorrer infinitas variações de mapas, é possível evoluir os próprios algoritmos — e obter famílias inteiras de níveis com as propriedades desejadas.

Evolução em que o código sofre mutação

Em um estudo recente, aceito para publicação na IEEE Conference on Games 2026, os autores testaram essa ideia em quatro jogos clássicos: "Sokoban", "Zelda", "Dangerous Dave" e "Lode Runner". Cada execução da evolução consistia em um gerador de níveis inteiro em Python, e o papel dos operadores de mutação e cruzamento era desempenhado por um grande modelo de linguagem. Ou seja, não eram mapas individuais, mas programas completos que mudavam de geração em geração. Isso permite buscar no espaço de geradores procedurais, e não no espaço de artefatos específicos — e encontrar soluções que se generalizam para muitos níveis de uma só vez.

No entanto, essa abordagem tem um ponto fraco: os programas crescem rapidamente e fragmentos úteis de código se perdem entre mudanças aleatórias. Para corrigir isso, os autores propuseram um mecanismo chamado Continual Abstraction Discovery (CAD) — descoberta contínua de abstrações.

Como o CAD ajuda a evolução

A ideia do CAD é, ao longo da evolução, capturar primitivas bem-sucedidas de programas com alta aptidão e armazená-las em um módulo auxiliar separado. Esse módulo se torna uma "biblioteca" comum para as gerações seguintes. Assim, padrões úteis não são redescobertos do zero nem apagados por mutações — eles se acumulam e são usados adiante.

Para entender o quão eficaz isso é, os pesquisadores montaram um experimento com uma matriz 2×2: compararam execuções com e sem CAD, bem como com e sem acesso a uma API de domínio fixa. No total, foram realizadas 160 execuções evolutivas completas, com pelo menos dez execuções de 50 gerações em cada célula do experimento. É uma base estatística bastante sólida para conclusões.

As abstrações realmente funcionam

Os resultados foram inequívocos: o CAD melhorou a aptidão final média da melhor solução em todas as oito comparações — nos quatro jogos e para ambas as variantes de API. Além disso, as "bibliotecas" criadas durante a evolução foram ativamente usadas pela maioria dos programas posteriores. Curiosamente, independentemente do jogo e das condições de execução, o CAD redescobriu repetidamente as mesmas utilidades: verificação de validade do nível, verificação de acessibilidade e primitivas estruturais. Isso sugere que tais abstrações não são um acaso de uma tarefa específica, mas blocos de construção fundamentais para a geração de conteúdo de jogos.

O que isso significa para a prática

Do ponto de vista prático, as conclusões apoiam uma ideia simples: se queremos que modelos de linguagem criem bons geradores procedurais, precisamos não apenas incentivar programas "bons", mas também dar à evolução uma forma de acumular conhecimento. O CAD faz exatamente isso — transforma a busca evolutiva em um processo que gradualmente constrói seu próprio domínio. Em vez de começar do zero toda vez, o modelo aprende com soluções encontradas anteriormente e forma blocos sólidos.

Claro, experimentos em jogos 2D clássicos são apenas o começo. Mas se a abordagem escalar, poderemos ver geradores que criam gêneros inteiros ou mecânicas de jogo inesperadas. E então a evolução de níveis finalmente deixará de ser uma varredura de conteúdo para se tornar uma evolução de ideias — escritas na linguagem dos programas.

Perguntas mais frequentes

Evolução dos geradores de níveis de jogos: como grandes modelos de linguagem revelam abstrações