PARADIGMAS DA INTELIGÊNCIA ARTIFICIAL EM JOGOS ELETRÔNICOS João Antônio Bezerra Rodrigues¹, Késsia Rita da C. Marchi¹, Jaime William Dias¹ ¹Universidade Paranaense (Unipar) Paranavaí – PR – Brasil [email protected] [email protected] [email protected] Resumo. Este artigo constitui em uma abordagem conceitual sobre a Inteligência Artificial em jogos eletrônicos. Será conceituada a Inteligência Artificial e quais as suas aplicações nos jogos. Far-se-á uma análise exemplificativa de como a Inteligência Artificial é implementada, de como é usada para dar inteligência ao jogo e também qual será o futuro para o desenvolvimento da Inteligência Artificial neste segmento. 1. Introdução Através dos anos, a humanidade vem desenvolvendo cada vez mais o desejo de se ter algo que facilite ou até faça plenamente seu trabalho, suas funções básicas que necessitam de raciocínio lógico, que ajudem em tarefas diárias. Com esse desejo, a Inteligência Artificial atua como um agente que torna possível todos esses anseios. A Inteligência Artificial pode ser entendida como “a arte de criar máquinas que executam funções que exigem inteligência quando executadas por pessoas.“ (Kurzweil, 1990). De forma mais conceitual, a Inteligência Artificial pode ser definida também como “a automatização de atividades que associamos ao pensamento humano, atividades como tomada de decisões, a resolução de problemas, o aprendizado [...]” (Bellman, 1978). A Inteligência Artificial vem sendo utilizada em diversas aplicações, principalmente no setor industrial, na execução de tarefas minuciosas que necessitam de muita atenção de quem as fazem. Nesse contexto, a Inteligência Artificial empregada em conjunto com a robótica, produz robôs que são capazes de executar tarefas de forma continuada, que requerem detalhamento e exercem suas atividades em quaisquer que sejam os segmentos da indústria, automotiva, alimentos, química [Júnior, Fressatti & Marchi, 2011]. Atualmente, a Inteligência Artificial tem inúmeras aplicações, dentre elas a imersão em jogos eletrônicos, em subsídio à engenharia de software e no desenvolvimento de software em geral. Hoje, a crescente diversificação do mercado em relação a todas as tecnologias é inevitável. No campo da Inteligência Artificial não é diferente, as pesquisas precisam atender á todas as vertentes que têm necessidades de mercado. Um dos principais campos é o de jogos eletrônicos, que funciona um mercado muito forte economicamente e em ampla ascensão. 2. Inteligência Artificial em Jogos Eletrônicos Conceitualmente, a Inteligência Artificial sempre esteve presente nos jogos eletrônicos. Desde os primórdios das produções de games, há a necessidade da interação jogo-humano ser inteligente, justamente para prender a atenção de quem joga. A principal característica da Inteligência Artificial para os Jogos Eletrônicos é a diversão. O foco do desenvolvimento de games com dada tecnologia é a diversão, o entretenimento do usuário. O desenvolvimento de jogos com Inteligência Artificial é vinculado principalmente aos comportamentos que a aplicação tem ao contato humano, ou seja, à interação entre a interface e o usuário, mesmo que os algoritmos que governam tais interfaces, sejam os responsáveis por tal inteligência [Schwab, 2004]. Apesar dos inúmeros benefícios que a Inteligência Artificial traz aos jogos eletrônicos como por exemplo, a grande interação com o jogador; a maior realidade de ações dentro dos games, ainda há alguns problemas relacionados ao desenvolvimento desses games. Um problema encontrado no desenvolvimento dos jogos eletrônicos com o uso da Inteligência Artificial é o vasto número de gêneros de jogos que podem ser implementados. Em cada gênero de jogo, o uso da Inteligência Artificial é diferenciado, pois cada jogo possui uma necessidade que deve ser aplicada. Como exemplo, em um jogo de futebol, a necessidade é que os jogadores de cada time consigam praticar o esporte e chegar ao objetivo que é o gol, como ilustra a figura 1; tal qual o objetivo de um jogo de basquete é realizar o maior número de cestas. Figura 1 - Jogo eletrônico de futebol (Fifa 13 - EA Games) – Fonte: http://www.gameboxpira.com/produtos/811201223251124006_copia.jpg Porém em um jogo de FPS (First Person Shoot), o objetivo é diferente, sendo atingir o adversário e se manter vivo, como a figura 2 mostra. Figura 2 - Jogo Eletrônico de FPS (Call of Duty: Black Ops II – EA Games) – Fonte: http://techdeville.com/wp-content/uploads/black-ops-21.jpg 2.1. Métodos de implementação da Inteligência Artificial em jogos eletrônicos Há diversas formas de implementação e algoritmos para aplicar a Inteligência Artificial em jogos eletrônicos, cada técnica usa uma implementação específica para ter um resultado especial para objetivar o que o gênero do jogo necessita. Segundo Dalmau (2004), há quatro tipos de implementação da Inteligência Artificial em jogos: máquinas de estado, sistemas baseados em regras, algoritmos de busca e algoritmos genéticos. 2.1.1. Máquinas de Estado Uma máquina de estado nada mais é do que os estados em que determinado personagem pode se encontrar em um jogo. O estado atual em que a máquina se encontra, determina o estado na qual o personagem deve efetuar no jogo. As máquinas de estado vêm sendo usadas desde os primórdios do uso da Inteligência Artificial na indústria de jogos eletrônicos e sempre foram eficientes, pois são fáceis de serem entendidas e de simples implementação. Bourg (2004) exemplifica de maneira simples o uso das máquinas de estado, no jogo Pac-Man os fantasmas podem ganhar três estados, sendo eles: “procurando jogador”, “perseguindo jogador” ou “fugindo do jogador”. Quando o fantasma está no estado de “procurando jogador”, ele simplesmente anda pelo labirinto à procura do jogador. No estado de “perseguindo jogador”, o fantasma já se deparou com o jogador e o está perseguindo através do cenário. No modo “fugindo do jogador”, o fantasma tenta escapar do jogador que fica com o poder de eliminar o fantasma, por isso há a necessidade de fugir. 2.1.2. Sistemas Baseados em Regras Os sistemas baseados em regras são formas lógicas em que determinado personagem se encontra que pode gerar um estado de comportamento. Tais formas lógicas podem ser exemplificadas da seguinte maneira: se um cachorro tem fome e tem comida, ele vai comer; se o cachorro tem fome, mas não tem comida, ele irá procurar; se o cachorro não está com fome, mas tem sono, ele dormirá; se o cachorro não tem fome nem sono, ele vai correr e latir (Kishimoto, 2004). Portanto, cada proposição pode levar a um estado de máquina que é validado por essas regras. Assim como um estado deve ser de uma específica regra, isto é, uma regra tem como saída um estado de máquina, um estado de máquina pode mudar e pertencer a outra regra, pois o comportamento do personagem é variável. 2.1.3. Algoritmos de Busca A busca é mais um problema enfrentado pela Inteligência Artificial nos jogos eletrônicos, pois pode gerar um comportamento que não demonstra inteligência por parte do personagem, comprometendo o objetivo do jogo, a diversão do jogador. Há diversos algoritmos que realizam tal busca e a tornam inteligente. A busca nada mais é do que a movimentação do personagem por determinado cenário. Uma vez que ele possui um ponto de saída e um ponto de destino, no seu caminho podem existir obstáculos que o personagem deve ultrapassar. 2.1.4. Algoritmos Genéticos Dalmau (2004) mostra que os algoritmos genéticos podem ser utilizados para a criação de populações, criando diferentes indivíduos através de um DNA virtual, sendo composto por diversos valores, sendo eles caracterizados pela espécie que será implementada. Uma aplicação comum de um algoritmo genético é a criação de uma grande quantidade de pessoas como a população de uma cidade, torcedores em um estádio de futebol, entre outros. 3. O Futuro da Inteligência Artificial nos Jogos Eletrônicos A Inteligência Artificial nos Jogos Eletrônicos possui a necessidade de sempre avançar e melhorar cada vez mais em suas aplicações, o que não vem acontecendo ao longo dos anos. Ao contrário dos gráficos e da jogabilidade, que sempre estão em amplo crescimento no universo dos games. A tendência é que cada vez mais a busca para representar o cérebro humano ou o avanço na criação inteligências capazes para que a interação do jogo com o usuário seja satisfatória e obtenha sucesso na diversão e entretenimento de quem joga. O mercado segue aquecido e cada vez mais exigente em relação à imersão do usuário na história do jogo, na jogabilidade em si própria. Um conceito que surgiu em meados do ano de 2010 é chamado de rede neural. Esse conceito tem por base um sistema de ligações que permite ao gerenciador da inteligência dentro do jogo aprender com as próprias ações, ou seja, tudo o que determinado personagem realiza dentro do jogo, poderá servir como aprendizado para ele próprio como, por exemplo, um personagem que erra um chute em um jogo de futebol, a partir desse erro, o próprio personagem conseguirá aprender que da forma em que ele realizou o chute naquele determinado momento, está incorreto e posteriormente as chances de acerto são maiores. Dada tecnologia é muito semelhante ao cérebro humano, da forma em que ele trabalha, que consegue assimilar intuitivamente seus acertos e seus erros, aprendendo e repetindo se tal atitude foi certa e modificando se foi errada. Porém, a implementação das redes neurais não são tão simples como seu conceito, a necessidade de criar uma máquina que seja capaz de pensar e analisar as situações como a mente humana é de um grau extremamente complexo. 4. Metodologia Para o desenvolvimento deste trabalho foi realizada uma extensa revisão bibliográfica em livros digitais, artigos científicos publicados com temas semelhantes e sites de internet. O passo seguinte foi a leitura e entendimento pleno do assunto para a dissertação e desenvolvimento desse artigo. 5. Conclusão A partir do estudo realizado sobre a Inteligência Artificial aplicada aos jogos eletrônicos, é claramente perceptível que sua importância é altíssima para que determinado jogo seja denominado bom e possua qualidade. Contudo, os avanços da Inteligência Artificial nos jogos vêm andando a passos lentos, o que ainda geram muitas críticas aos desenvolvedores de dada tecnologia. Porém, o campo de pesquisas para avanços é muito grande e pode ser melhorado muito futuramente, promovendo cada vez mais a imersão nos jogos. Referências Alvarez, A. B.; Luque, B.; (2003) “IA353 – Redes Neurais” http://lib.convdocs.org/docs/index-233258.html>. Acesso em 10/05/2013. < Bellman, R. E. (1978) “An Introduction to Artificial Intelligence: Can computers think?”. Boyd & Fraser Pub. Co.: San Francisco, USA. Bourg, D. M.; Seeman, G. (2004) “AI for Game Developers” O’Reilly Media : Sebastopol, Ucrânia. Dalmau, D. S.-C. (2004) “Core Techniques and Algorithms in Game Programming”, New Riders.: Indianapolis, USA. Júnior, J de M.; Fressatti, W.; Marchi, K. R. da C. (2011) “Robótica na Reabilitação de Pessoas com Limitações” Kishimoto, A. (2004) “Inteligência Artificial em Jogos Eletrônicos”. http://www.programadoresdejogos.com/trab_academicos/andre_kishimoto.pdf>. Acesso em 08/05/2013. < Kurzweil, Ray. (1990) “The Age of Spiritual Machines”. Massachusetts The MIT Press: Massachusetts, USA. Nascimento. P. C. (2001) “Inteligência Artificial” < http://www.unicamp.br/unicamp/unicamp_hoje/ju/jornalPDF/ju170_p04.pdf > Acesso em 08/05/2013. Schwab, B. (2004) “AI Engine Game Programming”. Charles River Media: Massachusetts, USA. Simões, M. “Introdução à Inteligência Artificial” < http://www.acso.uneb.br/marcosimoes/Disciplinas/UNEB/TEI3/Arquivos/Introducao -a-Inteligencia-Artificial_1-por-pagina.pdf > Acesso em 10/05/2013.