Na maioria dos videogames existe um adversário, nos jogos multiplayer você disputa contra outro humano, mas nos singleplayer o oponente é o “computador”. Esse adversário é comandado, geralmente por uma inteligência artificial (IA), alvo de grande estudo pelos programadores de jogos e, por isso, de grande melhora nos últimos anos. Além dos jogos eletrônicos, outra tecnologia que utiliza a IA é a de AUV (Autonomous Underwater Vehicles).
A inteligência artificial permite que máquinas “pensem” como os humanos, de forma independente e baseada em dados digitais. Qualquer dispositivo sem controle de pessoas necessita, de alguma forma de IA, por isso ela é muito utilizada para diversos meios, dentre eles os jogos.
Nos jogos mais antigos a IA era mais simples. Em Pac-Man, lançado em 1980, por exemplo, existem 4 tipos de fantasmas com 4 cores diferentes, vermelho, rosa, azul e laranja. O vermelho funciona da maneira menos complexa dentre os 4, já que ele só segue o Pac-Man, o rosa, por outro lado, tenta fechar o personagem principal, o laranja desiste quando o usuário se afasta, enquanto o azul se baseia nas posições do Pac-Man e do vermelho para definir sua direção.
A forma mais comum de se representar o comportamento de uma Inteligência Artificial em non-player characters (NPC) é uma Máquina de Estados finita. A Máquina de Estados é formada por um conjunto de estados, constituídos por ações que serão tomadas, e transições, que são as regras de mudança destes. A imagem abaixo mostra uma Máquina de Estados de um jogo FPS (First Person Shooter). Mas como isso se relaciona ao comportamento de um AUV?
Considerando que todo o AUV é autônomo, ele necessita da Inteligência Artificial para realizar a sua tomada de decisões sem intervenções externas, e no nosso não é diferente. O nosso robô utiliza a IA nas áreas de rede neural, nos algoritmos de localização e mapeamento e no controle. Além disso, devido às provas completamente diferentes dentro da competição é usada uma Máquina de Estados, que é uma forma de IA. Para implementarmos a Máquina de Estados no robô utilizamos o Smach, uma biblioteca do ROS que permite a implementação dessa tecnologia com mais facilidade. Nossa Máquina de Estados funciona em camadas: uma maior com um estado para cada prova da competição e dentro de cada estado há uma outra máquina para realizar cada prova especificamente.
Portanto, pode-se perceber que, apesar de parecerem temas completamente diferentes, os AUVs e os videogames têm mais em comum do que se espera. Assim, verificamos a importância de interdisciplinaridade para a construção de um AUV e como todo o conhecimento é útil e importante e como a Inteligência Artificial é relevante para o progresso tecnológico presente e futuro.
Escrito por Thiago Moutinho.
Comments