You are on page 1of 19

FACULDADE CATLICA DO TOCANTINS CURSO DE BACHARELADO EM SISTEMAS DE INFORMAO

ROBSON ANDRADE VENCESLAU

INTELIGNCIA ARTIFICIAL APLICADA A JOGOS

Palmas 2010

ROBSON ANDRADE VENCESLAU

INTELIGNCIA ARTIFICIAL APLICADA A JOGOS

Projeto elaborado como requisito de aprovao da disciplina de Estgio Supervisionado I do curso de Sistemas de Informao da Faculdade Catlica do Tocantins, orientado pelo Prof. MSC. Igor Yepes.

Palmas 2010

SUMRIO

1. INTRODUO ..........................................................................................................3 2. IA AC ADEMICA x GAME IA......................................................................................3 3. HISTORIA D A IA EM JOGOS ..................................................................................4 4. TCNICAS DE IA EM JOGOS .................................................................................5 4.1 Mquinas de Estado Finito ...........................................................................6

4.2 Sistema Baseado em Regras .........................................................................8 4.3 Lgica Fuzzy .................................................................................................9 4.4 Path-Finding ..................................................................................................12 4.5 Algoritmos Genticos ....................................................................................13 5. IA: COMPUTADORES X CELULARES...................................................................16 6. CONCLUSO .........................................................................................................17 7. REFERNCIAS BIBLIOGR FIC AS ......................................................................18

1.

INTRODUO

A rea de jogos eletrnicos vem crescendo desde o inicio de sua criao, segundo (KISHOMOTO, 2004) desde 1962, quando Steve Russel desenvolveu o primeiro jogo eletrnico, chamado Spacewar, para dois jogadores, durante sua graduao no MIT (Massachussets Institute of Technology). No comeo do desenvolvimento de jogos eletrnicos as tcnicas usadas no incluam Inteligncia Artificial ou podemos dizer segundo (SCHWAB, 2004 apud KISHOMOTO, 2004, p. 4) a programao de IA (Inteligncia Artificial) era mais conhecida por programao de jogabilidade, pois no havia nada de inteligente sobre os comportamentos exibidos pelos personagens controlados pelo computador. So amplas as reas de pesquisa que hoje esto relacionadas a jogos eletrnicos como computao grfica, design e IA. abordado neste projeto o uso de Inteligncia Artificial em jogos eletrnicos e durante o desenvolvimento do trabalho realizada uma anlise sobre a diferena existente entre IA acadmica e Game IA, o inicio da aplicao de IA em jogos, bem como as principais tcnicas de IA utilizadas em jogos eletrnicos. Tambm explanado o uso de Inteligncia Artificial para jogos de computadores e celulares.

2.

IA ACADMICA x GAME IA

Antes de esboar sobre o uso de Inteligncia Artificial em jogos, ser diferenciado o termo de IA entre os ramos de pesquisas. Existem dois ramos de pesquisas que estudam e utilizam aplicaes de Inteligncia Artificial, so eles o meio acadmico e jogos. As aplicaes computacionais de IA e o significado do termo IA so diferentes do encontrado no meio acadmico. De acordo com (MILLINGTON, 2004), para distinguir a Inteligncia Artificial utilizada em jogos da utilizada no meio acadmico, os desenvolvedores adotaram o termo Game IA.

O que diferencia a utilizao de IA da Game IA o objetivo que cada rea busca. No meio acadmico o objetivo buscar solues para problemas extremamente difceis, como imitar o reconhecimento que os humanos so capazes de realizar (por exemplo, reconhecimento facial, de imagens e de objetos) entender e construir agentes inteligentes (SCHWAB, 2004 apud KISHOMOTO, 2004, p. 1). J em jogos, o objetivo da utilizao de IA a diverso. Em Game IA o problema a ser resolvido no como o sistema pensa e sim como ele age.

3.

HISTRIA DA IA EM JOGOS

No incio dos jogos eletrnicos muitos programadores implementavam padres de movimentos ou movimentos repetitivos aos personagens controlados pelo computador, como sendo a inteligncia existente no jogo. Para entender mais um pouco a caminhada da inteligncia artificial nos jogos no decorrer do tempo verifique a tabela 1.

Ano 1962

Descrio Primeiro jogo de computador, Spacewar, para 2 jogadores Jogadores tinham que atirar em alvos mveis em Pursuit e Qwak. Gun Fight lanado, personagens com movimentos aleatrios. Space Invaders contm inimigos com movimentos padronizados, mas tambm atiram contra o jogador.

IA Utilizada Nenhuma Nenhuma Padres de movimento Padres de movimento Padres de movimento Padres de movimento Maquina de Estados

1972 Lanamento do jogo Pong, para 2 jogadores 1974 1975 1978

O jogo Pac-man conta com movimentos padronizados 1980 dos inimigos, porm cada fantas ma (inimigo) tem uma personalidade sobre o modo em que caa o jogador. O primeiro jogo de estratgia em tempo real, Herzog 1990 Wei, lanado. Junto, os jogadores puderam noticiar uma pssima busca de caminho.

1993

Doom lanado como primeiro jogo de tiro em primeira pessoa. BattleCruiser: 3000AD publicado como o primeiro jogo a utilizar redes neurais em um jogo comercial

Mquina de Estados

1996

Redes Neurais

Half-Life lanado e analisado como a melhor IA em 1998 jogos at a poca, porm, o jogo utiliza IA baseada em scripts. O jogo Black & White alvo da mdia a respeito de como as criaturas do jogo aprendem com as decises feitas 2001 pelo jogador. Utiliza redes neurais, reinforcement e observational learning.
Tabela 1: Linha de Tempo da IA em jogos. Fonte: (SCHWAB, 2004 apud KISHOMOTO, 2004, p. 4).

Mquina de Estados / Script

Diversos

Como mostra a tabela 1, at o inicio da dcada de 70 os jogos ainda no utilizavam tcnicas de Inteligncia Artificial, ou seja, eram desenvolvidos apenas com a opo de se jogar em VERSUS MODE. A partir da perceberam que se programassem a opo ONE PLAYER resultaria em grande sucesso no mercado de jogos eletrnicos. Comearam ento a desenvolver padres de movimentos repetitivos e/ou aleatrios com a inteno de imitar um ser humano, para que assim os jogadores pudessem jogar sozinhos sem perderem desafio e diverso. Hoje com tantas tcnicas de IA que se podem introduzir aos jogos, padres de movimento deixaram de ser considerados como IA para alguns desenvolvedores.

4.

TCNICAS DE IA EM JOGOS

Como visto at aqui, o uso de inteligncia artificial vem crescendo muito, deixando de ser apenas um recurso a mais nos jogos e passando a ser a principal caracterstica de um jogo bem desenvolvido e atraente a quem procura diverso.

A partir desse ponto sero enfatizadas as tcnicas de IA mais utilizadas no desenvolvimento de jogos, as quais so divididas com base em duas principais caractersticas: determinsticas e no-deterministicas. Determinstica: muito utilizada pela facilidade de implementao, entendimento e teste de erros. So rpidas, requerem pouco recurso da mquina. Uma desvantagem de se usar tcnicas com esse tipo que os comportamentos dos agentes controlados pelo programa so previsveis com o passar do tempo, diminuindo assim a diverso do jogo. No-deterministica: tcnicas difceis de implementar, entender e testar. So lentas comparadas a tcnicas determinsticas. So imprevisveis, pois utilizam tcnicas de aprendizagem, ou seja, o comportamento do agentes controlados pelo programa podem variar de acordo com as aes do jogador, aumentando assim a diverso e longevidade do jogo. Uma desvantagem dessa abordagem o grau de incerteza, pois em alguns casos a maquina pode exibir um comportamento no desejado. A seguir sero mostradas, de forma no aprofundada, as principais e/ou mais utilizadas tcnicas de IA em jogos, sendo elas: Finite State Machines (FSMs), Rule Based Systems (RBSs), Lgica Fuzzy, Path-Finding e Algoritmos Genticos. Algumas so antigas, como Mquinas de Estados, mas por serem confiveis e de fcil implementao, ainda so bastante utilizadas pelos desenvolvedores de jogos.

4.1

Mquinas de Estado Finito (FSMs) Finite State Machines (FSMs) ou Mquinas de Estado Finito segundo

(FUJITA, 2005) tem sido h muito tempo a principal escolha na hora de implementar a IA de personagens para jogos. Sua caracterstica est em dividir o comportamento dos agentes em vrios estados com transies entre eles. Essa transio de um estado para outro vai depender de fatores de entradas, seja por estmulos provocados pelo jogador ou pelo ambiente do jogo.

Mquinas de estado finito definem um conjunto de condies que determinam quando o estado deve mudar. O estado atual da mquina determina como a mquina deve se comportar, ou seja, so as aes possveis que o personagem pode executar, e as transies entre os estados so executadas quando a condio de mudana de estado alcanada. O seguinte exemplo serve para entender melhor o funcionamento das Mquinas de Estados: um jogo onde o agente controlado pela maquina atacar seu inimigo. O estado atual do agente patrulhando. Se o inimigo estiver no campo de viso, o estado atual do agente passa a ser perseguir o inimigo. Enquanto o estado for perseguir o inimigo, e se o inimigo estiver ao alcance, o estado atual do agente ser atacar inimigo. Ainda pode-se dizer que se a sade do agente estiver baixa, o estado atual do agente ser recuperar sade. Na figura 1 pode ser vista a representao do exemplo citado acima:

Figura 1: Exemplo de Maquina de Estados Finitos

Analisando a Mquina de Estados representada na figura 1, o estado inicial da FMS patrulhando. A cada iterao as condies de transio so avaliadas, se alguma delas for satisfeita a transio baseada nesta regra efetuada, a mquina passa a ter um novo estado, operando a partir deste.

A principal vantagem de utilizar FMSs, para o desenvolvimento de IA em jogos, que ela consegue ser adaptvel para qualquer tecnologia, sendo a parte principal ou secundaria da inteligncia do personagem, alm de poder fazer que diferentes personagens utilizem a mesma rotina podendo gerar assim um comportamento diferente para cada personagem. (Mendes apud SANTANA, 2006, p. 118).

4.2

Sistema Baseado em Regras Um pouco parecido com Mquinas de Estado Finito, assunto abordado

no tpico anterior, Sistemas Baseados em Regras ou Rule Based Systems (RBSs) consiste em um conjunto de regras que so utilizadas para fazer inferncias ou decidir a tomada de aes. Em IA, estes sistemas tambm so chamados de Sistemas

Especialistas, e so utilizados para substituir um especialista humano em uma determinada rea do conhecimento, como um diagnstico de doenas, classificao de doenas em determinada cultura, diagnsticos de erros em engenharia, entre outros. Uma grande vantagem dos sistemas especialistas que eles imitam a maneira como o ser humano tende a pensar e raciocinar, dado um conjunto de fatos e seu prprio conhecimento sobre um domnio de conhecimento (BOURGE e SEEMAN, 2004 apud FUJITA, 2005, p. 28). Sistema Baseado em Regras uma tcnica bastante utilizada pelos programadores de jogos, apesar de ser conhecida por uma tcnica de difcil implementao e pouca eficincia. Alguns problemas resolvido com RBSs podem ser alcanado eficientemente com tcnicas mais simples, utilizando Mquinas de Estado ou rvores de Deciso, entre tanto, existe algumas vantagens em utilizar Sistemas Baseados em Regras, por exemplo, quando os personagens preciso de conhecimentos sobre o mundo que no podem ser antecipados pelo desenvolvedor ou codificado em uma rvore de deciso. RBSs possuem uma estrutura comum que consiste basicamente em duas partes: um banco de dados contendo conhecimentos disponveis para o agente inteligente e um conjunto de regras se-ento.

Regras (interpretador) SE distncia < 100 ENTO... SE sade > 50 ENTO ... :

Banco de Dados Distncia = 90 Sade = 60 Inimigo ao alcance

Figura 2: Esquema de um Sistema Baseado em Regras.

As condies so interligadas por conjunes lgicas (como E e OU), o conjunto de regras percorrido e para cada regra, a situao atual do mundo avaliada para determinar se a ao ser executada. A parte do sistema que escolhe uma determinada regra a partir do estado atual do jogo conhecida como interpretador (motor de inferncias). Para fazer as inferncias o interpretador utiliza duas maneiras: o forward chaining e o b ackward chaining. Forward chaining (encadeamento progressivo): o mais comum

dos sistemas de inferncia. Neste tipo de inferncia o sistema iniciado com um conjunto de fatos, e a partir desses so aplicadas as regras, repetidamente, at que a o resultado seja alcanado. Backward chaining (encadeamento regressivo): basicamente o

do contrrio do forward chaining, pois o sistema parte do objetivo, para descobrir quais so as regras que devem ser efetuadas para chegar a esse mesmo objetivo. Esse tipo de procedimento conhecido como algoritmo dirigido a objetivos. Embora os Sistemas Baseados em Regras apresentem as vantagens descritas, uma tcnica que pode necessitar de muito espao em memria, muito poder de processamento e se tornar extremamente difceis de depurar, por exemplo, quando utilizadas tcnicas como forward chaining e b ackward chaining.

4.3

Lgica Fuzzy

10

At o momento as condies e decises utilizadas tem sido booleanas, ou seja, verdadeiras ou falsas. Com a Lgica Fuzzy (nebulosa) possvel mapear esses problemas em reas imitando a forma como os seres humanos vem. Por exemplo, para atribuir um valor distncia, na lgica booleana seria perto ou longe, j na Lgica Fuzzy alm de perto ou longe, poderia ter muito perto, muito longe, pouco perto e pouco longe. Segundo Millington e Funge (2009), a Lgica Fuzzy um conjunto de tcnicas matemticas desenvolvida para lidar com reas nebulosas. Pode-se trabalhar com Lgica Fuzzy de maneira parecida com um Sistema Baseado em Regras, ou Mquinas de Estado Finito. A vantagem de utilizar Lgica Fuzzy que pode trabalhar com variveis mais prximas linguagem humana, ao invs de utilizar variveis discretas. Veja o exemplo abaixo: SE (perto) ENTO armar; SE (muito_perto) ENTO atacar; SE (longe) ENTO procurar; Entendendo que perto, muito_perto e longe so funes fuzzy, nesse caso se fosse utilizar a lgica booleana, teria que estabelecer vrias regras para definir o significado de cada uma dessas funes, sendo que na Lgica Fuzzy possvel fazer com um nmero bem de regras. A seguir ser mostrada as etapas do processo fuzzy que dividido da seguinte forma: Entrada (Fuzzificao), Sada (sada fuzzy) e Quantificao (Desfuzzificao). Fuzzificao: aqui os dados (nmeros) so mapeados em dados nebulosos. Esse processo envolve funes de associatividade para encontrar o grau de associao entre os valores de entrada e os conjuntos fuzzi pr-definidos. Pegando como referncia o exemplo acima, isto significa descobrir, segundo os dados numricos de entrada, em qual dos grupos pertence a distncia do jogador (perto, muito_perto ou longe).

11

Sada: agora com os valores de entrada fuzzificados, faze-se necessrio produzir uma sada que ser a ao tomada pelo agente inteligente naquele momento. Essa ao analisada atravs da avaliao das regras, como feito nos sistemas baseados em regras. A diferena aqui que toda as regras so avaliadas produzem respostas cuja intensidade expressa segundo a Lgica Fuzzy. Os operadores lgicos fuzzy so: Disjuno: VERDADE (A OU B) = MAX(VERDADE(A), VERDADE (B)); Conjuno: VERDADE (A E B) = MIN(VERDADE(A)), VERD ADE(B)); Negao: VERDADE(NO A) = 1 VERDADE(A); Sendo que na lgica fuzzy o valor VERDADE um numero que varia entre 0 e 1. Desfuzzificao: esse processo necessrio quando se deseja uma sada quantitativa, ou seja, um nmero como sada do sistema nebuloso. Por exemplo, um sistema fuzzy poderia indicar a um agente inteligente a quantidade de fora a aplicar numa bola para que ela percorra determinada distncia. Com a Lgica fuzzy foi possvel resolver os problemas de

previsibilidade das Mquinas de Estados, criando as Mquinas de Estado Finito Fuzzy (FuSMs). Uma FuSM associa a cada estado um valor que corresponde ao quanto esse estado se aproxima de ser o estado corrente na situao atual do processo. O estado corrente passa a ser um conjunto de estados, e cada estado possui um valor de verdade que corresponde ao grau de pertinncia desse estado ao conjunto estado corrente. Enquanto nas Mquinas de Estados Finito a representao do processo est restrito a figurar exatamente em uma situao ideal num dado momento, nas FuSMs o processo pode se encontrar em uma situao intermediria que mistura caractersticas de mais de uma das situaes ideais. Isso significa dizer que a Mquina de Estados Fuzzy pode no se encontrar exatamente em um determinado estado em cada momento, seu estado corrente pode representar mltiplos estados (SANTOS, 2004).

12

4.4

Path-finding O movimento um requisito fundamental no desenvolvimento de

qualquer entidade, nele que est o primeiro sinal de inteligncia identificado em um jogo. um problema fcil de ser resolvido quando o personagem est em reas livres para se movimentar, mas torna-se complicado quando existem obstculos pelos caminhos fazendo com que o personagem tem que escolher o melhor caminho para chegar ao destino. Esse problema resolvido com o uso de algoritmos de pathfinding (Busca de caminhos). Os algoritmos de path-finding resolvem esse problema tendo como conhecimento os dados do cenrio, com isso procuram o melhor caminho entre a posio de origem e a posio de destino do personagem. Um algoritmo de busca bastante utilizado em IA clssica, que bem aproveitada em IA para jogos o A* (AStar). considerado relativamente fcil de implementar, alm de encontrar rapidamente o melhor caminho entre dois pontos em um mapa. Quando se utiliza o algoritmo A*, deve-se dividir o mapa do cenrio a ser utilizado em grupos de ns, onde ser representado as posies dos objetos e personagens existentes no jogo. O algoritmo cria duas classificaes para os ns como sendo duas listas: a de ns abertos e a de ns fechados. A lista de ns aberto armazena todos os ns que precisam ser verificados, onde escolher um para ser o prximo n-destino do mapa. E a lista de ns fechados armazena os ns que no precisam mais ser verificados. A seguir sero mostrados os passos para realizar o algoritmo: 1 coloca o n-inicial na lista de ns abertos; 2 os demais ns (ns-adjacentes, aqueles que ainda sero verificados) sero colocados tambm na lista de ns abertos. interessante ignorar os pontos onde se encontram obstculos ou reas no alcanveis no mapa; 3 com isso, o n-inicial dever ser colocado na lista de ns fechados;

13

4 escolha um n na lista de ns abertos para ser o prximo n a fazer parte do cominho a ser percorrido no mapa. A escolha n feita utilizando uma funo de avaliao F(n) = G(n) + H(n), onde: F(n) = o menor resultado da soma de G(n) + H(n). G(n) = o valor gasto do n-inicial (ponto de partida) ao n avaliado (n). H(n) = funo heurstica. a distncia para chegar ao ponto de destino, partindo da posio atual (n). escolhido na lista de ns abertos aquele que tiver o menor valor F(n). Se este n j estiver na lista de abertos, verifica se o valor de G, utilizando o n atual para se chegar at o escolhido, menor. Se a condio for verdadeira o n escolhido ser o prximo-n e recalcula os valores F e G para este n. Se no, nada precisa ser feito. 5 Esse processo se repete at que o n destino seja colocado na lista de ns abertos. Tem-se o caminho, fazendo o processo inverso partindo do destino a origem. Se a lista de abertos terminar vazia, houve falha na busca de caminho. O algoritmo excelente quando temos um cenrio fixo, porm deixa a desejar quando h mudanas no cenrio no decorrer do jogo. importante analisar se o menor custo realmente o melhor caminho. Alguns mapas possuem certas caractersticas como rampas, relevo acidentado, armadilhas, entre outras. importante adaptar o algoritmo adicionando custos de atravessar determinados empecilhos funo G. Outro ponto importante adaptar o algoritmo para que ele detecte coliso com outros elementos do jogo, pois o A* considera apenas a topologia do terreno, ignorando outras unidades (LESTER, 2003 apud FUJITA, 2005, p. 48).

4.5

Algoritmos Genticos

14

Algoritmos Genticos mais uma tcnica da IA que bem utilizada no desenvolvimento de jogos. Essa tcnica baseada nos estudos sobre a evoluo das espcies, introduzida por Charles Darwin. Por tanto, para a utilizao de Algoritmos Genticos em qualquer aplicao bom ter um conhecimento do processo de seleo e evoluo natural das espcies. No mundo real, as espcies evoluem constantemente na tentativa de melhor se adaptarem aos seus ambientes. Os seres mais fortes e capazes de sobreviver passam adiante suas caractersticas para a prxima gerao. Tais caractersticas so codificadas nos cromossomos. A gerao resultante fruto da combinao de dois cromossomos da gerao atual, num processo denominado crossover. Nessa combinao podem ocorrer mutaes aleatrias, e se essas combinaes contriburem para a sobrevivncia da espcie, elas sero tambm passadas para geraes futuras (FUJITA, 2005). Em jogos, os AGs so implementados imitando a mesma abordagem, no intuito de encontrar uma soluo prxima a tima para o problema. Essa tcnica vem sendo aproveitada pelos desenvolvedores de jogos, pois permite a modelagem do comportamento de agentes inteligentes atravs de sua evoluo no prprocessamento ou mesmo durante execuo do jogo. Um dos diferenciais em utilizar Algoritmos Genticos que eles permitem que uma agente atue tanto em situaes previsveis, quanto em situaes em que o desenvolvedor no tem conhecimento da soluo do problema em questo. Os AGs baseiam-se na combinao de gerar e testar combinada com a teoria darwiniana da evoluo e da gentica. Um AG basicamente um processo dividido em quatro fases a partir da populao inicial: Inicializao da Populao, Validao da Aptido, Seleo e Cruzamento/Mutao.

15

Inicializao da Populao

Aptido / Seleo

Cruzamento e Mutao

Nova populao
Figura 3: Processo de um Algoritmo Gentico.

Inicialmente criada a populao inicial. importante nessa fase definir como ser representada a populao. Isso pode ser feito utilizando vetores para representar os cromossomos da populao. Cada posio do vetor ser um gene, ou seja, uma ao que poder ser executada pelo individuo. Feito isso, deve preencher os valores dos cromossomos aleatoriamente, pois se espera obter uma populao com alto grau de variabilidade. No prximo passo, ser avaliada a aptido de cada indivduo, ou seja, quais indivduos, segundo suas caractersticas, esto aptos a resolver o problema em questo. Para isso realizada uma funo aptido, denominada funo fitness. Para um exemplo de perseguio, uma funo fitness retornaria o individuo que tivesse os valores correspondentes a melhor posio para chegar ao inimigo. Os indivduos com maior aptido sero selecionados e tero a maior probabilidade de passar seus genes para a prxima gerao. Aps escolher os melhores indivduos, ser realizado o processo de cruzamento (crossover), onde partes dos genes dos pais sero combinados aleatoriamente para gerao de filhos que fazero parte da nova populao. A mutao poder ser feita em parte ou em todos os indivduos da nova gerao. Isso feito alterando de forma aleatria a estrutura dos indivduos. Nesse processo, os indivduos resultantes do processo de cruzamento e mutao sero inseridos na nova populao. O algoritmo voltar segunda etapa

16

do processo, como mostrado na figura 3, e a cada iterao sero criados indivduos aptos a resolver o problema. Algoritmos genticos so teis quando difcil prever as interaes entre o conjunto de parmetros que regula o comportamento dos agentes e o mundo do jogo. necessrio um bom esforo de tempo em modelagem e simulaes para alcanar um bom resultado. A utilizao de AGs no desenvolvimento de jogos requer muito recurso da mquina, no entanto aconselhvel utilizar de mtodos tradicionais, como se-ento, para resolver problemas expressamente simples.

5.

IA: COPUTADORES x CELULARES

O grande avano no uso de aparelhos portteis como os celulares, por serem de fcil acesso grande maioria da populao, fez com que as empresas de desenvolvimento de aplicativos digitais voltassem os olhos para essa tecnologia. A cada nova gerao de aparelhos celulares percebem-se novos recursos

tecnolgicos a fim de facilitar a vida do consumidor. Hoje comum ver aparelhos com cmera de boa resoluo, Bluetooth, Wifi e etc. Como em tudo que envolve tecnologia a rea de desenvolvimento de jogos est presente, com esse avano da tecnologia de dispositivos mveis, o desenvolvimento de jogos para celulares vem crescendo tambm. Porm para desenvolver jogos em celulares deve-se levar em considerao algumas diferenas em recurso de mquinas em relao a computadores. Enquanto em PCs a capacidade de memria e processamento gira em torno dos Gigabytes (GB) em celulares isso varia entre Kilobyte (KB) e Megabyte (MB). Com isso, quando se implementa um jogo para celulares, o desenvolvedor deve fazer com que o jogo, alm de divertido e atrativo, no perca o desempenho na hora da execuo. Segundo RIBEIRO (2004), a fatia de processamento dedicada a Inteligncia Artificial em um jogo no excede muitas vezes os 10%. Portanto para usar IA em um jogo para celular bastante recomendado que utilize tcnicas

17

simples que no afetaro o desempenho do jogo como Mquinas de Estados e Sistemas Baseados em Regras, tcnicas abordas neste trabalho.

6.

CONCLUSO

Um dos pontos interessantes vistos durante a pesquisa deste trabalho foi que todas as tcnicas utilizadas em desenvolvimento de jogos partiram das pesquisas realizadas em IA acadmica. Para desenvolver jogos com IA preciso ter conceitos do que inteligncia humana, fazer assimilaes de como o ser humano age e ver o mundo em sua volta. Espera-se que a Inteligncia Artificial seja bastante utilizada em jogos, principalmente em tcnicas que auxiliam no aprendizado da mquina como Algoritmos Genticos e Redes Neurais. Com o grande avano dos aparelhos celulares, o desenvolvimento de jogos para dispositivos mveis tende a crescer, possibilitando o acesso tecnologias com IA a qualquer pessoa. A IA tem se tornado, nos ltimos anos, muito importante para o desenvolvimento de tecnologias, com as pesquisas a rea de desenvolvimento de jogos ir contribuir para o desenvolvimento de Inteligncia Artificial.

18

7. REFERNCIAS BIBLIOGRFICAS MILLINGTON, Ian; FUNGE, John. Artificial Intelligence for Games, 2 edio 2009. Editora Elsevier. KISHIMOTO, Andr. Inteligncia Artificial em Jogos Eletrnicos. 2004. Disponvel em: <http://www.programadoresdejogos.com/trab_academicos/andre_kishimoto.pdf. Visitado em 20/08/2010. GALDINO, Carlos Henrique Silva. Inteligncia Artificial Aplicada no Desenvolvimento de Jogos de computador. Disponvel Visitado em: em <http://www.programadoresdejogos.com/trab_academicos/>. 17/08/2010. SANTAN A, Roberto Tengan de. I.A em Jogos A busca competitiva entre o homem e a mquina. 2006. Disponvel em: <http://www.programadoresdejogos.com/trab_academicos/>. Visitado em 15/09/2010. FUJITA, Eduardo. Algoritmos de IA para Jogos. 2005. Disponvel Visitado em: em

<http://www2.dc.uel.br/nourau/document/?code=314&tid=1>. 10/10/2010.

SANTOS, Gilliard Lopes dos. Mquinas de Estado Hierquicas em Jogos Eletrnicos. Dissertao visitado em 10/11/2010. RIBEIRO, Paulo. IA e Jogos Mestrado em Informtica e Sistemas. 2003/2004. Departamento de Engenharia Informtica, Universidade de Coimbra. Disponivel em: < http://eden.dei.uc.pt/~pribeiro/portfolio/docs/AIJ.PDF> visitado em 20/11/2010. de Mestrado PUC-RIO. 2004. Disponvel em:

<http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0220940_04_cap_02.pdf>