Máquina cria sozinha novas fases em jogos eletrônicos

Hendrik Macedo
20/05/2018

Objeto típico presente em fases do jogo Super Mario Bros. [1]
Amantes de jogos eletrônicos certamente já se encontraram aflitos, ao longo de uma saga que parecia interminável, para vencer todas as fases de um jogo e finalmente chegar ao final, concluir a missão, “zerar o jogo”! A coisa é tão séria que existe até web site capaz de estimar quanto tempo você levaria para zerar um determinado jogo de interesse. O site se chama How Long to Beat e possui dezenas de estatísticas diferentes que levam em consideração mais de 30 mil jogos e 162 mil usuários. Existem estatísticas individualizadas para todo tipo de escopo: tempo para zerar apenas a história principal (mínimo obrigatório), missões adicionais (além da história principal) ou “complecionista” (conquistar tudo que o jogo tem a oferecer). Em uma busca simples pelo clássico de minha adolescência, Prince of Persia, para PC, descobri que o jogo é zerado em pouco mais de 2 horas de diversão em média (pelo que me lembro, devo ter gasto pelo menos umas vinte vezes isso). Descobri também que para zerar um jogo chamado Universe Sandbox, considerando-se uma média entre todos os escopos listados, gasta-se em torno de 292 horas!!!

Usei o termo “aflito” mais acima, mas talvez essa não seja bem a palavra…ou talvez seja, só que no sentido contrário: jogadores inveterados gostam de ser desafiados e, sendo assim, a satisfação proporcionada pela lentidão da saga por zerar Universe Sandbox seja bem maior do que a proporcionada pela curta saga de Prince of Persia. Pelo menos é nisso que parecem acreditar um grupo de cientistas da computação ao propor um método original para criação automatizada e ininterrupta de novas fases e níveis de dificuldade para jogos eletrônicos [2]. O trabalho, que será apresentado em julho próximo na GECCO 2018 (Kyoto/Japão), descreve uma máquina inteligente capaz de gerar indefinidamente novos níveis para o jogo Super Mario Bros. A criação automática inteligente de novos personagens ou paisagens para um jogo é uma tarefa que vem sendo aperfeiçoada ao longo das décadas e já é capaz de reduzir enormemente o esforço humano de criação. Para este fim, uma técnica de IA pela qual os computadores aprendem com exemplos já conhecidos permite a produção de mais conteúdo no estilo do conteúdo existente sem precisar de instruções explícitas (a título de exemplo, o jogo No Man’s Sky 2016, da empresa Hello Games, permite a geração de até 18 quintilhões de planetas únicos à medida que os jogadores exploram a galáxia). Observe, entretanto, que ensinar uma máquina a criar novos níveis de jogo utilizando-se de técnica semelhante à descrita é uma tarefa particularmente difícil e arriscada porque uma pequena variação introduzida durante a criação pode tornar a fase “injogável”, sem saída.

A IA descrita no trabalho além de aprender a imitar níveis de jogo criados por seres humanos, permite que estas sejam personalizadas aos usuários. O modelo desenvolvido está organizado em dois componentes. O primeiro componente consiste numa Generative Adversarial Network (GAN) que aprende a gerar novos e diferentes níveis (fases) para o jogo Super Mario Bros utilizando-se um histórico real de diferentes níveis desse jogo (falo mais sobre este tipo de rede no artigo “Aperfeiçoando” galáxias). O segundo componente aprimora esses níveis gerados através da aplicação de um algoritmo da família dos algoritmos evolucionários chamado Covariance Matrix Adaptation Evolution Strategy (CMA-ES). Na CMA-ES, várias funções de aptidão (fitness) são usadas para descobrir quais níveis/fases, dentro do espaço latente da GAN, maximizam as propriedades desejadas. Propriedades estáticas simples, como por exemplo uma determinada distribuição de tipos de blocos no cenário do jogo, são otimizadas. O agente inteligente (que foi implementado com o algoritmo de busca global A*) campeão da competição Mario AI de 2009 [3] foi utilizado pelos autores para avaliar se um nível artificialmente gerado pela máquina seria jogável, ou seja, se haveria possibilidade de saída/solução da fase e quantas ações de pulo do Mario seriam necessárias para vencê-lo.

O uso das GANs para este propósito de geração automática e inteligente de novas fases de jogo ou níveis de dificuldade vem ganhando bastante força. Outro grupo de pesquisadores [4], por exemplo, as aplicaram para geração de novos níveis no clássico jogo de tiro em primeira pessoa, o DOOM. Neste caso, as GANs foram treinadas com imagens que identificam a área ocupada, paredes, disposição de objetos no cenário e outras características topológicas de modo a conseguir gerar novas fases de jogo que se assemelhassem com fases tipicamente desenvolvidas por humanos. Num mundo onde se prevê que a indústria de jogos eletrônicos movimente algo em torno de US$ 170 bilhões só neste ano de 2018 [5] (para que se tenha melhor ideia do tamanho dessa soma, basta dizer que esse valor é maior que o PIB de mais de 100 países), dá para entender toda essa corrida por métodos automáticos/inteligentes que facilitem a vida do desenvolvedor e agilizem o lançamento de jogos cada vez mais interessantes, desafiadores e, por que não, infindáveis.

[1] Crédito da imagem: OpenClipart-Vectors (Pixabay) / CC0 Creative Commons. https://pixabay.com/pt/super-mario-bros-jogo-de-computador-147465/.

[2] V Volz et al. Evolving Mario Levels in the Latent Space of a Deep Convolutional Generative Adversarial Network. In Proc. of The Genetic and Evolutionary Computation Conference (to appear) (2018).

[3] J Togelius et al. The 2009 Mario AI Competition. In Evolutionary Computation (CEC), 2010 IEEE Congress on. IEEE (2010).

[4] E Giacomello et al. DOOM Level Generation using Generative Adversarial Networks. In arXiv preprint arXiv:1804.09154 (2018).

[5] Digi-Capital. Games Report Q2 2018. https://www.digi-capital.com/reports/#global-games-investment-review (2018).

Como citar este artigo: Hendrik Macedo. Máquina cria sozinha novas fases em jogos eletrônicos. Saense. http://saense.com.br/2018/05/maquina-cria-sozinha-novas-fases-em-jogos-eletronicos/. Publicado em 20 de maio (2018).

Artigos de Hendrik Macedo     Home

Publicado por

Hendrik Macedo

Hendrik Macedo

Doutor em Ciência da Computação. Professor da Universidade Federal de Sergipe. Escreve sobre Inteligência Artificial no Saense.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

This site uses Akismet to reduce spam. Learn how your comment data is processed.