Vous êtes sur la page 1sur 5

Busca Estocstica Baseada em Planejamento para Maximizar

Metas em Jogos de RTS


Autor:Thiago Frana Naves1 ,
Orientador: Carlos Roberto Lopes1
1

Programa de Ps-Graduao em Cincia da Computao


Universidade Federal do Uberlndia (UFU)
Uberlndia MG Brasil
tfnaves@mestrado.ufu.br, crlopes@facom.ufu.br

Nvel: Mestrado
Ano de ingresso no programa: 2010
poca esperada de concluso: Abril / 2012
Etapa concluda: Defesa da proposta de dissertao
Resumo. Planejamento voltado para produo de recursos em jogos de estratgia
em tempo real (RTS Games) apresenta uma grande quantidade de desafios, tais como
restries temporais, efeitos numricos e satisfao de pr-condies para execuo
de aes, caractersticas tpicas do domnio e importante objeto de estudo para a
rea de pesquisa. Um jogo de RTS pode ser dividido em duas partes, a primeira
onde o jogador procura reunir o mximo de recursos possveis a fim de alcanar
um estado em que esses estejam maximizados, e a segunda onde ele utiliza desses
recursos para combater o seu oponente. Com isso, a primeira parte do jogo torna-se
de vital importncia para o sucesso do jogador e o foco deste trabalho, que tem por
objetivo ir alm do desenvolvimento de um planejador de aes entre um estado inicial
e um estado final pr-estabelecidos, e sim buscar qual o melhor estado objetivo a ser
alcanado baseado nas propriedades do domnio. Para tais tarefas, ser utilizado o
algoritmo Simulated Annealing junto com dois planejadores desenvolvidos para este
trabalho.
Palavras-Chave. Jogo RTS, recursos, planejamento, busca.

1. Introduo e Motivao
Jogos de estratgia em tempo real, popularmente conhecidos como RTS (Real Time Strategy)
so uma das categorias de jogos mais famosas e cultuadas no mundo, lanamentos recentes
como Starcraft II e World of Warcraft so exemplos dessa categoria. Esses jogos so caracterizados por possurem duas fases distintas, a primeira onde o jogador deve reunir e construir
o mximo de recursos possveis e a seguinte com o uso dos recursos adquiridos em combates
contra outros inimigos ou jogadores.
A primeira fase caracterizada por desafios como: Reunir o mximo de recursos no
menor tempo o possvel, gerenciar as pr-condies de cada recurso antes e depois de sua
construo e conseguir elevar ao mximo a fora do exrcito que est sendo desenvolvido.
Durante essa fase o jogador precisa usar toda a sua habilidade e rapidez e o foco dessa pesquisa
nesta, no considerando a etapa de batalha contra os inimigos.
Recursos em jogos de RTS so todos os tipos de materiais, construes, bases militares
e soldados [Buro and Furtak 2003]. Para alcanar um determinado conjunto de recursos preciso seguir uma srie de aes que levam de um estado inicial a um estado final de recursos
desejados. Podemos identificar dois tipos claros de aes, as que coletam e renem recursos
tais como, mineral, gs ou madeira e as que consomem esses recursos quando so construdas,
como barracas, fbricas ou bases militares.
Para conseguir sucesso na coleta e desenvolvimento de recursos, so desenvolvidos
planejadores que estabelecem um conjunto de aes necessrias para sair de um determinado
estado dentro do jogo e chegar at outro com um nmero maior de recursos. Para que esse plano
seja executado o mais rpido o possvel, preciso diminuir o tempo dele atravs do escalonamento das aes para que essas possam ser realizadas em paralelo. Esse ganho de performance
alcanado atravs da reduo do makespan do plano, um das metas comuns a serem alcanadas
em pesquisas como essa.
Este trabalho tem como um dos objetivos a reduo do makespan . Para a gerao dos
planos que contm as aes a serem executadas so utilizados dois planejadores, o primeiro que
busca obter um plano sequencial linear e outro que utiliza o princpio de plano e ordem parcial
e gera um conjunto de aes j escalonadas. Esse ltimo planejador foi desenvolvido especialmente para esta pesquisa e possui diversas tcnicas que buscam obter o melhor escalonamento
para o domnio em questo. Os dois planejadores sero melhor descritos mais adiante na seo
3.
O foco deste trabalho a busca pelo melhor conjunto de aes possveis, que representam o estado objetivo a ser alcanado por um planejador de aes. Esse estado objetivo um
conjunto de aes que maximize a fora do plano e diminua o tempo de execuo deste, dessa
forma ao invs de pr-estabelecer esse sem critrio como feito na maioria dos trabalhos, feita
uma busca por qual o melhor estado objetivo a se chegar. Para isso, utilizado o algoritmo de
meta-heurstica Simulated Annealing, que recebe o plano de aes e busca atravs de operaes
sobre esse obter um novo conjunto de aes que maximize a fora desse exrcito e tambm
diminua o seu makespan.
A pesquisa motivadora, uma vez que no existem muitos trabalhos ou referncias
que utilizam a abordagem de busca pelo melhor objetivo ou estado final a ser alcanado em um
planejamento de aes. Esse trabalho inspirado nos resultados encontrados em [Fayard 2005],
[Chan et al. 2008], [Chan et al. 2007] e [Branquinho et al. 2011] e tem como objetivo compreender o uso de planejamento em jogos RTS e desenvolver planejadores que possam obter
resultados melhores que os destes.

2. Trabalhos Relacionados
A pesquisa foi motivada inicialmente pelo trabalho [Fayard 2005], onde o autor busca estabelecer uma maneira de avaliar se diferentes classes dentro de um mesmo jogo possuem seus
respectivos recursos balanceados em termos de custo e ganho para o jogador. Para tal, ele
prope o uso do Simulated Annealing [Kirkpatrick et al. 1983] para encontrar o melhor conjunto de aes a serem alcanadas dado um conjunto de condies, entre essas est o tempo
mximo que o plano final pode obter, alm disso, o algoritmo trabalha com a funo objetivo
voltada para maximizar a fora de ataque do plano final.
Com a abordagem de [Fayard 2005], foi possvel vislumbrar uma forma de preencher
uma lacuna encontrada em grande parte das abordagens sobre planejamento para Jogos RTS,
pois essas buscam formas de obter planos entre estados iniciais e finais, mas no exploram qual
seria o melhor estado final a ser alcanado dado um determinado momento do jogo e os recursos
disponveis nesse.
Para completar a pesquisa os trabalhos de [Chan et al. 2008] e [Branquinho et al. 2011]
deram as premissas necessrias para o desenvolvimento dos algoritmos que completam a
pesquisa. As duas abordagens buscam desenvolver um planejador que estabelea um plano
de aes dado dois estados um inicial e outro final, esse plano ento submetido a outro algoritmo que fica encarregado de escalonar as aes a fim de encontrar o menor tempo de execuo
possvel para ele.
Com os trabalhos relatados anteriormente, foi possvel estabelecer o corpo desta
pesquisa. As abordagens de [Chan et al. 2008] e [Branquinho et al. 2011] esto sendo usadas
para inspirar a construo dos planejadores utilizados, que tem a funo de estabelecer o conjunto de aes a serem executadas dado um limite mximo de tempo, alm de trazer essas aes
j escalonadas. J a abordagem de [Fayard 2005] traz a ideia de aplicar uma meta-heurstica a
fim de buscar maximizar algumas caractersticas desse plano obtido, tendo ao fim um resultado
final timo em termos de fora e tempo de execuo do conjunto de aes, representando o
melhor plano objetivo.

3. Contribuio do Trabalho
Diante dos desafios que envolvem o planejamento em jogos de RTS tais como: obteno de um
plano de aes, escalonamento e principalmente a busca por melhorias no plano j estabelecido
atravs da insero e remoo de novas aes, as contribuies do trabalho buscam atingir todos
esses segmentos de tarefas. As contribuies so:
Desenvolvimento de um planejador sequencial linear.
Desenvolvimento de um planejador de ordem parcial, que escalona as aes baseado
nas restries do domnio de jogos de RTS.
Desenvolvimento de um algoritmo de verificao que avalia a consistncia de um plano
de aes a cada vez que esse sofre uma operao do S.A.
Anlise das possiblidades de representao e ordem das aes do plano para um melhor
escalonamento
Unio de duas abordagens diferentes de planejamento para a otimizao deste em
domnios com restrio de tempo, pr-condies e maximizao de funo objetivo.

4. Metodologia e Estado da Pesquisa


Para alcanar os objetivos desta pesquisa primeiramente foi feito um estudo sobre os principais
trabalhos de planejamento em jogos de RTS, para atravs destes obter a configurao atual das

pesquisas nesta rea afim de encontrar possveis espaos para contribuio. Em seguida, iniciamos a busca por algum tipo de simulador ou jogo de RTS que pudesse servir como ferramenta
de testes prticos para os resultados que seriam obtidos durante os experimentos.
Dentre os modos de jogos e ferramentas de simulao pesquisadas, a que melhor atendeu
as necessidades desta pesquisa foi a API chamada Bwapi (Broodwar API) [Bwapi 2011], com
ela possvel introduzir algoritmos dentro do jogo Starcraft e dessa forma gerenciar e controlar
o ambiente do jogo. A escolha da BWAPI est fortemente ligada ao fato da sua integrao com
o Starcraft, pois esse considerado um dos jogos de RTS mais completos e com maior nmero
de restries e pr-condies entre seus recursos, validando ainda mais os resultados obtidos no
decorrer do trabalho.
Dentre os algoritmos propostos para o trabalho o primeiro a ser desenvolvido foi o
planejador sequencial linear, que responsvel por encontrar um plano linear de aes dado
um determinado tempo limite. O plano gerado foi usado junto com o S.A. a fim de obter um
conjunto de aes que aumentasse a fora de ataque desse, durante os experimentos foi notado
que o S.A. consegue em todos eles retornar um plano com fora de ataque maior que o inicial
e esse novo plano possui tambm tempo menor de execuo, proporcionando outro ganho ao
planejamento.
O segundo planejador foi desenvolvido baseado no principio de plano de ordem parcial
e tem por objetivo alm de desenvolver um plano de aes para alcanar um estado final dado
um determinado tempo, tambm o de escalonar essas aes. O escalonamento feito ao mesmo
tempo em que as aes vo sendo planejadas, e o planejador leva em conta diversas caractersticas presentes em domnios de jogos RTS para conseguir um escalonamento perto do melhor
resultado possvel, como por exemplo: Antecipar a execuo de um recurso que contribui na
obteno de mais recursos para o plano, no buscar escalonar recursos que so pr-condies de
outros em sequncia, e sim em intervalos entre outros recursos. Esse plano de aes tambm
submetido ao S.A a fim de encontrar um plano com fora de ataque maior e tempo de execuo
baixo. Nos testes feitos at o momento o algoritmo consegue encontrar planos com fora de
ataque maximizado, mas nem sempre com o tempo final menor do que o do plano inicial.

5. Cronograma do Trabalho at a Defesa


Cronograma do Trabalho at a Defesa
1.
2.
3.
4.
5.

Implementao e testes com o plano parcial escalonado e S.A;


Escrita de artigos cientficos ;
Implementaes necessrias para otimizar os algoritmos;
Testes com as implementaes desenvolvidas;
Escrita da dissertao;

Figura 1. Cronograma de atividades

Referncias
Branquinho, A., Lopes, C. R., and Naves, T. F. (2011). Developing strategies for improving
planning and scheduling of actions in rts games. 23rd IEEE International Conference on
Tools with Artificial Intelligence.
Buro, M. and Furtak, T. (2003). Rts games as test-bed for real-time research. Workshop on
Game AI, JCIS, 481-484.
Bwapi (2011). BWAPI - An API for interacting with Starcraft : Broodwar.
Chan, H., Fern, A., Ray, S., Ventura, C., and Wilson, N. (2008). Extending online planning
for resource production in real-time strategy games with search. Workshop on Planning in
Games ICAPS.
Chan, H., Fern, A., Ray, S., Wilson, N., and Ventura, C. (2007). Online planning for resource
production in real-time strategy games. In ICAPS.
Fayard, T. (2005). Using a planner to balance real time strategy video game. Workshop on
Planning in Games, ICAPS 2007.
Kirkpatrick, S., Gelatt, C. D., and Vecchi, M. P. (1983). Optimization by simulated annealing.
Science 1983.