Sei sulla pagina 1di 8

Modelando Intelig ncia Articial para jogos com o uso de e aut matos o

William de Q. Sandoval1
1

Instituto de Inform tica Universidade Federal do Rio Grande do Sul (UFRGS) a Caixa Postal 15.064 91.501-970 Porto Alegre RS Brazil
wqsandoval@inf.ufrgs.br

Abstract. Since the beginning of games history developers have been trying to create more and more realistic simulations.Efcient articial intelligence (AI) systems are fundamental do achieve higher levels of realism.Finite State Machines have been the main technique to model games AI ,mainly because of its simplicity and expression power.The goal of this paper is to discuss these techniques,possible expansions and alternatives. Resumo. Desde o inicio da historia dos jogos a busca por simulacoes cada vez mais realistas tem sido uma das grandes preocupacoes dos desenvolvedo res.Sistemas de intelig ncia articial (IA) de qualidade s o parte fundamental e a para atingir tal nvel de realismo. O uso de aut matos nitos tem sido a princi o pal das t cnicas para modelagem de IA em jogos,tanto por sua simplicidade de e criacao como pelo seu grande poder expressivo O intuito desse artigo e mos trar e discutir essas t cnicas para modelagem de IA baseados em aut matos e o nitos,possveis expans es e alternativas. o

1. Uma breve historia sobre IA para jogos


Falar de jogos e falar de interacao entre homem e maquina.Ao longo da historia dos jogos os desenvolvedores v m tentando cada vez mais atingir nveis de realismo maiores na e interacao entre jogo e jogador. O principal mecanismo de simulacao de realidade em um jogo e a Intelig ncia Articial que controla os movimentos e acoes dos personagens e no universo ccional do jogo.Portando para falar do desenvolvimento de IA em jogos e necess rio conhecer sua historia e as t cnicas empregadas ao longo do tempo. a e 1.1. Os Primeiros Jogos Segundo [Kishimoto 2004] os primeiros jogos n o continham nenhum tipo de IA,com a toda a programacao sendo voltada para a jogabilidade,sem nenhuma intelig ncia no com e portamento dos personagens.Isso tornava esses jogos extremamente simpl rios e preo visveis. Exemplos desse tipo de jogo eram Pong,cuja unica acao que o computador realizava era se mover em direcao a bola lancada pelo jogador, e Spacewar,sucessos dos arcades na d cada de 70. Outra t cnica utilizada era dar aos personagens padr es de moe e o vimento pr -denidos, programados estaticamente,como em Space Invaders(Figura 1) e e Donkey Kong.

Figura 1. Space Invaders : Tipico exempo de jogo com movimentos pre-denidos

1.2. A era dourada para os aut matos o Um dos primeiros jogos a usar aut matos para modelar sua IA foi Pac-Man,o jogo usava o um maquina de estados simples para controlar a acao dos fantasmas que perseguiam ou fugiam do personagem principal dependendo do status desse.[Kishimoto 2004] Por m foi e no inicio da d cada de 1990,com o advento dos jogos RTS (Real Time Strategy), que o e desenvolvimento de IA comecou a se tornar mais complexo.[Tozour 2002]Esses jogos se caracterizam pelo seu dinamismo,com o computador administrando v rias unidades a simultaneamente em tempo real,por isso precisam de uma boa IA para serem minimamente jog veis. Atualmente ,segundo [Orkin 2006],praticamente todos os jogos utilizam a alguma forma de aut mato para modelar o comportamento dos personagens. o 1.3. O futuro Nas ultimas d cadas os desenvolvedores de jogos tem aliado novas t cnicas as j usae e a das anteriormente.Entre tais se inclui o uso de redes neurais,algoritmos gen ticos entre e outras. Por m,segundo [Nareyek 2004] essas t cnicas n o s o t o difundidas quanto a e e a a a abordagem com aut matos pois seu desenvolvimento e complicado e de difcil ajuste,j o a [Tozour 2002] aborda algumas t cnicas alternativas,bem como enumera alguns dos proe blemas em criar sistemas baseados em aprendizagem de maquina. [Orkin 2006] descreve a t cnica usada pelos desenvolvedores da Monolith Productions para planejar as acoes e dos personagens no jogo F.E.A.R. [Woodcock 1999] discute uma s rie de t cnicas altere e nativas aos aut matos na modelagem de IA,tais como sistemas baseados em regras,com o capacidade de aprendizado,algoritmos gen ticos,entre outros. e

2. Aut matos Finitos Determinsticos o


[Hopcroft et al. 2000] descreve um aut mato nito determinstico como uma quntupla o A={ Q,,,S,F } onde : A e o nome do aut mato; o Q e o conjunto dos estados que comp em o aut mato A; o o e o alfabeto dos smbolos de entrada; e a funcao que controla as transicoes entre estados dentro do aut mato,se q e um o estado de Q e a e uma palavra de smbolos do alfabeto ent o (q,a) e a funcao a que determina a transicao no estado q para a leitura do smbolo a. S e o estado inicial do aut mato A,sendo S pertencente a Q. o F e o conjunto dos estados nais do aut mato A,sendo F subconjunto de Q. o

O processamento em um aut mato nito determinstico se d pela sucessiva o a aplicacao da funcao de transicao para cada smbolo da entrada a partir do estado ini cial S.Sendo Q1 o estado atual e w o smbolo lido na ta de entrada,(Q1 ,w) determina o pr ximo estado o qual o aut mato deve assumir.Essa aplicacao sucessiva prossegue at o o e que seja atingida uma das condicoes de parada : A palavra de entrada foi lida completamente e o estado atual pertence a F,ent o a a entrada e aceita. A palavra de entrada foi lida completamente por m o estado atual n o pertence a e a F,ent o a entrada e rejeitada. a N o existe transicao possvel para o estado atual e o smbolo lido na ta,ent o a a a entrada e rejeitada. Os aut matos nitos determinsticos ,apesar de sua simplicidade possuem grande o poder de express o sendo reconhecedores das linguagens do Tipo-3 ou linguagens regua lares.

Figura 2. Um automato nito A = ({1,2,3,4},{A,B},,1,4).

3. Modelando IA com o auxilio de aut matos o


A pesquisa de IA difere muito na industria de jogos da pesquisa acad mica,de acordo e com [Nareyek 2004],devido aos objetivos divergentes de ambas.Enquanto a pesquisa de IA acad mica busca a resolucao de problemas sem limitacoes e com a maior eci ncia e e possvel, o desenvolvimento de IA para jogos busca melhorar a interacao entre jogo e jogador provendo comportamentos realsticos, e criando a ilus o de intelig ncia,como a e detalhado por [Scott 2002].Segundo [Diller et al. 2004] : Em um jogo e mais importante uma entidade parecer inteligente do que realmente ser inteligente. Os aut matos s o a principal ferramenta dos desenvolvedores para criar essa o a ilus o de intelig ncia,pois podem facilmente descrever transicoes entre os estados de a e um personagem,baseado em seu estado atual e em condicoes/eventos ocorrendo ao longo do tempo,como exemplicado em (Figura 3). Essa abordagem baseada em aut matos,apesar de simples,permite a modelagem o de comportamentos bastante complexos ainda assim de f cil especicacao. a

Figura 3. Um exemplo de transicao entre estados desencadeada por uma condicao ou evento.O encadeamento de diversas transicoes simples como essa permite modelar um grande numero de comportamentos,criando a impressao de inteligencia.

3.1. Exemplo : Modelando uma IA Simples para o jogo Pac Man O jogo Pac Man consiste de um personagem,o Pac Man,correndo por um labirinto reche ado de pontos.O objetivo do jogo e fazer o Pac Man recolher todos esses pontos enquanto e perseguido por fantasmas.Se o Pac Man e tocado por um fantasma ele e morto pelos fantasmas.Ao longo do labirinto existem plulas,as quais concedem ao Pac Man o poder de matar os fantasmas,por m essas plulas s tem efeito por um tempo limitado. e o Levando em consideracao essas regras,a gura 4 prop e um modelo de IA para o os fantasmas usando um aut mato nito determinstico. O fantasma comeca invulner vel o a perseguindo o Pac Man e assim permanece at que o Pac Man atinja uma plula.Nesse e momento o fantasma se torna vulner vel e mude seu comportamento para fugir do Pac a Man.Quando passado o efeito da plula,o fantasma volta a perseguir o Pac Man.Toda vez que o fantasma e morto ele renasce invulner vel e perseguindo o Pac Man. a

4. Extens es aos aut matos nitos determinsticos o o


Diversas extens es para o formalismo de aut matos nitos determinsticos foram proposo o ltimas d cadas.Essas extens es introduzem capacidades valiosas para a tas ao longo das u e o programacao de IA seja por modelar comportamentos mais realisticamente,por permitir maior imprevisibilidade ou por facilitar a reusabilidade de c digo. o 4.1. Aut matos probabilsticos o O conceito de transicoes probabilsticas em um aut mato ,detalhado por [Stoelinga 2002], o introduz a capacidade de uma IA reagir e diferentes maneiras a uma mesma situacao,dando a essa IA maior imprevisibilidade .Essa e uma caracterstica muito valiosa para um jogo pois permite ao jogar experimentar reacoes variadas a uma situacao,aumentando a vida util do jogo.

Figura 4. Um esquema simplicado para modelagem do comportamento dos fantasmas no jogo Pac Man.

A gura 5,demonstra um exemplo de aut mato probabilstico,um esquema simplio cado para um personagem de jogos RPG(Role Playing Game).A cada vez que o personagem avista um inimigo ele pode lutar ou fugir,essa decis o e totalmente probabilstica.A a mesma situacao se repete no caso de o personagem ser ferido em batalha,ou ele procura recuperar sua sa de ou foge da batalha.Note que nesse caso as probabilidades para cada u acao s o diferentes. a 4.2. Statecharts Um Statechart,como descrito em [Harel 1987] e uma extens o aos aut matos nitos dea o terminsticos que pode ser denido como um aut mato no qual cada estado pode pode o conter dentro de si outros estados e suas respectivas transicoes. Ao usar Statecharts para modelar a IA se obt m uma grande capacidade de reusabilidade de c digo pois permite e o construir aut mato de maneira modular,onde aut matos diferentes podem compartilhar o o partes comuns entre si sem a necessidade de duplicacao de c digo. [Orkin 2002] discute o a id ia de estados hier rquicos e sua aplicacao no desenvolvimento de IA em jogos,bem e a como [Schwab 2004] ilustra aplicacoes para sistemas hier rquicos em diversos g neros a e de jogos. A gura 6 mostra uma modelagem alternativa para o aut mato da gura 5 usando o statecharts.Nesse caso,um conjunto de estados comp em um estado maior que modela o a acao de batalha.Isso permite que esse estado seja reutilizado em outras entidades sem necessidade de duplicacao de c digo.Perceba que h uma transicao probabilstica partindo o a do estado batalha,ou seja,mesmo contendo estados e transicoes dentro de si,esse estado mant m todas as capacidades que um estado contem em um aut mato. e o

Figura 5. Um automato Probabilstico

4.3. Fuzzy State Machines Conforme [Reyneri 1997] os aut matos fuzzy,introduzem o conceito de nvel de ativacao o nos estados,ou seja,enquanto em um aut mato nito determinstico somente um estado o est ativo(nvel de ativacao igual a 1 ,enquanto os outros todos tem nvel de ativacao 0) a em um aut mato fuzzy cada estado tem um diferente nvel de ativacao(sendo a soma dos o estados de ativacao Sj =1). Essa capacidade permite simular com grande nvel de realismo comportamen tos humanos e reagir com exibilidade as mais diversas situacoes em contraste com as transicoes rgidas de um aut mato tradicional.Isso e muito valorizado em jogos onde o freq entemente o computador tem de lidar com informacoes incompletas,como jogos u RTS,e situacoes onde a grande quantidade de informacoes torna difcil a modelagem de estados e transicoes rgidos,favorecendo transicoes fuzzy.

5. Conclus es o
Este trabalho busca demonstrar o papel fundamental que o uso de aut matos exerce na o ind stria de jogos,sendo uma das principais ferramentas para modelagem de comportau mento e intelig ncia articial em jogos.Apesar de simples o formalismo de aut matos e o e extremamente poderoso,podendo modelar uma vasta gama de comportamentos com grande facilidade.Outro ponto fundamental para a compreens o deste trabalho e entender a a diferenca entre a pesquisa acad mica de intelig ncia articial e seu uso na ind stria de e e u jogos.Para um jogo e crucial criar a id ia de intelig ncia,n o necessariamente criar as ene e a tidades mais ecientes e inteligentes possveis.Sendo assim e muito vantajoso utilizar de um formalismo simples como o de aut matos,bem como as extens es discutidas por este o o trabalho.

Figura 6. Um StateChart

Refer ncias e
Diller, D. E., Ferguson, W., Leung, A. M., Benyo, B., and Foley, D. (2004). Behavior Modeling in Commercial Games. In Behavior Representation in Modeling and Simulation (BRIMS). Harel, D. (1987). Statecharts: A visual formalism for complex systems. Sci. Comput. Program., 8:231274. Hopcroft, J. E., Motwani, R., and Ullman, J. D. (2000). Introduction to Automata Theory, Languages, and Computation (2nd Edition). Addison Wesley. Kishimoto, A. (2004). Inteligencia Articial em Jogos Eletronicos. Nareyek, A. (2004). Ai in computer games. Queue, 1:5865. Orkin, J. (2002). 12 tips from the trenches from AI Game Programming Wisdom. Charles River Media. Orkin, J. (2006). Three states and a plan: The a.i. of f.e.a.r. In Proceedings of the Game Developers Conference (GDC). Reyneri, L. M. (1997). An introduction to fuzzy state automata. In in Proc. of IWANN 97, Intl Workshop on Arti cial Neural Networks, Lanzarote (E, pages 273283. Schwab, B. (2004). AI Game Engine Programming (Game Development Series) (Charles River Media Game Development). Charles River Media. Scott, B. (2002). The illusion of intelligence from AI Game Programming Wisdom. Charles River Media. Stoelinga, M. (2002). An introduction to probabilistic automata. Bulletin of the European Association for Theoretical Computer Science, 78:176198.

Tozour, P. (2002). The Evolution of Game AI from AI Game Programming Wisdom. Charles River Media. Woodcock, S. (1999). Game AI: The State of the Industry.

Potrebbero piacerti anche