Você está na página 1de 6

Mestrado em Informática e Sistemas SEMINÁRIO 1

IA e Jogos
por Paulo Ribeiro
Sumário. A evolução no domínio dos jogos de computador tem sido grande nos últimos anos, de tal forma que estes
começam a ser considerados formas de arte popular. No entanto, apesar da qualidade visual e sonora ser o principal
rosto dessa evolução, outras áreas têm ainda um longo caminho a percorrer, nomeadamente a Inteligência Artificial.
Se por um lado o sucesso de um jogo começa a ter uma forte dependência da IA, os investigadores de IA começam a
aperceber-se de que os jogos são uma importante base de testes para experimentar novas técnicas e conceitos neste
ramo da ciência computacional.
Palavras chave. Inteligência Artificial, Jogos.

Concluiremos com algumas considerações sobre o


1. Introdução possível rumo da IA e dos jogos num futuro próximo.
Enquanto a evolução dos jogos é imensamente
2. Estado Actual da IA em Jogos
orientada para as áreas gráficas e de efeitos visuais,
outras áreas evoluem a ritmos mais lentos, como é o A definição de inteligência directamente retirada de
caso da Inteligência Artifiicial. Aliás, apesar de um dicionário é a “faculdade que tem o espírito de
perante certos jogos sermos levados a pensar de que pensar, conceber, compreender; capacidade de
estamos perante uma IA altamente complexa e eficaz, resolução de novos problemas e de adaptação a novas
a verdade é que os programadores dispõem de um situações”. Esta definição descreve aquilo a que
conjunto de truques que lhes permitem criar essa poderíamos chamar inteligência humana ou
percepção nos jogadores, percepção essa que se inteligência de nível humano. Mas o que dizer da
revela muitas vezes errónea. Inteligência Artificial? Segundo o dicionário é o
“estudo da modelização de funções mentais humanas
Ao longo dos anos o problema com que se deparam
por programas de computador”. No entanto, esta
os programadores de jogos são mais ou menos
definição não pode ser considerada correcta, já que
semelhantes. Noutros tempos, os jogos mais exigentes
muita da pesquisa efectuada no campo da IA não se
do ponto de vista da IA eram os jogos de estratégia.
refere a processos biologicamente possíveis. Uma
No entanto, dado que o avanço do jogo se processava
outra definição possível poderá ser a “faculdade de
através de turnos, havia tempo que poderia ser
resolver problemas que necessitariam de inteligência,
dispensado para a IA sem que isso se tornasse
caso fossem resolvidos por humanos”. Apesar de
problemático para a evolução do jogo. No entanto,
todas as diferenças entre definições, o certo é que o
mais tarde surgiram os jogos de estratégia em tempo
objectivo da IA passa por perceber e criar entidades
real em que também a IA é processada em tempo real
inteligentes.
e tem que reagir constatemente aos movimentos do(s)
jogador(es). Aliás, actualmente quase todos os tipos No que respeita a jogos de computador, a IA tem
de jogos se processam de forma mais ou menos percorrido um longo caminho onde já quase
frenética e, a juntar a todo o processamento que é esquecemos aqueles jogos onde era possível derrotar
dedicado aos gráficos, sons, física, efeitos, a realidade um oponente recorrendo sempre à mesma estratégia.
é que muito pouco sobra para o processamento da IA. Hoje, o esforço dos programadores recai sobre a
Para contornar este problema, os programadores criação de personagens e oponentes atractivos, com
vêem-se muitas vezes a braços com decisões em que a comportamentos e reacções semelhantes às de um ser
IA acabada por ser sacrificada. Nestes casos, a humano. Um exemplo muito claro desta evolução são
solução passa por desenvolver um módulo que, apesar os jogos de corridas de carros. Os primeiros
de simples, possa iludir o utilizador final de tal forma corredores de IA limitavam-se a seguir uma linha pré-
que este pense estar perante o último grito em matéria definida na pista, com pontos de travagem e
de IA. aceleração. Raramente se desviavam dessa linha e os
acidentes nunca eram evitados. Num jogo actual, se
Neste artigo descreverei em traços gerais qual o
estivermos a jogar com oponentes humanos e de IA,
estado da Inteligência Artificial no campo dos jogos,
muitas vezes não conseguimos distinguir quem é
enumerando os diversos paradigmas que são
quem, até porque os humanos têm geralmente uma
actualmente utilizados. De seguida irei apresentar
condução mais irregular. Os condutores de IA
uma ideia que ganha cada vez mais adeptos: a de que
conseguem conduzir os seus veículos de forma
os jogos de computador são uma das melhores
realista, recorrendo a técnicas de ultrapassagem e de
plataformas para o desenvolvimento e teste de novos
abordagem à pista dignas de um profissional. É
conceitos no campo da Inteligência Artificial.
estamos apenas a falar de jogos de corridas de

Departamento de Engenharia Informática, Universidade de Coimbra 2003/2004


Mestrado em Informática e Sistemas SEMINÁRIO 1

automóveis, mas a evolução sente-se em qualquer trocam mensagens entre si, trabalhando em diferentes
outro tipo de jogo. A questão que muitas vezes nos problemas, mas com um mesmo fim. Não é incomum
colocamos é a de como é tudo isto possível? Da os agentes serem desenvolvidos com máquinas de
leitura das páginas seguintes ficará muito estados difusos, redes neuronais ou até mesmo
provavelmente a sensação de que apesar de já muito algoritmos genéticos.
se ter conseguido, o certo é que ainda estamos na fase
Durante a fase de design de um agente é necessário
inicial. Aliás, muitas das técnicas de IA utilizadas e
ter em conta se este vai ter um papel essencialmente
com utilidade reconhecida no meio académico,
reactivo ou orientado para um determinado objectivo,
científico e empresarial, começam a ser introduzidas
já que para ambientes dinâmicos onde não é
muito lentamente nos jogos de computador.
necessário ter em conta estados anteriores, como em
Nas secções seguintes iremos apresentar uma breve first-person shooters ou role-playing games. No
descrição das principais técnicas de IA utilizadas em entanto, em jogos de estratégia, os estados anteriores
jogos, e quais as suas possíveis aplicações. são de extrema importância para alcançar o objectivo
de derrotar o jogador e, neste caso, a abordagem de
desenvolvimento do agente deverá ser diferente da
Máquinas de Estados Finitos primeira.
De todas as técnicas de IA usadas actualmente em Apesar de nem sempre serem desenhados ou
jogos, as máquinas de estados finitos (FSM, do inglês desenvolvidos como tal, o certo é que os agentes
finite state machines) passam por ser as mais estão presentes na IA de quase todos os jogos da
utilizadas, não só por serem fáceis de compreender e actualidade. Começam por ser implementados como
programar, mas também porque podem ser aplicadas máquinas de estados finitos e, gradualmente começam
a quase todos os tipos de problemas. Esta técnica a dispôr das funcionalidades de um agente. No
pode ser utilizada juntamente com outras técnicas de entanto, por não terem sido arquitectados inicialmente
IA existentes, tais como redes neuronais ou lógica com a forma de agentes, surgem em formas mais
difusa, e permite separar cada comportamento complexas, mais difíceis de manter, melhorar ou
possível de uma entidade ou objecto em diferentes reutilizar. É, por isso, muito importante que um
estados lógicos. A utilização de FSM em jogos, agente seja estruturado como tal durante as fases
apesar de simples, consegue produzir resultados em iniciais de desenvolvimento da IA de um jogo.
que a inteligência é, pelo menos, aparente, ou seja,
Scripting
alcança um dos seus principais objectivos. Outra das
suas vantagens passa pela baixa utilização de recursos As linguagens de scripting são linguagens de
do CPU, pelo que facilmente se torna uma opção em programação mais ou menos complexas que
situações onde a taxa de utilização do processador permitem ter controlo sobre o motor de um jogo a
disponível para a IA é baixa. partir do exterior, ou seja, sem que esse controlo
tenha sido explicitamente incluído no código do
No entanto, a utilização de FSM pode facilmente
motor. Desta forma, é possível alterar o
revelar-se uma tarefa árdua se não forem tomadas as
comportamento ou as funcionalidades do mesmo sem
devidas precauções durante a fase de concepção e
necessidade de recompilação do jogo. Além disso, as
design, já que uma máquina de estados complexa
linguagens utilizadas são, geralmente, não só
pode ser muito problemática de manter. Não é
potentes, mas também de utilização acessível a não-
incomum existirem estados dentro de estados ou
programadores. Com as linguagens de scripting,
transições aleatórias entre estados, que contribuem
escondem-se muitos dos detalhes complexos de um
para o aumento da complexidade destas estruturas.
jogo e coloca-se ao alcance de muitos a criação de
Agentes conteúdos para esse jogo.
Os agentes implementam entidades inteligentes que Pelas razões apresentadas, as linguagens de scripting
analisam e percebem o ambiente que os rodeia, são utilizadas para os mais diversos fins, incluindo a
agindo sobre o mesmo de forma a atingirem os IA de um jogo. Aliás, existem jogos no mercado em
objectivos para os quais foram programados. Assim, que a IA foi quase ou mesmo totalmente desenvolvida
podemos incluir na categoria de agentes tanto os recorrendo a esta técnica, permitindo que mesmo os
robots como os personagens de um jogo de utilizadores/jogadores finais possam ter a
computador. possibilidade de programar a IA em diferentes
aspectos do jogo.
Os agentes revelam-se de extrema utilidade quando é
necessário modelar capacidades humanas complexas, Pelo potencial que traz aos jogos de computador,
já que permitem representar um conjunto de simplificando muitas tarefas que se poderiam revelar
características e competências consideráveis, tais mais complexas, o scripting é uma das técnicas mais
como reacções, objectivos, emoções, linguagem utilizadas actualmente.
natural, memória ou inferência.
Nos jogos de computador, os agentes são constituídos
por máquinas de estados finitos que interagem e

Departamento de Engenharia Informática, Universidade de Coimbra 2003/2004


Mestrado em Informática e Sistemas SEMINÁRIO 1

Lógica Difusa ou outro tipo de seres, como monstros ou inimigos, se


comportem de forma realista.
A lógica difusa difere da lógica boleana na medida
em que permite não apenas dois estádios, mas sim Árvores de Decisão
vários estádios intermédios. Usando um exemplo de
As árvores de decisão constituem uma técnica de IA
temperatura, na lógica boleana teríamos quente e frio.
muito utilizada em data mining como forma de
Na lógica difusa, além de quente e frio, poderemos ter
previsão de ocorrências ou ainda para encontrar
ainda muito quente, muito frio, pouco quente ou
relações em grandes quantidades de dados. A sua
pouco frio. Este tipo de lógica revela-se muito útil em
estrutura é análoga à de uma árvore biológica, já que
situações onde não é possível utilizar modelos
dispõe de uma raíz que por sua vez se vai
matemáticos simples ou em problemas não-lineares.
desdobrando em subárvores, terminando em folhas.
No entanto, sempre que a lógica boleana conseguir
resolver um dado problema, é boa prática não utilizar Apesar de serem muito úteis em processos de
a lógica difusa. classificação, a utilização de árvores de decisão em
jogos de computador restringe-se a jogos que
A utilização da lógica difusa nos jogos de computador
necessitam de alguma forma de classificação ou
começa a ter um papel importante na tomada de
predição. Como exemplo, um dado personagem de
decisões e na escolha de comportamentos, já que se
um jogo poderia utilizar uma árvore de decisão para
pode comparar a uma extensão da lógica boleana, sem
aprender quais as acções que levariam ao melhor
que a complexidade aumente consideravelmente, uma
resultado final. Utilizando os exemplos adquiridos
vez que utiliza regras e operações muito semelhantes.
durante o jogo poderia construir a árvore, que mais
Máquinas de Estados Difusos tarde utilizaria para seleccionar qual a acção mais
adequada num determinado momento. No entanto,
As máquinas de estados difusos aliam as
uma outra abordagem a este problema poderia ser a
potencialidades da lógica difusa à simplicidade das
utilização de uma árvore pré-construída, que apenas é
máquinas de estados finitos. Desta forma os estados
consultada no decorrer do jogo. Neste último caso,
passam a poder encontrar-se não só activos ou
não há aprendizagem, já que esta foi realizada
inactivos, mas também muito activos ou pouco
previamente.
activos, já que podem existir estádios intermédios.
Num ambiente de jogo as vantagens podem ser As árvores de decisão adequam-se, sobretudo, a
inúmeras, já que o determinismo diminui problemas facilmente representáveis por pares
consideravelmente. Assim, os personagens de um atributo-valor. Além disso, no que respeita a
jogo podem ter comportamentos intermédios como aprendizagem, são mais fáceis de implementar do que
pouco agressivo ou muito agressivo, incrementando o as redes neuronais, pelo que é natural que a sua
grau de interesse e de realismo do jogo. Além disso, utilização em jogos de computador seja cada vez mais
as diferenças existentes nos personagens geridos pela significativa.
IA podem diferenciar-se em maior escala cada vez
Redes Neuronais
que se joga. Pelas suas características, as máquinas de
estados difusos são muito utilizadas em situações de As redes neuronais são simulações computacionais
escolha de comportamentos para entidades de um simplificadas do funcionamento do cérebro humano.
jogo. O conhecimento é adquirido a partir do ambiente
envolvente através de um processo de aprendizagem,
Flocking
e esse mesmo conhecimento é armazenado nas redes.
O flocking é uma técnica utilizada para simular ou
A utilização das redes neuronais nos jogos de
representar de forma realista o comportamento de um
computador não é tarefa fácil, já que a procura de
grupo de entidades, geralmente seres vivos. Usando o
variáveis e elementos de input se pode revelar
exemplo de um cardume de peixes, em vez de se
complexa, tendo em conta a quantidade de
programar o comportamento de cada um dos peixes,
informação existente no mundo virtual de um jogo.
cada um deles dispõe de um conjunto de
procedimentos que lhes permitem reger-se pelo Embora as redes neuronais tenham um grande
ambiente que os rodeia, utilizando diversos factores conjunto de aplicações no mundo científico e
como as leis da física ou a posição dos outros peixes. empresarial, como memória, reconhecimento de
Isto permite-lhes manter a sua individualidade padrões, aprendizagem e predição, é interessante
intocada, diminuindo a complexidade e aumentando notar que algumas potencialidades não são totalmente
em muito o realismo. exploradas no mundo dos jogos de computador.
Exemplo disso é a aprendizagem, já que a rede poderá
Uma particularidade importante do flocking é o facto
aprender algo “estúpido”. Como se procura manter
de este não contemplar estados, já que cada entidade
um certo grau de inteligência aparente por parte dos
avalia o seu mundo de forma reactiva, em cada ciclo.
NPCs (non-player characters), a solução passa por
O flocking é uma técnica de IA muito utilizada em fazer a aprendizagem antes do lançamento do jogo,
jogos onde é necessário que um conjunto de animais para que esta possa ser aferida de acordo com as
pretensões e especificidades desse jogo.

Departamento de Engenharia Informática, Universidade de Coimbra 2003/2004


Mestrado em Informática e Sistemas SEMINÁRIO 1

Dada a grande flexibilidade e polivalência das redes 3. Os Jogos como Base de Testes para IA
neuronais, é de esperar um aumento da sua utilização
como técnica de IA em jogos. Se nos perguntarmos quais os principais
representantes do futuro da IA nos filmes de ficção
Algoritmos Genéticos científica de referência, a probabilidade de nos virem
Os algoritmos genéticos são utilizados em à cabeça o HAL (2001: Odisseia no Espaço) ou o
aprendizagem ou em processos de optimização, CP30 e o R2D2 (Star Wars) é enorme. Talvez isto
aplicando os conceitos da evolução e da selecção aconteça porque eles são, de facto, como que um
natural, onde um dado problema evolui até uma sonho concretizado, já que a distância que os separa
possível solução. É gerada uma população, onde á dos humanos é pequena em termos de sentimentos,
avaliada a capacidade de cada indivíduo dessa emoções e capacidades. Estes robots apresentam um
população para resolver o problema. O processo nível humano de inteligência. Apesar destes
evolui de forma gradual, e a tendência é que as elementos de ficção científica continuarem a ser algo
populações seguintes sejam constituídas por melhores distante da realidade actual, o certo é que poucos se
candidatos à solução do problema. A simulação aventuram nessa direcção, uma vez que a grande
continua até que seja atingido o grau desejado de maioria das aplicações da IA não requer uma
performance. inteligência de nível humano. Desenvolvem-se sim,
soluções mais específicas, que acabam por ser de
Apesar de terem uma utilização muito diversificada implementação muito mais simplificada. Porém, se
nos mais diversos ramos da ciência, são olharmos para o mundo dos jogos de computador,
exemplarmente eficazes em buscas efectuadas em verificamos que os últimos desenvolvimentos em
espaços de procura de grandes dimensões, onde os matéria de IA têm produzido personagens e oponentes
métodos tradicionais se revelam muito lentos. No que parecem comportar-se e aprender de forma
entanto, a sua utilização em jogos de computador aparentemente semelhante à dos humanos. E a
ainda não é consensual, em grande parte devido à sua tendência revela que este é o caminho a seguir, pelo
utilização intensiva de recursos. Tendo em conta que que podemos esperar que os jogos sejam cada vez
a fatia de processamento dedicada à IA num jogo não mais exigentes no que respeita à IA dos oponentes.
excede muitas vezes os 10%, facilmente verificamos Aliás, com o aumento de jogos MMORPG (Massive
que os algoritmos genéticos não são uma primeira Multiplayer Online Role Playing Game), os
opção. Embora tenham sido utilizados em diversos utilizadores estão cada vez mais habituados a lidar
jogos comerciais, não se prevê que esta seja uma com oponentes humanos com um comportamento e
tendência crescente. No entanto, tal como as redes reacções humanas, pelo que é natural que haja uma
neuronais, podem ser utilizados para aprendizagem necessidade crescentes de que esses os oponentes IA
in-house, antes do lançamento do jogo. sejam semelhantes aos seus análogos humanos.
IA Extensível
3. Conclusões
Uma prática que começa a tornar-se corrente, por
parte das empresas de desenvolvimento de jogos, é a É interessante notar que, apesar de todos os
de colocarem à disposição dos utilizadores finais, um desenvolvimentos efectuados no domínio da IA em
conjunto de ferramentas que lhes permitam fazer jogos, de forma a criar dinâmicas de jogo cada vez
alterações e modificações nos jogos (os chamados mais sólidas e realistas, é facto aceite, sobretudo nos
mods), que permitem extender consideravelmente a meios académicos, de que ainda se dão os primeiros
longevidade do seu produto, além de promoverem a passos nesta área. A juntar a este facto, deparamos
criação de grandes comunidades de jogadores com uma atitude muito conservadora e muito
dispostos a trocar estes mods entre si. protectora no que respeita a novas tecnologias por
parte dos produtores de jogos. Poucos são aqueles
Este tipo de abordagem passa não só pelos gráficos e que, com um espírito aberto, estão dispostos a mostrar
pelo som, mas também pela IA. Desta forma, os o seu trabalho e a aceitar opiniões de quem trabalha
utilizadores podem programar os seus próprios NPCs no ramo. Mas, como qualquer indústria milionária,
(non-player characters) e desenvolver a sua própria onde a competição é acérrima, a indústria dos jogos
IA. É, por isso, frequente encontrarmos este tipo de de computador não foge à regra e encerra os seus
oponentes (os chamados bots) a circular pela Internet. segredos fora do alcance, não só dos seus
Os principais métodos de IA extensível utilizados competidores, mas também daqueles que a poderiam
actualmente são ferramentas desenhadas ajudar a evoluir de uma forma diferente.
especificamente para esse fim ou as linguagens de Durante esta escalada lenta para um objectivo ainda
scripting. distante, como o da representação de uma inteligência
Dada a sua aceitação por parte dos utilizadores, é de nível humano, os progressos são suficientes para
natural que a IA extensível passe a ser parte que acreditemos que esse objectivo ainda é
integrante dum grande número de jogos. alcançável. Além disso, com a organização de
conferências internacionais sobre os jogos, onde a IA
tem um papel cada vez mais importantes, assiste-se a
uma progressiva abertura por parte das empresas que

Departamento de Engenharia Informática, Universidade de Coimbra 2003/2004


Mestrado em Informática e Sistemas SEMINÁRIO 1

desenvolvem jogos, que tem permitido ao meio


académico penetrar esse mundo tão restrito. Esta
cooperação começa a traduzir-se na aplicação de
paradigmas e técnicas de IA aos jogos que durante
muitos anos não tiveram qualquer oportunidade de
demonstrar o seu potencial.
Uma das principais razões pela qual certas técnicas
da IA ainda não têm um papel de destaque nos jogos
de computador é o facto de que estes impõem grandes
limitações à utilização dessas técnicas. Por exemplo,
os algoritmos genéticos poderiam ser bastante úteis
para os jogos, caso não fossem tão exigentes em
termos de recursos da máquina. No entanto, tal como
assistimos ao aparecimento de hardware específico
para gráficos e som, poderemos também assitir ao
aparecimento de hardware específico para o
processamento de IA. Se esse não for para já o caso, o
certo é que a tendência é para que a IA tenha cada vez
mais um papel decisivo para o sucesso dos jogos em
geral. Além disso, utilizando os jogos para
desenvolver novas técnicas, leva a que estas sejam
aperfeiçoadas não só em desempenho e performance,
mas também na qualidade e na potencialidades, pelo
que é uma área que merece sem dúvida a nossa
atenção e o nosso empenho.

Referências
1. Anderson, Eike F. (2003) Playing Smart - Artifi-
cial Intelligence in Computer Games, zfxCON03,
Raum.
2. Sidran, D. Ezra (2003) The Current State of Hu-
man-Level Artificial Intelligence in Computer
Simulations and Wargames,
http://www.gilgameshcontrite.com/Computer_AI
/.
3. Sweetser, P., Johnson, D., Sweetser, J., Wiles, J.
(2003) Creating Engaging Artificial Characters
for Games, Proceedings of the Second Interna-
tional Conference on Entertainment Computing,
Pittsburgh, PA: Carnegie Mellon University.
4. Sweetser, P. (2002) AI in Games: A Review,
unpublished.
5. Laird, John E., Lent, Michael van (2001) Human-
level AI’s Killer Application: Interactive Com-
puter Games, AI Magazine, Summer 2001.
6. Woodcock, Steven (2002) Game AI: State of the
Industry 2001-2002, Game Developer Magazine,
July 2002.

Departamento de Engenharia Informática, Universidade de Coimbra 2003/2004


Mestrado em Informática e Sistemas SEMINÁRIO 1

Ficha de Caracterização de Trabalho

Título: IA e Jogos

Resumo: A evolução no domínio dos jogos de computador tem sido grande nos últimos anos, de tal forma que
estes começam a ser considerados formas de arte popular. No entanto, apesar da qualidade visual e sonora ser o
principal rosto dessa evolução, outras áreas têm ainda um longo caminho a percorrer, nomeadamente a Inteligência
Artificial. Se por um lado o sucesso de um jogo começa a ter uma forte dependência da IA, os investigadores de IA
começam a aperceber-se de que os jogos são uma importante base de testes para experimentar novas técnicas e
conceitos neste ramo da ciência computacional.
Data: 23 Jan 2004
Esforço: aprox. 20 horas
Motivação: Continuação do trabalho sobre dinâmica em jogos e a utilização dos jogos como
base para experimentar novas técnicas de IA.
Aprendizagem: Quais as principais técnicas de IA utilizadas nos jogos de computador, além
das vantagens da utilização dos jogos para o desenvolvimento da IA e do próprio jogo.
Conteúdos e Processos: Aprendi sobretudo quais as principais aplicações das diferentes
técnicas de IA nos jogos. Fiquei com uma visão mais clara de quais as limitações de certos
paradigmas da IA neste campo e que, muitas vezes, essas limitações não são dos paradigmas
em si, mas das limitações impostas pelos próprios jogos. Poderemos assistir no futuro, ao
aparecimento de novas tecnologias que permitam tirar melhor partido de técnicas já testadas e
reconhecidas noutros domínios que não o dos jogos de computador.
Futuro: O tema do próximo trabalho vai recair sobre a escolha de novas técnicas que possam
melhorar a dinâmica dos jogos, assim como a qualidade e a novidade dos seus conteúdos.

Departamento de Engenharia Informática, Universidade de Coimbra 2003/2004

Você também pode gostar