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