Máquinas de Estados Finitos Aplicados a Jogos Eletrônicosre.granbery.edu.br/artigos/NTAx.pdf ·...

17
1 Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação – N.14, JUL/DEZ2013 Máquinas de Estados Finitos Aplicados a Jogos Eletrônicos César Roberto de Sousa Loureiro Júnior 1 Elena Dias Bastos 2 Munir Cheik Kaled de Moraes 3 Paola Jenifer Cañete Rodrigues Gonçalves 4 Sérgio Muinhos Barroso Lima 5 RESUMO: Atualmente, no mercado, percebe-se um crescimento significativo das tecnologias na área dos jogos eletrônicos. Os games têm conquistado uma posição de destaque. O mercado oferece uma gama de possibilidades de acordo com o gosto de cada usuário. Com o uso da inteligência artificial, os jogos têm proporcionado desafios, de forma a atrair usuários de diversas faixas etárias, possibilitando o sentimento e a sensação de outra realidade, com o uso do mundo virtual. Esse artigo tem por objetivo apresentar a utilização de Máquinas de estados finitos e suas aplicações em Inteligência Artificial (IA) nos jogos, além de um estudo de caso do jogo Pac-Man. PALAVRAS-CHAVE: Jogos Eletrônicos, Inteligência Artificial, IA, Máquinas de Estados Finitos, Pac-Man. ABSTRACT: Currently on the market, there is a significant growth of the technologies in the field of electronic games. The games have earned a prominent position. The market offers a range of possibilities according to the taste of each user. With the use of artificial intelligence, games have provided challenges in order to attract users of 1 Bacharelando em Sistemas de Informação, Faculdade Metodista Granbery, [email protected]. 2 Bacharelando em Sistemas de Informação, Faculdade Metodista Granbery, [email protected]. 3 Bacharelando em Sistemas de Informação, Faculdade Metodista Granbery, [email protected]. 4 Bacharelando em Sistemas de Informação, Faculdade Metodista Granbery, [email protected]. 5 Mestre em Ciência da Computação, UNICAMP, [email protected].

Transcript of Máquinas de Estados Finitos Aplicados a Jogos Eletrônicosre.granbery.edu.br/artigos/NTAx.pdf ·...

1

Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação – N.14, JUL/DEZ2013

Máquinas de Estados Finitos Aplicados a Jogos Eletrônicos

César Roberto de Sousa Loureiro Júnior1

Elena Dias Bastos2

Munir Cheik Kaled de Moraes3

Paola Jenifer Cañete Rodrigues Gonçalves4

Sérgio Muinhos Barroso Lima5

RESUMO: Atualmente, no mercado, percebe-se um crescimento significativo

das tecnologias na área dos jogos eletrônicos. Os games têm conquistado uma

posição de destaque. O mercado oferece uma gama de possibilidades de acordo

com o gosto de cada usuário. Com o uso da inteligência artificial, os jogos têm

proporcionado desafios, de forma a atrair usuários de diversas faixas etárias,

possibilitando o sentimento e a sensação de outra realidade, com o uso do mundo

virtual. Esse artigo tem por objetivo apresentar a utilização de Máquinas de estados

finitos e suas aplicações em Inteligência Artificial (IA) nos jogos, além de um estudo

de caso do jogo Pac-Man.

PALAVRAS-CHAVE: Jogos Eletrônicos, Inteligência Artificial, IA, Máquinas de

Estados Finitos, Pac-Man.

ABSTRACT:

Currently on the market, there is a significant growth of the technologies in

the field of electronic games. The games have earned a prominent position. The

market offers a range of possibilities according to the taste of each user. With the use

of artificial intelligence, games have provided challenges in order to attract users of 1 Bacharelando em Sistemas de Informação, Faculdade Metodista Granbery, [email protected]. 2 Bacharelando em Sistemas de Informação, Faculdade Metodista Granbery, [email protected]. 3 Bacharelando em Sistemas de Informação, Faculdade Metodista Granbery, [email protected]. 4 Bacharelando em Sistemas de Informação, Faculdade Metodista Granbery, [email protected]. 5 Mestre em Ciência da Computação, UNICAMP, [email protected].

2

different ages, allowing the feeling and sense of another reality with the use of the

virtual world. This article aims to present the use of handling techniques, finite state

machines and their applications in Artificial Intelligence in games, and a case study of

the game Pac-Man.

KEY-WORDS: Electronic games, Artificial Intelligence, Finite State Machines,

Pac-Man.

1. INTRODUÇÃO

A tecnologia e o avanço no desenvolvimento de softwares, têm se

reproduzido em máquinas do mundo real. Para que essa interação entre o mundo

virtual e o real ficasse cada vez mais atrativa e parecida com tarefas do nosso

cotidiano, utilizou-se das técnicas da Inteligência Artificial, que teve seu inicio após a

Segunda Guerra Mundial, com os estudos do matemático Alan Turing. Desde essa

época, começou, então, um avanço na IA, com aplicações em jogos eletrônicos, no

intuito de serem cada vez mais atrativos para seus usuários.

Para fazer essa interação da interface dos jogos com os usuários,

utilizam-se várias técnicas de controle dos personagens autônomos. Uma dessas é

a máquina de estados finitos, que pode ser usada de forma a se estabelecer um

padrão de ações ou execuções a partir de condições atendidas no decorrer dos

jogos, o que pode levar o jogo a se tornar previsível; como também pode ser

programada e configurada a fim de tornar o jogo complexo e imprevisível. A

abordagem do estudo de caso Pac-Man exemplifica o uso da máquina de estado

finito.

Apesar de antiquada em comparação às modernas tecnologias de IA, tais

como agentes inteligentes, redes neurais, algoritmos genéticos, buscas heurísticas,

dentre outras, as máquinas de estados finitos voltaram a ser utilizadas em grande

escala para jogos em celulares e outros dispositivos móveis. Esses dispositivos não

suportam os jogos modernos, que consomem muitos recursos de máquina: CPU,

memória, processamento gráfico, sonoro, etc. Nesses dispositivos, ressurgiram, das

cinzas, os antigos jogos clássicos, como Pac-Man, Space Invaders, e outros jogos

simples, que utilizam, basicamente, máquinas de estados finitos no controle de seus

personagens.

3

O estudo de caso, o jogo Pac-Man, demonstra o surgimento de um

importante marco na aplicação e evolução da IA em jogos. A utilização de máquinas

de estados finitos abriu as portas para novas descobertas e melhorias na sua

aplicação. O Jogo Pac-Man não foi apenas um novo game, e sim um novo conceito

de utilização da IA aliada às Máquinas de Estados Finitos em jogos.

Com uma interface simples, o jogo Pac-Man encobriu sua complexa

programação, que o torna dinâmico, mesmo sendo uma máquina que realize sempre

o tipo de execução que se espera de uma máquina de estados finitos. Através das

personalidades (algoritmos de busca) implementadas em cada fantasma, o jogo

ganha uma imagem de desafio e superação, pois quanto maior o cenário a ser

percorrido, mais difícil é a tarefa de escapar dos fantasmas “inteligentes”.

Apesar de, hoje, se configurar como um jogo antiquado sob o ponto de

vista estético e tecnológico, o Pac-Man é um marco histórico na indústria dos games

e um exemplo clássico da utilização das máquinas de estados finitos.

2. Histórico da IA nos Jogos Eletrônicos.

As ciências da computação têm realizado estudos sobre as diversas

tecnologias e as diferentes formas de programar, a fim de desenvolver estruturas

capazes de ser inteligentes, de maneira que possam ter a capacidade de aprender

novas informações. Dessa forma, é possível que uma máquina ou software tenha a

capacidade de reagir e ter comportamentos de acordo com regras determinadas,

estímulos ou até mesmo ações humanas, isto é, da mesma maneira que um ser

humano reagiria, pensaria ou faria.

O conceito de IA (Inteligência Artificial) iniciou-se após a Segunda Guerra

Mundial, com alguns estudos e trabalhos do matemático Alan Turing, que produziu o

artigo "Computing Machinery and Intelligence" (TURING, 2014), na década de 50,

dando início aos estudos mais aprofundados de IA. Já para os acadêmicos, a IA é

uma gama de possibilidades infinitas de como criar um ser inteligente, usando

computadores, ou, ao menos, simulá-lo. É uma ciência de intensa

interdisciplinaridade: psicologia, cognição, sociologia, linguística, neurologia,

computação, matemática, dentre outas.

No ano de 1978, os jogos eletrônicos tiveram uma grande reviravolta, pois

todos os jogos eram estáticos e não possuíam qualquer inteligência para tornar o ato

4

de “jogar” mais divertido e dinâmico. Baseando-se nestes conceitos, o inventor

Tomohiro Nishikado desenhou o primeiro jogo com IA no mundo chamado de

“Space Invaders”. Este jogo fazia grandes referências a invasões alienígenas e lutas

com espaçonaves. Seus algoritmos de IA, majoritariamente máquinas de estados

finitos, eram simples, de forma que era possível aprender os padrões de

movimentação dos inimigos e prever os seus movimentos. O jogo Space Invaders foi

lançado pela empresa desenvolvedora de jogos japonesa Taito Corporation e, logo

depois, continuado pela empresa americana Midway Games. O game fez tanto

sucesso que foi um dos primeiros jogos Arcade a ser transferido para o console do

antigo Atari.

Para Coppin (2012), “inteligência artificial envolve utilizar métodos baseados

no comportamento inteligente de humanos e outros animais para solucionar

problemas complexos”.

Para os programadores de jogos eletrônicos, o significado de IA difere do

meio acadêmico, pois, para este último, a preocupação está em desenvolver

aplicações para resolver problemas complexos, como, por exemplo, imitar o

reconhecimento fácil de imagens e objetos que o ser humano é capaz de realizar.

No entanto, os desenvolvedores de jogos se preocupam com a diversão que os

jogos serão capazes de proporcionar. O objetivo final deles é o resultado e não

como o sistema alcança esses resultados, pois os jogos são negócios, e seus

consumidores não estão preocupados em como a IA foi usada, e sim com a diversão

e o desafio que o jogo proporciona para seus consumidores. Seus personagens

devem tomar decisões coerentes com o contexto em que estão sendo aplicados, de

forma lógica, porém não repetitiva, nem previsível.

Os primeiros jogos eletrônicos lançados são considerados muitos simples se

comparados com os jogos da atualidade (ver figura 1), pois, com a evolução da

tecnologia e da IA em jogos, estes foram ficando mais parecidos com a realidade,

com imagens de alta resolução (figura 2). Os personagens são programados para

usarem técnicas inteligentes de ações humanas, tornando-se mais atrativos para os

usuários de jogos eletrônicos. A visão atual da inteligência artificial é direcionada a

contribuir com o gamedesign, para facilitar as modificações de acordo com a

concepção do jogo, com o intuito de traduzir sentimentos e sensações, tornando a

imersão dos jogos muito maior.

5

Figura 1 - Imagem do jogo Pac-Man, lançado em 1980. Fonte: (Pac Man, 2013).

Figura 2 - Jogo Ms. Pac-Man, lançado no ano 2000.

Fonte: Fonte: (Pac Man, 2013).

Os jogadores buscam jogos com certo equilíbrio de dificuldade, pois eles

não querem algo muito fácil de ganhar, nem muito difícil. Para se chegar nesse

equilíbrio de nível de dificuldade, usa-se então a IA, pois é ela que irá proporcionar a

inteligência aos personagens que não serão controlados pelos seres humanos.

6

Vale ressaltar, com essa evolução dos games, a necessidade de

hardwares potentes para rodar essas aplicações dos jogos atuais. Já os pequenos

dispositivos móveis ainda contam com poucos recursos computacionais, o que vem

trazendo à tona os jogos antigos e suas técnicas de IA.

3. Técnicas de IA aplicadas a jogos

Uma das mais interessantes áreas de estudo para aplicação da

inteligência artificial, atualmente, tem sido a sua utilização em jogos eletrônicos, com

o objetivo de tornar o mundo eletrônico mais próximo da realidade humana.

A Inteligência Artificial sistematiza e automatiza tarefas intelectuais e,

portanto, é potencialmente relevante para qualquer esfera da atividade humana. Os

softwares que usam a IA são produtos que utilizam, no seu processo de construção,

recursos intelectuais humanos, que vão desde sua especificação até sua distribuição

e pleno funcionamento.

Inteligência Artificial é uma das ciências mais recentes, que, atualmente

abrange uma variedade enorme de subcampos, que vão desde áreas de uso geral,

como aprendizado e percepção, até tarefas mais específicas, como jogos de xadrez.

A IA otimiza as tarefas que exigem raciocínio, e, portanto, é um modo de ampliação

das atividades intelectuais humanas como meio de auxiliar os processos que

precisam de uma determinada lógica interativa.

Há varias técnicas de IA que podem ser utilizados em jogos eletrônicos,

dentre elas, destacam-se: Sistemas especialistas, Sistemas Baseados em Regras,

Sistemas Fuzzy, Raciocínio Baseado em Casos, redes neurais, máquinas de

estados, algoritmos genéticos, algoritmos de busca, etc.

Para melhor contextualizar a respeito da utilização de IA em jogos,

Artero(2009, p.20) explica que: A atuação em um jogo envolve o uso de estratégias e raciocínio, próprio de seres inteligentes. Assim, ao longo dos anos, a área de jogos tem sido um laboratório importante para o desenvolvimento de varias técnicas de IA. Atualmente, vários jogos de última geração agregam técnicas de IA, o que significa que os personagens controlados pela máquina têm o seu comportamento alterado dependendo do tipo de comportamento do usuário ou, ainda, modificam sua estratégia após uma derrota, caracterizando um aprendizado com a sua própria experiência.

7

Pensando nisso, a indústria de jogos eletrônicos tem investido cada vez

mais em sistemas de jogos que envolvam raciocínio lógico, despertando, assim, o

instinto de desafio em seus jogadores.

Alguns anos após os lançamentos de jogos com IA, iniciou-se a corrida

para se desenvolver cada vez mais técnicas e “Engines”, tecnologias capazes de

tornar os games mais interativos, inteligentes e dinâmicos. Foram criadas técnicas

para aperfeiçoar todas as atividades e tomadas de decisão que um game precisaria

fazer. Desta forma, foi possível ampliar a diversidade, a interatividade e a mobilidade

do jogo.

Alguns jogos foram desenvolvidos com a técnica de Máquina de Estado

Finito, principalmente os jogos antigos e os atuais utilizados em hardware com

capacidade limitada de processamento, como celulares, por exemplo. Nesse

contexto, o jogo é baseado em um algoritmo sequencial que realiza a busca das

informações em uma ordem paralela ao acontecimento do jogo. Sendo assim, o

algoritmo se torna uma IA responsável por entender onde o jogo se localiza e quais

as informações ele deve apresentar ao usuário.

4. Máquina de Estados

Máquinas de estados finitos (do inglês, finite state machine), ou autômato

finito, é uma forma matemática de representar programas de computadores. Pode

ser definida como um conjunto de estados, alguns dos quais podem ser

denominados estados finais, incluindo-se as transações entre os estados e as

ações. À medida da interação, o controle de uma máquina pode variar de um estado

a outro, que será definido de acordo com o conjunto de regras de transição

especificadas para o autômato, como exemplificado na figura 3.

8

Figura 3: Máquina de Estado para controle de um alarme.

Fonte: desenvolvido pelos autores.

Percebe-se, pela figura 3, que as máquinas de estados finitos são ideais

na modelagem e comportamentos simples e previsíveis, como de um alarme, por

exemplo. Essas vantagens, porém, tornam-se, ironicamente, suas desvantagens em

jogos complexos, pois essa limitação e essa previsibilidade são justamente as

causas para que os usuários se cansem de jogar, pois, uma vez dominada a

estratégia da máquina, o jogo perde a sua atratividade.

A utilização das máquinas de estado finito foi extremamente ampla, em

especial na prática de jogos de luta, nos quais os oponentes tinham uma série finita

de movimentações e comportamentos a partir de condições pré-definidas e

programadas para os mesmos.

Máquinas de estados finitos têm o conceito muito importante em diversas

áreas da informática e são utilizadas em estudos de processos sistemáticos. “[...] são estruturas lógicas compostas por um conjunto de estados e um

conjunto de regras de transição entre os estados. São ferramentas úteis em

qualquer aplicação que envolva o controle de processos, na qual seja

possível descrever cada uma das situações discretas em que os processos

podem se encontrar a cada momento”. (SANTOS, 2004, p. 11).

em espera armado

sirene

desarmar

armar

tempo expirado

intrusão

desarmar

9

É necessário tratar os dois tipos de máquinas de estados, a determinística

e a não determinística, mostrando suas diferenças. Em seguida, abordaremos um

estudo de caso sobre o Pac-Man, e como funciona toda a lógica de busca de cada

um dos fantasmas que estão inseridos no jogo.

Numa máquina determinística ou autômato finito determinístico (AFD), as

entradas que rotulam as transições de um dado estado são mutuamente exclusivas,

ou seja, não partilham símbolos comuns.

Nestas máquinas, se conhecermos o estado inicial e a sequência de

entrada então toda a trajetória de estados e a sequência de saída podem ser

determinadas. É um padrão muito usado em jogos para definir o comportamento de

agentes reativos em games. Como vantagem, esses algoritmos são fáceis de

programar, de depurar e simples de entender, além de seu processamento ser de

baixo custo; mas possuem uma desvantagem, pois à medida que o usuário vai

jogando o game, ele aprende as medidas a serem tomadas nas ações, devido à

previsibilidade que esta técnica propõe.

Nas máquinas não determinísticas, a IA possui um grau de

indeterminação, podendo ser variável a cada implementação. Estas técnicas são

difíceis de manipular, entender e testar. São mais lentas, se comparadas com as

técnicas determinísticas, além de serem imprevisíveis. Um bom exemplo seria o

aprendizado que o NPC (Non Player Character – personagem não controlado pelo

jogador) adquire ao jogar com um usuário de game. O comportamento do NPC pode

variar de acordo com as medidas tomadas pelo jogador, aumentando, assim, o

tempo do jogo e a diversão. As máquinas de estado não determinísticas vêm suprir,

em maior grau, a imprevisibilidade comportamental dos agentes autônomos.

Para este desenvolvimento de IA, é necessário mais processamento, pois os

algoritmos são mais complexos, mais difíceis de depurar, mais complicados de

entender e ainda exigem uma atenção dos desenvolvedores para que as possíveis

ações do computador estejam no contexto do jogo.

10

5 Estudo de caso: Pac-Man.

Após o surgimento dos primeiros jogos com IA, a Empresa Midway Games

deu continuidade a esta revolução, dando origem ao famoso game Pac-Man. O jogo

Pac-Man foi baseado em um algoritmo com uma lógica simples. A lógica do jogo é

controlada por uma máquina de estados finitos. O jogo consiste em um mapa, onde

o jogador deve percorrer todo o labirinto de forma a recolher todos os objetos

dispostos no mesmo. Além de percorrer o labirinto, o jogador também deverá fugir

dos fantasmas que o perseguem durante todo o jogo.

Os fantasmas são: Inky, Pinky, Blinky e Clyde. O jogo utiliza máquinas de

estados finitos para controlar os comportamentos dos fantasmas, conforme ilustra

figura 4. Esses fantasmas têm três tipos de comportamentos, também conhecidos

como personalidades. A forma de implementação de cada personalidade com uma

ação varia com o tipo de cada fantasma. As personalidades são: Caçar (Chase)

Fugir (Evade)

Dispersar (Scatter)

Figura 4: Movimentação baseada em máquina de estados: dispersar, caçar e fugir.

Fonte: (LIMA, 2012).

Detalhando cada comportamento previsto para os “fantasmas”, temos:

11

Dispersar: o estado de dispersão é acionado ao início do jogo; é

responsável por mover os personagens em direção aos cantos e andar em círculos,

ficando o mais longe possível do Pac-Man, como demonstra a figura 5.

Figura 5: dispersão baseada em máquina de estados. Fonte: (LIMA, 2012).

Fugir: quando a ação “fugir” é acionada, quando o usuário “come” uma

pastilha de “força”, cada fantasma movimenta-se mais lentamente, com movimentos

aparentemente aleatórios, como demonstra a figura 6.

Figura 6: Movimentação: fugir. Fonte: (LIMA, 2012).

Apesar da aparente simplicidade, cada fantasma tem sua própria

“personalidade” ao evadir, controlada por um algoritmo modelado por uma máquina

12

de estados particular, que leva em conta a posição do usuário, o nível do jogo, a

posição dos demais fantasmas, dentre outras variantes.

Caçar: existem quatro funções de caçar; de acordo com a cor de cada

fantasma, o algoritmo age de forma diferente.

• BLINCK : movimenta-se de acordo com a posição do Pac-Man,

seguindo-o, como demonstra a figura 7.

Figura 7: Movimentação do fantasma Blinky. Fonte: (LIMA, 2012).

• PINK: movimenta-se mirando quatro pontos à frente do Pac-Man

tentando, assim, prever seu caminho, como demonstra a figura 8.

13

Figura 8: Movimentação: prevendo movimentação do Pac-Man. Fonte: (LIMA, 2012).

• INKY: movimenta-se mirando uma combinação da direção e posição

do Pac-Man e do BLINCK. Esse é um código mais apurado, que está sempre mais

próximo do ator, como demonstra a figura 9.

1.

2.

Figura 9: Movimentação do fantasma Inky. Fonte: (LIMA, 2012).

14

• CLYDE: quando fica longe do Pac-Man, movimenta-se em sua direção;

quando está perto, movimenta-se em direção ao canto da tela, procurando

encurralá-lo, como demonstra a figura 10.

Figura 10: Movimentação: encurralar Pac-Man. Fonte: (LIMA, 2012).

O jogo não foi feito, aparentemente, para ter um fim. Porém, no nível 256,

o jogo entra em bug. Não são acessíveis outras fases após essa. O erro é gerado e

o sistema começa a gerar anomalias como: não entende quando o Pac-Man morre,

as esferas que alteram a função do fantasma para fugir não funcionam, metade do

mapa fica danificada, dentre outros bugs, como demonstra a figura 11. Isso sugere

uma falha na modelagem da máquina de estados que controla os níveis do jogo e/ou

em sua implementação, ou mesmo um erro intencional.

15

Figura 11: Nível 256 do Jogo Pac-Man.

Fonte (Pac-Man 2013).

6. CONCLUSÃO

A partir dos temas descritos neste artigo, percebe-se a grande importância da

IA nos jogos eletrônicos. Sem ela, seria praticamente impossível assegurar a

atenção dos usuários de games, pois os jogos seriam uma tarefa muito fácil,

previsível e repetitiva. A IA propõe técnicas de inteligência humana nos games,

tornando-os atrativos e desafiadores para seus usuários.

Com o avanço significativo da tecnologia, as técnicas de IA vêm sendo cada

vez mais aprimoradas, tornando a realidade virtual muito próxima do mundo real.

As máquinas de estados finitos é uma das técnicas de IA mais antigas, no

entanto, vem sendo utilizada, atualmente, por motivos como a rapidez e as

facilidades de modificação, facilidade de depuração, além de utilizar pouco

processamento, sendo intuitivas e flexíveis.

O estudo de caso do Pac-Man, um dos primeiros jogos a utilizar a IA,

exemplificou como as máquinas de estados finitos pode ser usada em um game.

Com o passar dos anos, novas técnicas são desenvolvidas e cada vez mais

os jogos se parecem com a realidade, sempre utilizando técnicas de inteligência

artificial.

As máquinas de estados finitos, como no exemplo do o Pac-Man,

antecessores dos atuais games, demonstraram um grande avanço para sua época.

Permitiram o avanço dos investimentos em descobertas de novas implementações e

novos gêneros de jogos.

16

Apesar de antiga, essa técnica volta a chamar atenção no mercado de games

para dispositivos móveis, um filão em pleno crescimento, em um mercado milionário,

com amplas perspectivas para o profissional da computação.

REFERÊNCIAS BIBLIOGRÁFICAS

ARTERO, Almir Olivette. Inteligência Artificial : Teoria e Pratica. Livraria da Física

- São Paulo, 2009.

BONATO, Vanderlei. Máquinas de Estados. Elementos de lógica digital II. Disponível em: < http://wiki.icmc.usp.br/images/6/60/Aula_3_-_StateMachine-SSC0110_2010.pdf >. Data de Acesso: 28/11/2013.

COPPIN, Ben. Inteligência Artificial. 1º ed. LTC. 2012 CORREA, Bruno Duarte, THIAGO, Dias Pastor. A evolução das técnicas de Inteligencia Artificial. Disponível em:<http://sbgames.org/sbgames2012/ proceedings/papers/tutoriais/tutorial-04.pdf>. Acessado em: 28/11/2013.

FERRER, Rafael. Empresa usa inteligência artificial em jogos de RH - EXAME.com. Disponível em: <http://exame.abril.com.br/tecnologia/noticias/empr esa-usa-inteligencia-artificial-em-jogos-de-rh?page=1>. Acessado em: 12/10/2013. FILHO, Glauco B.R. Aplicação de Inteligência Artificial em Jogos Eletrônicos. Disponível em: <http://fatecindaiatuba.edu.br/reverte/index.php/revista/search/advan

cedResults?subject=jogos%20eletr%C3%B4nicos>. Acessado em : 09/11/2013

GOLDSTONE, Will. Unity Game Development Essentials. Packt Publishin, 2009.

LAICHT, Glauco David. A INFLUÊNCIA DOS JOGOS ELETRÔNICOS NA INTELIGÊNCIA ARTIFICIAL. Disponível em:<http://www.ceavi.udesc.br/arquivos/ id_submenu/387/glauco_david_laicht.pdf>. Acessado em: 26/11/2013

LIMA, Edirlei Soares de. Inteligência Artificial. Disponível em : <http://edirlei.3dgb.

com.br/aulas/ia_2012_1/IA_Aula_26_Maquinas_de_Estados_Finitos.pdf>. Data de

acesso: 07/11/2013

17

Pac Man. A História do Pacman, Disponível em:

<http://www.webartigos.com/artigos/a-historia-do-pacman/46005/> Acessado em:

05/11/2013

RICARTE, Ivan L. M. Autômatos finitos. Disponível em: <http://www.dca.fee.un icamp.br/cursos/EA876/apostila/HTML/node46.html>. Data de acesso: 30/11/2013.

SANTOS, Gilliard Lopes dos. Máquinas de Estados Hierárquicas em Jogos Eletrônicos. Disponível em: <http://www2.dbd.puc-rio.br/pergamum/tesesabertas/

0220940_04_cap_02.pdf>. Data de acesso: 04/11/2013.

VIEIRA, Everton. Inteligência Artificial nos Games – Mais Aplicações | Abrindo o Jogo. Disponível em: <http://abrindoojogo.com.br/inteligencia-artificial-nos-games-

%E2%80%93-mais-aplicacoes>Acessado em: 04/11/2013

VIEIRA, Everton. Inteligência Artificial nos Games – Categorias e Aplicações ....Disponível em: < http://abrindoojogo.com.br/inteligencia-artificial-nos-games-%E2%80%93-categorias-e-aplicacao > Acessado em: 09/11/2013.

TURING, Alan M. Computing Machinery and Intelligence. Disponível em:

<http://www.jstor.org/stable/2251299>. Acesso em: 4 nov. 2014.