paradigmas da inteligência artificial em jogos eletrônicos

Propaganda
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.
Download