Escolar Documentos
Profissional Documentos
Cultura Documentos
Tcnicas de Inteligncia
Artificial em StarCraft
Vincius Vieira Moreira
Resumo
Esse trabalho visa apresentar uma viso geral da aplicao de tcnicas de IA (Inteligncia
Artificial) em jogos eletrnicos de estratgia em tempo real (Do ingls, Real Time Strategy - RTS),
sendo abordado mais especificamente o jogo StarCraft. Sero apresentados os desafios enfrentados no
desenvolvimento de oponentes controlados pela mquina e as tcnicas utilizadas atualmente para atacar
esses desafios. Esta monografia apresenta os principais desafios e tcnicas construo de agentes de
Inteligncia Artificial para jogos RTS (bots) e ao fim apresenta os problemas em aberto nessa rea de
pesquisa.
Sumrio
1 Introduo.........................................................................................................................1
2 Viso Geral........................................................................................................................2
2.1 Histria.......................................................................................................................2
2.2 Caractersticas e StarCraft..........................................................................................4
3 Inteligncia Artificial em jogos RTS.................................................................................4
3.1 Caractersticas do StarCraft.......................................................................................6
3.2 Ttica e Estratgia em StarCraft................................................................................8
3.3 Questes abertas para IA para jogos RTS................................................................12
4 Concluso........................................................................................................................13
Referncias Bibliogrficas....................................................................................................14
1 Introduo
Atualmente, cada vez mais os jogos eletrnicos esto se fazendo presentes no
cotidiano da populao, seja na forma de jogos para smartphones e tablets, dos tradicionais
consoles de mesa ou dos portteis. Mas alm de toda essa popularidade, os jogos tambm
so verdadeiras foras propulsoras de muitas reas de conhecimento, mas principalmente
em reas relacionadas a computao, que o artifcio que permite toda a interatividade que
faz dos jogos o que eles so na atualidade.
Este trabalho vem apresentar uma viso sobre Inteligncia Articial e em particular
sobre suas tcnicas e implementao no jogo StarCraft. O recorrentemente escolhido
como plataforma de pesquisa para tcnicas de Inteligncia Artificial devido ao seu sucesso
comercial, grande comunidade de pesquisa e at competies entre os agentes jogadores
no-humanos.
Esta monografia comea com o captulo 2 que mostra uma viso geral ao leitor. Este
captulo o far explicando a histria dos jogos eletrnicos, partindo desde o primeiro jogo
eletrnico, passando pelas primeiras tcnicas de Inteligncia Artificial a serem
implementadas nestes at o nascimento do gnero de jogos de estratgia, que foi um dos
maiores impulsos para a pesquisa de Inteligncia Artificial. No captulo 3, a monografia
tratar mais especificamente de conceitos do jogo StarCraft, tcnicas de Ttica e Estratgia
e por fim apresenta algumas das questes em aberto na pesquisa de Inteligncia Artificial
em jogos RTS. A monografia em seguida finalizada com a apresentao das concluses
deste trabalho.
2 Viso Geral
Tcnicas de Inteligncia Artificial (IA) so imprescindveis no desenvolvimento de jogos
atualmente, principalmente em jogos de estratgia. Este captulo abordar a histria da Inteligncia
Artificial em jogos eletrnicos e a sua extrema importncia em jogos de estratgia em tempo real
(Do ingls, Real Time Strategy - RTS).
2.1 Histria
Os primeiros jogos eletrnicos desenvolvidos no utilizavam tcnicas de IA, ou por serem
simples demais ou por serem projetados para dois jogadores humanos. O primeiro jogo eletrnicos que
se tem registro se chamava Tenis for Two e foi desenvolvido por William Higinbotham (Siyuan Xu,
2012) e foi conectando um osciloscpio a um computador analgico. O primeiro jogo a rodar em um
computador foi Spacewar, desenvolvido no MIT. Nenhum desses dois jogos inclua IA, seja por sua
simplicidade ou por terem sido projetados para serem jogador entre oponentes humanos.
Em meados dos anos 70 a Atari lanou o primeiro jogo de fliperama, que se chamava
Computer Space, e foi a que os primeiros game designers comearam a incorporar as primeiras
tcnicas de IA em jogos. O propsito inicial dessas IAs era dificultar a vida dos jogadores para que esses
gastassem mais e mais nas mquinas de fliperama (Siyuan Xu, 2012). Alguns jogos dessa gerao foram
Pong, Space Invaders e Donkey Kong. As primeiras tcnicas de Inteligncia Artificial a serem
incorporadas em jogos eletrnicos eram extremamente rudimentares e nem sequer se aproximavam do
comportamento humano, geralmente eram padres armazenados pre-determinados de movimentao a
serem escolhidos de maneira aleatria pela mquina, para que a movimentao fosse menos previsvel.
Pong foi um dos primeiros jogos que possua uma IA que fazia parecer para os jogadores humanos que
eles estavam enfrentando outra pessoa e o jogo creditado como um dos precursores da real Inteligncia
Artificial nos jogos eletrnicos. A maneira com que Pong foi projetado (duas raquetes de cada lado
da tela, como que simulando uma partida de Ping-Pong)
tornava impossvel o uso da antiga estratgia de IA, ou seja, padres armazenados que eram escolhidos
de maneira aleatria. Dessa vez a IA tinha que fazer decises baseadas nas aes dos jogadores
humanos, que era basicamente realizar clculos para saber a onde a raquete deveria ir para no deixar
que a bola sasse. Hoje em dia esse tipo de IA pode parecer rudimentar, mas foi a primeira vez que o
jogador pde sentir como se tivesse jogando contra um oponente tambm humano.
Em meados dos anos 80, com a chegada dos computadores pessoais, a onda de jogos de
fliperama comeou a desaparecer. Com o desenvolvimento da indstria de computadores pessoais e seu
maior poder de processamento os jogos e consequentemente suas IAs tambm comearam a se tornar
mais complexas. Ainda durante os anos 80 outros gneros emergiram rapidamente, as antigas tcnicas de
IA estavam ultrapassadas. Projetistas tinham agora que tratar o desenvolvimento de IAs muito mais
seriamente, tendo em vista que elas haviam se tornado um aspecto padro dos jogos eletrnicos.
Dentre os novos gneros que estavam tomando forma os jogos de estratgia tiveram um papel
importante no desenvolvimento de IAs, principalmente por conta da necessidade de IAs de alta
qualidade pra esse gnero de jogos e porque uma IA de qualidade contribui muito mais para a qualidade
de um jogo de estratgia em relao a jogos de outros gneros. Jogos de estratgia em tempo real (RTS)
foram introduzidos j no final dos anos 80, IAs altamente competentes e desafiadoras eram o padro
para o gnero de jogos de estratgia e foi a partir da que o projeto IA para jogos de estratgia comeou a
se formar como um campo de pesquisa em computao.
2.2 Caractersticas
Jogos de estratgia em tempo real formam um gnero especfico de jogos eletrnicos em
que o jogador precisa construir uma economia, angariando recursos e construindo uma base militar,
um certo poderio militar, treinando unidades blicas e pesquisando novas tecnologias para
aprimorar as suas unidades, com o objetivo de derrotar seu oponente, objetivo esse alcanado
atravs da destruio total ou parcial do exrcito inimigo e de sua base.
As principais diferenas de um jogo RTS para um jogo de tabuleiro tradicional, tal qual o
Xadrez so as seguintes: Eles so jogos de movimentos simultneos, ou seja, mais de um jogador
pode realizar aes ao mesmo tempo, alm disso, essas aes levam um certo tempo para serem
concretizadas. RTS so em tempo-real, o que significa que as decises tem que ser tomadas em um
tempo muito reduzido, de maneira a aumentar as chances de vitria. A maioria dos RTSs so apenas
parcialmente observveis, ou seja, nem todos os elementos do jogo esto observveis, o que torna
complicada a busca pela deciso tima. E por fim, a complexidade desses jogos, seja no tamanho do
espao de estados possveis ou seja no nmeros de aes disponveis a cada ciclo de tomada de
decises imenso.
O espao de estados no Xadrez normalmente estimado em ordens de 10^50, 10^70 no
Poker e 10^120 em Go, em StarCraft, por exemplo, um mapa comum estimado sendo de muitas
ordens de grandeza acima dos nmeros citados (Ontanon, 2013). Por esses motivos, tcnicas
comuns usadas em jogos de tabuleiro, como rvores de busca, no podem ser diretamente aplicadas
diretamente em jogos RTS. Curiosamente, jogadores humanos so capazes de lidar com a
complexidade desses jogos, por essa razo, uma mirade de tcnicas tem sido testadas para lidar
com esse domnio.
Os Terrans constituem uma raa bastante flexvel e verstil, sendo assim uma escolha
intermediria entre os Zergs e os Protoss. J a raa Zerg constituda principalmente de unidades de
baixo custo e fracas, que entretanto podem ser produzidas rapidamente, o que encoraja o jogador a
vencer seu oponente a partir de uma imensa quantidade de criaturas fracas. Por outro lado, a raa
Protoss diametralmente oposta dos Zergs, possuindo unidades de maior custo, mas que so mais
fortes e resistentes, essas caractersticas comumente fazem o jogador dessa raa optarem por
estratgias de qualidade em detrimento de um grande nmero de unidades.
A Figura 3.1 mostra uma captura de tela do jogo em que o jogador est a jogar com a raa
Terran. A fim de vencer a partida, o jogador deve reunir recursos (como minerais e gs Vespeno).
Uma vez que os recursos foram adquiridos tem-se que aloc-los para a construo de novos
edifcios (que servem basicamente para fortalecer a economia, criar e disponibilizar unidades mais
poderosas), pesquisar novas tecnologias (para a utilizao de novas hbilidades e o fortalecimento
das unidades j existentes) e para o treino (produo) de novas unidades. As unidades criadas
devem ser divididas de acordo com suas funes na partida, que so reconhecimento de terreno,
ataque e defesa. Enquanto realiza todas essas tarefas, o jogador tambm precisa entender a estrutura
do mapa em que a partida se d, para que esse possa realizar decises como onde construir novos
edificaes (elas devem se concentrar em uma rea ou expandir). Uma vez que unidades ofensivas
de dois oponentes se encontram, esses jogadores devem gerenciar as suas unidades para que essas
tenham vantagem no combate e saiam vitoriosas, o que requer aes rpidas e reativas de acordo
com as aes do oponente. Cada jogador pode controlar at 200 unidades (mais um nmero
ilimitado de edificaes), alm disso, cada raa contm entre 30 e 35 tipos de unidades distintas, a
maioria delas com uma quantidade signitificativa de hbilidades especiais.
Todos os fatores apresentados acima fazem de StarCraft um desafio significativo, onde os
jogadores humanos ainda so significantemente melhores que jogadores no-humanos. Por
exemplo, em StarCraft os jogadores so divididos em ranks que vo de E (que o menor rank
possvel) at A+ e Olmpico, que so respectivamente o segundo maior e o maior rank possveis, os
melhores jogadores no-humanos (bots) esto categorizados entre D e D+, enquanto jogadores
humanos amadores normalmente esto entre C+ e B. Para efeitos de comparao, jogadores
profissional normalmente esto ranquados entre A- e A+ (Ontanon, 2013).
De um ponto de vista terica, o espao de estados possveis e gigantesco. Por exemplo, considere
um mapa comum do jogo (que possui 128 x 128 possveis posies para as unidades). Dado
qualquer momento da partida pode-se ter entre 50 e 400 unidades no mapa, cada uma delas tendo
um estado interno complexo (como energia restante, aes sendo executadas, pontos de vida, etc).
Esse fatores levam rapidamente a um nmero imenso de estados possveis (muito maior que jogos
como Xadrez e Go, sua verso oriental). Por exemplo, considerando apenas o nmero de posies
iniciais (128 x 128 posies possveis por unidade) e 400 unidades, temos um nmero inicial de
16384^400 ou 10^1685 possibilidades (Ontanon, 2013). Se adicionarmos outros fatores do jogo,
obtemos nmeros ainda maiores. Dessa forma fica ilustrado a complexidade do jogo e,
consequentemente, da construo de bots que realizem todas essas tarefas de maneira pelo menos
satisfatria.
At ento, tcnicas baseadas em rvores de busca tem sido incapazes de lidar com toda a
complexidade estratgica de medidas com recompensa a longo prazo que permeiam as aes de
jogos RTS. Entretanto, essas tcnicas tem tido sucesso ao serem aplicadas a aspectos de menor
escala em jogos RTS, como situaes de combate entre oponentes. Para fins de aplicao dessas
tcnicas de busca, um simulador que permita que o sistema de Inteligncia Artificial avaliar os
resultados das aes possveis rapidamente com objetivo de explorar a rvore de busca (Robertson,
2014).
Entretanto, tcnicas baseadas em rvores de busca so particularmente difceis de se usar
em StarCraft devido a natureza fechada do cdigo-fonte do jogo, e consequentemente, a inabilidade
de se manipular arbitrariamente o estado do jogo. Isso significa que as mecnicas precisas das
regras do jogo so incertas e o jogo no pode ser facilmente utilizado para fazer simulaes a partir
de um estado particular.
Apesar de funcionar muito bem em simulaes, os resultados das tcnicas baseadas em rvores de
busca no se traduzem perfeitamente para o jogo, devido a simplificaes como a falta de coliso de
unidades e acelerao, o que afeta o resultado final (Churchill and Buro 2012;
Churchill, Saffidine, and Buro 2012). O Sistema foi capaz de vencer apenas 84% dos cenrios
contra o bot que j vem programado no jogo, embora a simulao indicasse 100% de chances de
vitria. A principal limitao desse mtodo se d por conta da chamada exploso combinatria de
aes possveis, ou seja, quando o nmero de unidades envolvidas em combate cresce, o nmero de
aes possveis cresce e a simulao se torna invivel quando se tem mais do que 8 unidades de
cada lada, pois essa se torna demasiadamente lenta.
Afim de se criar um sistema que pode realizar aes inteligentes de forma estratgica em um jogo
RTS, muitos pesquisadores criaram um sistema de planejamento. Esses sistemas so capazes de
determinar sequencias de aes a serem tomadas em uma situao especfica para alcanar um
determinado objetivo. Este um problema desafiador devido a natureza dos jogos RTS ser de
informao incompleta, que se traduz ao StarCraft atravs de reas do mapa que no visveis para as
unidades, alm do j conhecido imenso espao de aes possveis e a presena de vrios objetivos
simultneos que no necessariamente tem uma hierarquia.
Como os sistemas de planejamento, os pesquisadores visam tanto desenvolver um agente
jogador no-humano que jogue como um jogador humano como reduzir o esforo de
desenvolvimento requerido pelas tcnicas de desenvolvimento de scripts, que a mais comum na
indstria atualmente (Robertson, 2014). As principais tcnicas usadas na construo de sistemas de
planejamento so: Planejamento Baseado em Casos (do ingls, Case-Based Planning - CBP) e
Autonomia Orientada a Objetivos (do ingls, Goal-Driven Autonomy - GDA)
CBP uma tcnica de planejamento que atravs de situaes passadas semelhantes, extrai
solues potnciais para a atual situao. No caso do sistema CPB, as solues encontradas fazem
4 Concluso
Esse trabalho abordou temas desde a origem dos jogos digitais e as primeiras tcnicas de
Inteligncia Artificiais utilizadas no desenvolvimento destes at o nascimento de gneros como RTS
e o impacto que as tcnicas de Inteligncia Artificial tem nesse gnero de jogos.
No incio desse trabalho foram descritos os primeiros jogos eletrnicos, desde os que no
utilizavam tcnica alguma de Inteligncia Artificial, passando pela entrada tmida dessas tcnicas no
processo de desenvolvimento de jogos e, por fim, o nascimento de gneros pra computadores
pessoais que tem nessas tcnicas o centro do entretenimento e da diverso, dando principal nfase
aos jogos de estratgia em tempo real.
Depois disso, so descritas as principais caractersticas dos jogos de estratgia em tempo real,
pontuando as diferenas entre esse gnero de jogos e os jogos clssicos de tabuleiro, a diferena no
escopo do espao de possibilidades em ambos gneros de jogos.
Sendo assim, o principal intuito desse trabalho foi apresentar uma viso geral dessa rea de
pesquisa, que o desenvolvimento de agentes jogadores no-humanos sobre a plataforma de
simulao que so os jogos RTS, mais especificamente, StarCraft.
Referncias Bibliogrficas
AHA, D.; Molineaux, M.; and Ponsen, M. 2005. Learning to
win: Case-based plan selection in a real-time strategy
game. In Munoz-A vila, H., and Ricci, F., eds., CaseBased Reasoning. Research and Development, volume
3620 of Lecture Notes in Computer Science. Springer
Berlin / Heidelberg. 520.
BURO, M. 2004. Call for AI research in RTS games. In
Proceedings of the AAAI Workshop on Challenges in
Game AI, 139142.
CHURCHILL, D., and Buro, M. 2012. Incorporating search
algorithms into RTS game agents. In Proceedings of
the AIIDE Workshop on AI in Adversarial Real-Time
Games, 27. AAAI Press.
CHURCHILL, D.; Saffidine, A.; and Buro, M. 2012. Fast heuristic
search for RTS game combat scenarios. In Proceedings
of the AIIDE Conference, 112117.
DAVIS, I. L. 1999. Strategies for strategy game AI. In Proceedings
of the AAAI Spring Symposium on Artificial
Intelligence and Computer Games, 2427.
G. Tesauro, Comparison training of chess evaluation functions, in
Machines that learn to play games. Nova Science Publishers, Inc.,
2001, pp. 117130.
HERZ, J., and Macedonia, M. 2002. Computer games and
the military: Two views. Defense Horizons, Center for
Technology and National Security Policy, National Defense
University 11.
ONTANON, Santiago et al. A Survey of Real-Time Strategy Game AI Research and Competition in
StarCraft. Ieee Trans. Comput. Intell. Ai Games, [s.l.], v. 5, n. 4, p.293-311, dez. 2013. Institute of
Electrical & Electronics Engineers (IEEE). DOI: 10.1109/tciaig.2013.2286295.
MANSLOW, J. 2004. Using reinforcement learning to solve AI
control problems. In Rabin, S., ed., AI Game Programming
Wisdom, volume 2. Hingham, MA: Charles River
Media. 591601.
PALMA, R.; Sanchez-Ruiz, A.; Gomez-Martn, M.; GomezMartn, P.; and Gonzalez-Calero, P. 2011. Combining
expert knowledge and learning from demonstration in
real-time strategy games. In Ram, A., and Wiratunga,