Criação de um jogo com dificuldade dinâmica e aprendizagem por reforço

Aluno: João Gabriel Basi

Supervisor: Prof. Dr. Roberto Hirata Jr.

Introdução

Jogos no estilo player versus environment (PvE), em contraste com jogos no estilo player versus player (PvP), são jogos onde o jogador combate vários inimigos controlados por inteligências artificiais para cumprir os objetivos do jogo. Nesse estilo, é comum que os desenvolvedores modelem os inimigos como sendo agentes autônomos, pelo fato deles tomarem decisões sem a intervenção humana.

A criação e o balanceamento dos agentes ocupa boa parte do desenvolvimento de jogos PvE, já que boa parte da experiência de jogo é proporcionada por eles. Para que o jogo se torne interessante, é desejável que os agentes ofereçam desafios fáceis o suficiente para que o jogador não fique frustrado, e difíceis o suficiente para que ele não fique entediado, e também que haja desafios novos a cada fase.

Motivação

O desenvolvimento desses agentes pode ser uma tarefa difícil e trabalhosa se métodos tradicionais forem utilizados. É necessário considerar todas as situações de jogo possíveis e sintetizá-las em um algoritmo complexo. Como consequência muitas vezes, ou a dificuldade de jogo fica acima ou abaixo do esperado, ou o algoritmo acaba tomando decisões que não foram previstas na fase de desenvolvimento, fazendo com que o jogador perca a imersão no mundo do jogo.

Alguns autores citados no trabalho mostram através de experimentos com usuários que jogos com dificuldade dinâmica são agradáveis ao jogador, porém é muito difícil encontrar jogos no mercado que de fato utilizam tais algoritmos de adaptação.

Objetivos

Este trabalho tem como objetivo a criação de um protótipo de jogo PvE para computador que saiba adaptar sua dificuldade de acordo com a progressão e maestria do jogador, além de um sistema que facilite a criação de IAs para o jogo. Para isso o jogo contará com um sistema que identifica a proficiência do jogador e com agentes adversários que consigam aprender estratégias através de aprendizagem de máquina.

Como algoritmos de aprendizagem em geral requerem muito processamento, é necessário também adicionar a restrição que o processamento do jogo deve ocorrer rápido o suficiente para que a redução no número de quadros por segundo não seja perceptível, impactando minimamente a experiência do jogador.

Além disso, para que o jogo seja o mais simples e portátil possível ele não deve utilizar informações externas ao programa (como por exemplo os quadros da janela do jogo), dados de sensores físicos acoplados ao jogador ou ainda informações armazenadas na nuvem.