Anda di halaman 1dari 15

The Sims: Jogo Computacional como uma Ferramenta Pedaggica na Construo do Conhecimento

Matemtico
Rbia Juliana Gomes Fernandes - Guataara dos Santos Junior
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
5
Estudo do Uso de Tcnicas
de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa
Universidade Severino Sombra, CECETEN, Curso de Sistemas de
Informao, soraiatbarbosa@gmail.com
Janana Veiga
Universidade Severino Sombra, CECETEN, Curso de Sistemas de
Informao, janainavcarvalho@gmail.com
Carlos Vitor de Alencar Carvalho
Universidade Severino Sombra, Centro Universitrio de Volta
Redonda,Centro Universitrio Geraldo di Biase e FAETEC-IST/
Paracambi, cvitorc@gmail.com
Resumo: A Inteligncia Artifcial (IA) serve como um recurso para promover
uma interao mais convincente nos jogos, sendo, em jogos mais complexos,
um elemento chave. A IA pode ser encontrada em todos os tipos de jogos, desde
os mais simples, como damas e xadrez, at os mais complexos, como RPGs online
e simuladores. Com a vinda de empresas de jogos eletrnicos para o Brasil,
novas oportunidades vem surgindo para os interessados no desenvolvimento
de jogos e com isso o nmero de estudantes interessados no assunto aumentou
consideravelmente. Neste artigo ser apresentado um estudo sobre sistemas
especialistas aplicados em jogos, tomando como exemplo um sistema de
batalhas em um jogo de RPG. Todo o cdigo desenvolvido est disponibilizado
em um endereo eletrnico para servir como objeto de estudo para estudantes
da rea, professores e pessoas em busca de conhecimento sobre o assunto.
Palavras-chave: Mquina de estados fnita. Sistema baseado em regras.
Inteligncia Artifcial. Jogos.
Study on the Use of Artifcial Intelligence
Techniques in a 2D Game
Abstract: Artifcial Intelligence (AI) works as a resource responsible to promote
a more convincing interaction in games, as it is a key element in more complex
games. The AI can be found in all types of games, from the simplest like checkers
and chess to the most complex, such as role playing games and simulators. With
the coming of electronic gaming companies in Brazil, new opportunities are
emerging for those interested in game development and, therefore, the number
of students interested in the subject has increased considerably. In this article,
it will be quoted an artifcial intelligence algorithm to be demonstrated through
the battle simulator developed for this purpose. All code developed is made
Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
6
available in an electronic address to serve as an object of study area for students,
teachers and people in search of knowledge on the subject.
Keywords: Finite state machine. Rules-based system. Artifcial Intelligence.
Games.
Introduo
A Inteligncia Artifcial (IA) tem forte presena na maioria dos jogos eletrnicos,
permitindo que a interao seja mais dinmica e passando ao jogador a sensao de que a
mquina realmente est pensando e se comportando como um ser humano na tentativa de
venc-lo. A IA pode ser encontrada em todos os tipos de jogos, desde jogos tradicionais
como damas e xadrez at jogos mais modernos, como RPGs online e simuladores como
o famoso The Sims, um simulador de vida onde o jogador vive em um mundo virtual e
interage com inmeros personagens controlados pela mquina (Figura 1).
Figura 1. Tela do Jogo The Sims. [Fonte: <http://3.bp.blogspot.com/
> Acesso em: 28 out. 2011.]
Jogos com jogabilidade no linear necessitam de personagens mais espertos e que
possam usar raciocnios complexos para encontrar solues alternativas para os problemas.
(Karlsson, 2005, p.12). A complexidade do algoritmo poder variar dependendo do tipo
de interao e do nvel de difculdade do jogo.
A indstria de jogos tem apresentado crescimento no pas. Segundo pesquisa realizada
pela Abragames (Associao Brasileira das Desenvolvedoras de Jogos Eletrnicos) em
2008, observou-se um crescimento signifcativo do setor nos ltimos 2 anos e a expectativa
de um crescimento ainda maior em 2009, graas vinda de estdios internacionais para
o Brasil. A pesquisa foi focada no desenvolvimento da indstria no pas, ou seja, tudo
o que foi fabricado no pas, seja para mercado local ou importao (Abragames, 2008,
p.12-p.11).
Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
7
A pesquisa realizada pela Abragames mostrou que, apesar da forte presena da pirataria no
pas, o Brasil consegue obter uma fatia signifcativa do mercado atravs dos ganhos com
exportaes. O crescimento dos jogos nas redes sociais e dispositivos mveis tambm
tem proporcionado um aumento na indstria de jogos no pas, permitindo o surgimento
de pequenas empresas nesse meio. Segundo matria publicada no UOL Economia, foi
feita uma estimativa de que em 2011 os brasileiros iriam gastar cerca de R$ 3,4 bilhes
em jogos online (Figura 2), colocando o Brasil como um mercado estratgico para as
empresas do setor, comparvel, em tamanho, aos pases europeus (Uol economia, 2011).
Nos ltimos anos, empresas de jogos eletrnicos como a Ubisoft
1
tem vindo para o Brasil,
criando novas oportunidades para os interessados no desenvolvimento de jogos e com
isso o nmero de estudantes interessados no assunto aumentou consideravelmente.
Figura 2. Grfco da Estimativa de Gastos com Jogos em 2011 no
Brasil [Fonte: <http://www.newzoo.com/ENG/1607-Infograph_BR_
Portugese.htm l > . Acesso em: 14 nov. 2011].
Na Internet, so disponibilizados muitos programas que auxiliam os estudantes na criao
destes jogos, como por exemplo o Game Maker (GM, 2011) e o Adventure Game Studio
(AGS, 2011). Porm, para os desenvolvedores interessados em ingressar no mercado
de jogos eletrnicos, importante conhecer uma linguagem de programao como C,
C++ ou Java, pois estas linguagens so as mais utilizadas no desenvolvimento de jogos
eletrnicos. A utilizao de uma linguagem de programao permite desde a criao de
uma engine prpria at o desenvolvimento com o uso de engines e bibliotecas especfcas
para o desenvolvimento de jogos.
O desenvolvimento de um jogo no envolve apenas programao, mas vrias reas como
design, msica, marketing, entre outras e a IA um dos principais elementos na grande
maioria dos jogos. Muitos desenvolvedores iniciantes podem acabar implementando IA
em seus jogos, mesmo sem saber, pois atravs dessa que os personagens controlados
pela mquina agem no jogo.
Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
8
Atualmente, na Internet, encontramos vrios materiais sobre IA, porm poucas so
desenvolvidas para um pblico iniciante. Esta foi uma das motivaes para a elaborao
desse artigo.
Outra motivao para este trabalho o fato de quase no se encontrar material na Internet
com comparao e demonstrao de algoritmos de IA, aplicados em jogos. A visualizao
do comportamento do algoritmo em um jogo pode demonstrar de forma mais clara seu
funcionamento e facilitar na comparao de suas caractersticas.
Neste trabalho, o objetivo foi o desenvolvimento de um Sistema de Batalhas e, atravs
desse, fazer um estudo sobre a utilizao do algoritmo Sistema Baseado em Regras. O
projeto foi todo desenvolvido utilizando software livre e o cdigo-fonte est disponibilizado
na Internet para servir como objeto de estudo para interessados em Inteligncia Artifcial
aplicada em jogos eletrnicos (Barbosa, 2011).
Todas as verses do Sistema de Batalhas esto e disponibilizadas no endereo https://sites.
google.com/site/sistemadebatalhasia/. No endereo eletrnico, os estudantes podero
baixar os sistemas, encontrar informaes referentes ao trabalho e entrar em contato com
a autora, atravs de um formulrio de contato disponibilizado no mesmo.
Assim, a segunda seo desse artigo apresenta o conceito e tcnicas de IA e sua importncia
na Computao e nos Jogos Eletrnicos. Na terceira seo so apresentadas a interface e
suas principais funes do Sistemas de Batalhas. O Sistema de Batalhas tem a verso Base
contendo apenas a interface e a interao do jogador e um verso feita para o algoritmo
de IA tendo apenas a funo de ao do inimigo alterada. Na quarta seo descreve-se
o algoritmo abordado e o resultado. Finalmente, na quinta seo so apresentadas as
impresses fnais sobre o desenvolvimento da monografa.
Inteligncia Artifcial
De acordo com Valle (2011), a Inteligncia Computacional (IC) uma rea da Computao
Natural que estuda a natureza do homem de resolver problemas com objetivo de
desenvolver um sistema computacional capaz de resolver problemas complexos, sendo
essa uma rea emergente de pesquisa que abrange redes neurais artifciais, teoria dos
conjuntos nebulosos computao evolutiva e Inteligncia Artifcial.
Segundo Bittencourt (2006, p.20), o objetivo da Inteligncia Artifcial simultaneamente
terico a criao de teorias e modelos para a capacidade cognitiva e prtico a
implementao de sistemas computacionais baseados nesses modelos. A Inteligncia
Artifcial faz com que a mquina tenha a capacidade de criar estratgias, aprender,
reconhecer padres ou encontrar as melhores solues possveis, simulando a forma
de raciocnio de um ser humano, porm este raciocnio implementado em um
computador.
De acordo com Rich (1998, p.6), a tcnica de IA um mtodo de explorar o conhecimento
que deve ser representado de modo tal, que possa:capturar generalizaes, ou seja, no
necessrio que ele represente separadamente cada situao individual. Uma tcnica de
IA deve ter a capacidade de compreender o problema e ser usada em vrias situaes
sem precisar de mudanas na sua estrutura. Uma tcnica de IA auxilia na resoluo de
Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
9
problemas complexos usando conhecimento, simulando o raciocnio.
Tendo a sua IA implementada, a mquina passar a raciocinar de forma autnoma, o que
descarta a necessidade de comparao do seu comportamento com o de um ser humano.
Os testes geralmente so baseados apenas na interao do programa com o seu mundo.
Em grande parte dos problemas, a mquina capaz de encontrar a melhor soluo sem
cometer erros, o que auxilia e agiliza a realizao de diversas tarefas.
A IA est presente em muitos sistemas de computao, auxiliando na realizao de
inmeras tarefas, sejam elas simples ou complexas. Podemos citar como exemplo de
sistemas computacionais que utilizam IA: sites de busca, programas que resolvem
problemas de matemtica, sites que planejam viagens na internet, programas que traam
rotas como o Google Maps, sistemas de reconhecimento de padres, jogos, entre muitos
outros.
Inteligncia Artifcial nos Jogos Eletrnicos
A IA e os jogos eletrnicos sempre foram relacionados. De acordo com Rich (1988, p.
1), alguns dos primeiros problemas da IA a serem estudados foram problemas de jogos e
provas de teoremas.
A IA e os jogos eletrnicos sempre foram relacionados. De acordo com Rich
(1988, p. 1), alguns dos primeiros problemas da IA a serem estudados foram
problemas de jogos e provas de teoremas. No incio dos anos 60, Arthur
Samuel obteve xito na criao do primeiro programa operacional signifcativo
de jogos. O programa jogava damas, e alm de simples jogar ele aprendia com
seus prprios erros e melhorava seu desempenho.(Rehm et al., 2007, p. 1)
No caso dos jogos, a IA nem sempre utilizada com o intuito direto de encontrar a melhor
soluo para vencer o jogador, pois, nesse caso, a mquina pode se tornar invencvel. Nos
jogos o importante dar a impresso de que a mquina est realmente competindo com o
jogador, podendo haver uma margem de erros para que a jogabilidade seja mais realista.
A IA tambm pode ser muito til na rea de jogos educativos, fazendo com que o jogo v
percebendo as difculdades do usurio e focando os problemas nessas difculdades.
O Sistema de Batalhas
Para demonstrao dos algoritmos propostos no trabalho foi desenvolvido um Sistema de
Batalhas composto por trs personagens que sero controlados pelo usurio e um inimigo
que usar algoritmos de IA para tomar suas decises. Cada personagem, inclusive o
inimigo, possui os atributos HP (Hit Points) , MP (Magic Points), Fora, Destreza e
Agilidade.
Os personagens e inimigos foram criados a partir de estruturas (Quadro 1) e, posteriormente,
foram atribudos diferentes valores a cada um de seus atributos.
Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
10
Os atributos fora, destreza e agilidade foram utilizados para o clculo do dano durante
a batalha, os HP so os pontos de vida dos personagens, a batalha termina quando o HP
do inimigo ou dos personagens controlados pelo jogador acaba. Os MP so os pontos de
magia usados para cura, ou seja, recuperao dos pontos de HP.
Foi escolhido o desenvolvimento deste sistema com interface grfca com o intuito de
tornar a demonstrao do desempenho dos algoritmos mais didtica.
Quadro 1. Struct dos Personagens
Desenvolvimento do Sistema de Batalhas
Para o desenvolvimento do Sistema de Batalhas, foi utilizado o Ambiente de
Desenvolvimento Code::Blocks na verso 8.02. O sistema foi desenvolvido em linguagem
C e para a criao da interface multimdia foi utilizada Simple Directmedia Layer
(SDL).
A SDL uma biblioteca multimdia escrita em linguagem C que auxilia no acesso a
funes de vdeo, teclado, mouse, joystick e udio. Alm de auxiliar nessas funes,
a SDL tambm apresenta a vantagem de ser multiplataforma. A SDL suporta Linux,
Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/
OS, Solaris, IRIX, e QNX. (Sdl, 2011).
O inimigo e os painis da tela foram desenhados no editor de imagens vetoriais Inkscape
e editados no GIMP, um programa de manipulao de imagens. As edies feitas nas
fguras foram basicamente na cor de fundo, que foi mudada para R: 236 G: 5 B: 236, cor
escolhida para representar a transparncia no sistema (Figura 3).
Figura 3. Imagem do Slime com a Cor de Fundo para Transparncia

Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
11
Para o plano de fundo e os sons foram utilizados recursos livres da internet. O jogo
conta com uma estrutura principal que inicializa os recursos e d incio ao loop principal
(Quadro 2) que executado at o encerramento do jogo. No incio do turno, verifcado
se houve derrota, ou seja, se alguma das condies para derrota foi cumprida. Em seguida
executada a mudana de turno. Cada personagem tem direito uma ao por turno.
Quadro 2. Loop principal do jogo
A funo espera_comando espera pelos comandos de entrada do jogador e s aps a
execuo das aes o loop principal executado novamente.
Interface
A interface do Sistema de Batalhas dividida em quatro partes (Figura 4).
Figura 4. Interface do Sistema de Batalhas
Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
12
No painel superior exibida a ltima ao ocorrida no jogo. No caso da imagem acima,
a batalha acabou de comear, por isso o jogo anuncia que ocorreu a apario do inimigo
Slime. No centro da tela est o inimigo.
No painel inferior esquerdo algumas informaes sobre os personagens controlados pelo
jogador. Na primeira coluna est o nome de cada jogador, na segunda seus Hit Points e na
terceira os Magic Points. Os pontos de vida do inimigo no so exibidos na tela, apenas o
dano causado a eles ser exibido no painel superior cada vez que um ataque for realizado.
No painel inferior direito est o menu com as aes do jogador. Cada personagem, seja do
jogador ou da mquina, tem direito a uma ao por turno. O personagem poder atacar,
defender, usar magia ou fugir.
Aes dos Personagens
Caso o personagem escolha Atacar ser calculado o dano no oponente escolhido baseado
nos seus atributos e nos do oponente. Como pode ser visto da equao 1, o ataque
calculado atravs da frmula:
eq.1
Onde Dn o dano, F a Fora do personagem, De a destreza do personagem e Ag a
agilidade do oponente.
Se a escolha do personagem for Defender, ele fcar em posio de defesa durante todo o
turno corrente, voltando posio normal apenas quando chegar sua vez de executar um
ao novamente. Quando o personagem est na posio de defesa os danos causados a
ele so reduzidos, pois seu foco est na defesa, o que, no caso deste sistema de batalhas,
multiplica sua agilidade por 1,5 (Quadro 3).
Dn= F *(De/ Ag)
Quadro 3. Funo de Defesa do Personagem Controlado pelo Jogador
Ao escolher a opo Magia o personagem poder usar magia para recuperar seus pontos
de vida. Cada uso de magia gasta 20 MP e recupera 200 de HP (Quadro 4). Conforme
pode ser visto na fgura 8, primeiro verifcado se o personagem possui a quantidade
de MP necessria para executar a magia. Caso personagem no possua os pontos de
magia necessrios, a magia ir falhar. Se a magia funcionar ser recuperado o de HP do
personagem selecionado.
Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
13
Por ltimo, a opo Escapar (Quadro 5) que permite que o personagem tente escapar da
batalha. As chances de um personagem escapar so baixas, por isso essa opo s deve
ser usada em ltimos casos. Caso a fuga seja bem sucedida a batalha termina sem haver
um vencedor. Em um jogo de RPG tradicional o grupo pode sofrer consequncias nesta
ao como perda de dinheiro (ou moedas) ou de experincia, porm, neste sistema este
no ser o caso.

Quadro 4. Funo de Magia do Personagem Controlado pelo Jogador
Quadro 5. Funo de Escapar do Personagem Controlado pelo Jogador
O inimigo poder executar as mesmas aes que o jogador (atacar, defender, magia e
escapar). As aes destes sero decididas de acordo com o algoritmo escolhido no teste.
Na funo de ataque do inimigo (Quadro 6) a frmula utilizada para o clculo do ataque
foi a mesma do personagem controlado pelo jogador (equao 1), porm o inimigo precisa
verifcar se o personagem ainda est vivo para atac-lo. Caso o personagem j tenha sido
derrotado, ou seja, est com o HP iguala zero, ele passa para o prximo personagem
vivo.
Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
14
A funo de defesa do inimigo (Quadro 7) no possui muita diferena em relao do
jogador. A defesa do inimigo multiplicada por dois durante todo o turno, voltando ao
normal em sua vez de atacar novamente.
Nos jogos em geral, quando um personagem derrotado seu HP sempre zero, nunca
um nmero negativo, por isso, aps um personagem ser atacado, se o seu HP assumir um
valor abaixo de zero, ele recebe o valor zero no HP. Assim como na do jogador, a funo
de magia do inimigo (Quadro 8) recupera duzentos pontos do seu HP.
Assim como o jogador, o inimigo tambm tem uma em vinte chances de fuga (Quadro
9). O jogo acaba quando os pontos de vida de todos os personagens do jogador ou da
mquina acabarem. O grupo que tiver todos os seus personagens com os pontos de vida
zerados perde o jogo.
Quadro 6. Funo Ataque do inimigo
Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
15
Quadro 07. Funo inimigo_defende
Quadro 08. Funo Magia do inimigo
Quadro 9. Funo Fuga do inimigo
Sistema Baseado em Regras
Segundo Karlsson (2005), em um Sistema Baseado em Regras, o conhecimento defnido
atravs de um conjunto de parmetros (variveis) e um conjunto de regras que trabalham
sobre esses parmetros, de modo que durante a tomada de deciso essas regras so
ento processadas.
Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
16
No caso de um Sistema Baseado em Regras ou Sistema Especialista, dada uma srie de
condies, o personagem poder se comportar de acordo com as condies apresentadas
a ele, ativando as regras e passando a agir de acordo com as aes especifcadas, caso a
regra seja ativada.
Diferente da mquina de estados, onde so verifcados apenas os estados e as possibilidades
de estados para o qual o inimigo pode passar, no sistema baseado em regras, ele ir
se basear em uma srie de regras e condies especfcas, o que torna sua ao mais
efciente. Em um sistema baseado em regras possvel modelar um comportamento mais
complexo para o inimigo, o que o torna mais prximo do raciocnio de um ser humano.
Um Sistema Baseado em Regras deve ter os seguintes elementos: Memria de Trabalho,
Regras e Interpretador. (Fujita, 2005, p. 28 - p. 29).
A memria de trabalho guarda os fatos j sabidos e tambm as asseres feitas pela
aplicaes das regras. (Fujita, 2005, p.28). Atravs da memria de trabalho o algoritmo
ir deduzir os fatos sobre o jogador.
As regras so defnidas a partir de uma srie de condies Se-Ento que operam com base
nos fatos gravados na memria de trabalho. Essas regras fazem com que seja disparada
a funo a que ela se relaciona em Ento ou faz a mudana de estado semelhante uma
mquina de estados fnita (Fujita, 2005, p.28 - p.29). As regras fazem com que a mquina
analise a situao e tire suas concluses sobre a melhor ao ser tomada. O interpretador
a parte do sistema responsvel por fazer a aplicao das regras com base no estado atual,
fazendo isso de duas maneiras. Atravs do forward e do backward chaining.
O Sistema Forward Chaining
O sistema forward chaining o mais comum dos sistemas de inferncia. Nele, o sistema
inicia com um conjunto de fatos, e a partir destes, aplica as regras repetidamente at que
o resultado desejado seja alcanado. (Fujita, 2005, p.29).
De acordo com Fujita (2005, p. 29), primeiramente ele procura identifcar as regras que se
aplicam ao estado atual e depois ele parte para a resoluo de confitos, escolhendo uma
regra a partir de um dos trs critrios: escolher a primeira regra aplicvel, escolher uma das
regras, aleatoriamente, e atribuir pesos s regras, escolhendo a de maior peso. Tais pesos
podem ser atualizados de acordo com a frequncia com que cada regra escolhida.
O Sistema Backward Chaining
O backward chaining basicamente o contrrio do forward chaining. A partir de um
objetivo, o sistema verifca quais regras poderiam ser aplicadas para descobrir como
alcan-lo. A partir de uma informao especfca ele pode presumir o que a gerou. Por
exemplo, se em um determinado jogo, para construir casas o jogador precisa de cimento
e tijolos, ao notar que o jogador est construindo casas, presume-se que o jogador tenha
cimento e tijolos. O backward chaining dito ser um algoritmo dirigido ao objetivo.
Devido sua natureza recursiva, o backward chaining no amplamente utilizado,por
questes computacionais. (Fujita, 2005, p.30).
Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
17
Aplicao do Algoritmo no Sistema de Batalhas
Tanto o forward chaining quanto o backward chaining pode ser usados no desenvolvimento
de jogos. No Sistema de Batalhas foi utilizado forward chaining com o intuito de fazer
com que o inimigo tenha atitudes mais randmicas (Quadro 10).
O inimigo possui trs regras defnidas na prpria programao. Para a escolha da ao
ser tomada diante da regra, uma funo rand() foi utilizada.A funo rand() gera um
nmero inteiro pseudo-randmico dentro do escopo passado a ela. Na primeira execuo
da segunda regra, por exemplo gerado um nmero entre 0 e 3 para que o inimigo escolha
radomicamente uma das quatro aes disponveis.
J na terceira ele escolhe um nmero randmico entre 0 e 2 e executa uma das trs aes
disponveis. No ltimo if-then, no usada a opo magia, pois o inimigo verifca que seu
MP j est esgotado. Com o sistema baseado em regras as aes do inimigo se tornaram
menos repetitivas e menos previsveis, gerando um desafo maior para o jogador.
Quadro 10. Algoritmo do Sistema Baseado em Regras do Inimigo
Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
18
Consideraes Finais
Um sistema de batalhas de RPG um sistema complexo que pode chegar a resultados
variados dependendo das aes dos inimigos e do jogador. Para manter a diverso presente
no jogo importante que as aes dos inimigos paream ser tomadas de forma consciente,
com o objetivo de vencer o jogo, criando um desafo para o jogador.
O algoritmo testado pode ser utilizado em inimigos em gneros de jogos variados, no
apenas RPG. Espera-se que este trabalho seja til como referncia a estudantes interessados
no desenvolvimento de jogos, servindo como auxlio no conhecimento sobre IA, uma
rea muito importante nos jogos atuais. No caso do Sistema de Batalhas, o algoritmo,
Sistema Baseado em Regras, apresentou um desempenho satisfatrio, pois este permitiu
um planejamento mais complexo para as aes do inimigo.
A IA uma rea que tem evoludo muito no desenvolvimento de jogos, pois hoje os jogos
tentam estar cada vez mais prximos da realidade, porm as tcnicas de IA mais simples
no podem ser descartadas, pois podem servir como base para o desenvolvimento de
novas tcnicas.
Estudo do Uso de Tcnicas de Inteligncia Artifcial em Jogos 2D
Soraia Teixeira Barbosa - Janana Veiga - Carlos Vitor de Alencar Carvalho
Revista Eletrnica TECCEN, Vassouras, v. 5, n. 1 p. 5-20, jan./abr., 2012
19
Referncias
Abragames (2011). A indstria brasileira de jogos eletrnicos: Um mapeamento do
crescimento do setor nos ltimos 4 anos. Disponvel em: <www.abragames.org/docs/
Abragames-Pesquisa2008.pdf>. Acesso em: 14 out. 2011.
AGS (2011). Ferramenta Adventure Game Studio. Disponvel em: http://www.
adventuregamestudio.co.uk/. Acessado em: 23 abril 2011.
Barbosa, S. T. (2011). Estudo do uso de Tcnicas de inteligncia artifcial em um jogo
2D. 2011. Trabalho de Concluso de Curso (Graduao em Sistemas de Informao) -
Universidade Severino Sombra.
Barbosa, S. T. (2011). Jogo Sistema de Batalhas. Acesso em : 17 de out. de 2011.
Bittencourt, G. (2001). Inteligncia Artifcial Ferramentas e Teorias. Editora da UFSC.
2. Edio. Florianpolis, 362p.
Fujita, E. (2005). Algoritmos de IA para Jogos. 2005. 66 f. Universidade Estadual de
Londrina.
GM (2011). Ferramenta Game Maker. Disponvel em : http://www.yoyogames.com/. Acessado
em: 23 abril 2011.
Karlsson, B. F. F. (2005). Um Middleware de Inteligncia Artifcial para Jogos Digitais.
2005. 126f. Dissertao (Mestrado pelo Programa de Ps Graduao em Informtica
do Departamento de Informtica da Puc-Rio) Puc-Rio. Setembro de 2005.
Rehm, F. et. al. (2007). Aplicaes da Inteligncia Artifcial em Jogos.
Rich, E. (1998). Inteligncia Artifcial. So Paulo: McGraw-Hill.
Sdl (2001). Disponvel em: <http://www.libsdl.org/>. Acesso em: 15 Outubro 2011.
Uol Economia (2011). Brasileiros vo gastar R$ 3,4 bilhes em jogos on-line em
2011, diz pesquisa. Disponvel em: <http://economia.uol.com.br/ultimasnoticias/
redacao/2011/09/13/brasileiros-vao-gastar-r-34-bilhoes-em-jogos-on-line-em-2011.
jhtm>. Acesso em: 03 out. 2011.
Valle, M. E. (2011). Mini-curso: Tpicos de Inteligncia Computacional. Disponvel
em:<http://www.uel.br/pessoal/valle/PDFfles/resumo_semat08.pdf > Acesso em: 28
nov 2011.
Wikipedia. Ubisoft. (2011). Disponvel em: <http://pt.m.wikipedia.org/wiki/Ubisoft>.
Acesso em: 23 abril 2011.

Anda mungkin juga menyukai