Professional Documents
Culture Documents
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.
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
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
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.
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.