Planejamento E Tomada De Decisão Em Jogos De Estratégia Por Turnos
Total Page:16
File Type:pdf, Size:1020Kb
UM FRAMEWORK PARA PESQUISA DE INTELIGÊNCIA ARTIFICIAL EM JOGOS DE ESTRATÉGIA POR TURNOS ISRAEL HERINGER LISBOA DE CASTRO UM FRAMEWORK PARA PESQUISA DE INTELIGÊNCIA ARTIFICIAL EM JOGOS DE ESTRATÉGIA POR TURNOS Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação do Instituto de Ciências Exatas da Universidade Federal de Minas Gerais como requisito parcial para a obtenção do grau de Mestre em Ciência da Computação. Orientador: Luiz Chaimowicz Coorientadora: Gisele Lobo Pappa Belo Horizonte Julho de 2012 © 2012, Israel Heringer Lisboa de Castro Todos os direitos reservados Castro, Israel Heringer Lisboa de C355f Um framework para pesquisa de inteligência artificial em jogos de estratégia por turnos / Israel Heringer Lisboa de Castro. — Belo Horizonte, 2012. xxiv, 131 f. : il. col. ; 29cm Dissertação (mestrado) — Universidade Federal de Minas Gerais Orientador: Luiz Chaimowicz Coorientadora: Gisele Lobo Pappa 1. Jogos por computador – Teses. 2. Inteligência artificial – Teses. I. Título. II. Orientador. III. Coorientadora CDU 519.6*82(043) Este trabalho é dedicado a todos os jogadores que, como eu, são ávidos por experiências mais desafiadoras contra adversários controlados por Inteligência Artificial. vii viii Agradecimentos Em primeiro lugar agradeço de todo meu coração a Deus, que ao longo da minha vida tem guiado passos de forma que eu sozinho certamente não seria capaz. Agradeço a Ele que, mesmo sem eu merecer, se mantém fiel com Seu amor e misericórdia todos os dias. De forma mais do que especial, agradeço à minha querida esposa Ariana, com quem me casei durante o período de estudos do mestrado. Obrigado por me amar e apoiar nesta empreitada, além de suportar minha ausência logo no primeiro ano do nosso casamento, devido ao volume de trabalho, especialmente nos períodos finais de conclusão deste trabalho. À minha família – principalmente meus pais Marcelo e Anavera minha irmã Rebeca – que sempre me deram todo tipo de apoio que precisei em todos os momentos da minha vida, além de sempre terem me incentivado nos estudos. Provavelmente nem sei o tanto que vocês já se sacrificaram por mim para que hoje eu esteja concluindo mais esta etapa, mas de toda forma reconheço e agradeço por tudo que são na minha vida. Também agradeço muito aos meus dois orientadores, Luiz Chaimowicz e Gisele Pappa, que com sua experiência me ajudaram a conduzir o trabalho até o escopo atual – por sinal bem diferente do original – e contribuíram bastante com diversas sugestões e revisões. Obrigado pela paciência e pelas cobranças em meio a tantas mudanças e ausências durante este tempo. Agradeço a todos os meus amigos, aos quais tão pouco tempo dediquei nos últimos tempos. Finalmente poderemos voltar a sair, conversar e nos divertir. Obrigado especialmente ao pessoal da célula, que me apoiou muito com as orações durante esses últimos meses. Gostaria ainda de destacar meu obrigado ao Flávio e ao Lucas, que além de compartilhar a paixão por jogos, me ajudaram diretamente neste trabalho. Também agradeço aos meus chefes de trabalho, tanto no meu emprego atual quanto no anterior, onde estava quando comecei o curso. Obrigado pela compreensão ix ao permitirem horários de trabalhos mais flexíveis que permitiram que eu frequentasse as aulas durante o dia. Obrigado também aos meus colegas de trabalho que, especialmente nessa reta final, trabalharam ainda mais para suprir a minha ausência nos momentos em que houve o projeto demandava algum esforço extra. Ao DCC e a UFMG, pela oportunidade de realizar este curso e permitir que conduzisse um trabalho que para mim foi muito interessante e motivador. Agradeço também a todos os que participaram das avaliações relatadas neste trabalho. Vocês foram de grande ajuda ao dedicarem tempo a este projeto e apresentarem abertamente suas opiniões e sugestões. Por fim, agradeço aos criadores da série Sid Meier’s Civilization, especialmente do jogo Civilization II. Foi em meio a centenas de horas neste jogo que por volta de 15 anos atrás comecei a me interessar pela área da inteligência artificial nos jogos, o que me motivou a estudar tanto a graduação quanto o mestrado. Certamente este trabalho seria bem diferente se não fosse por essa experiência. x “Nossa abordagem para criar jogos é encontrar a diversão em primeiro lugar, e então usar a tecnologia para aumentar a diversão.” (Sid Meier) xi xii Resumo Em jogos digitais, a Inteligência Artificial (IA) é um dos elementos mais importantes para garantir o desafio e a diversão, especialmente em gêneros como os jogos de estratégia. No entanto, devido à grande complexidade dos jogos desse gênero, quase sempre o desempenho da IA é muito fraco quando comparado aos jogadores razoavelmente experientes. Nesse cenário, a necessidade de técnicas e algoritmos de IA mais robustos trazem desafios muito interessantes para as pesquisas da área. Uma grande dificuldade existente, porém, é a ausência de ferramentas adequadas para os experimentos em jogos reais, seja porque a manutenção dos códigos é muito complicada ou porque em jogos comerciais não se tem acesso a todas as modificações necessárias. Nesse contexto, propomos a criação de um framework propício à pesquisa de algoritmos de IA em jogos de estratégia por turnos (TBS) através da criação de um jogo com arquitetura especialmente planejada para a pesquisa de IA em jogos TBS de forma que futuros trabalhos na área possam ter uma ferramenta adequada aos experimentos necessários. O objetivo principal do trabalho é fornecer uma ferramenta completa para o desenvolvimento e a experimentação de IA em jogos TBS. Os principais requisitos que devem ser atendidos por esta ferramenta são (i) permitir a realização de confrontos entre diferentes agentes de IA sem a necessidade de um jogador humano, (ii) possibilitar o desenvolvimento de algoritmos de IA sem a necessidade de se escrever muito código não relacionado ao algoritmo utilizado, (iii) possuir arquitetura bem modularizada de forma que a IA esteja em módulos independentes do restante do jogo e não possa trapacear e (iv) conter um jogo TBS que contemple os principais elementos existentes em outros jogos do gênero, de forma que os experimentos realizados sejam aplicáveis em jogos reais. Após a conclusão do desenvolvimento do framework, conduzimos experimentos de avaliação com participantes de diferentes níveis de experiência, tanto em relação à xiii área de IA quanto a desenvolvimento de jogos de forma geral. De acordo com os resultados obtidos, verificamos que a ferramenta construída conseguiu alcançar os objetivos propostos e tem grande potencial na utilização em experimentos de novas técnicas e algoritmos de IA em jogos TBS. Palavras-chave: Jogos Digitais, Jogos de Estratégia por Turnos, Inteligência Artificial, Framework para Experimentos. xiv Abstract In digital games, the Artificial Intelligence (AI) is one of the most important elements to ensure both challenge and fun, especially in genres such as strategy games. However, due to the high complexity of games of this genre, the AI performance is often very weak when compared to fairly experienced players. With this scenario, the need for more robust AI techniques and algorithms bring very interesting challenges to researches in the area. However, a major difficulty faced by researchers is the lack of proper tools for conducting experiments in real games, either because the maintenance of the code is too complicated or because real commercial games do not offer the access for modifying everything needed. In this context, we propose the creation of a framework appropriate for the research on AI algorithms in Turn-Based Strategy (TBS) games by creating a game with its architecture specially designed for AI research on TBS games, in order to have a proper tool for experiments for future works. The main goal of the work is to provide a comprehensive tool for the development and experimentation of AI in TBS games. The main requirements which must be with are to (i) allow the performance of contests between different AI agents without the need for a human player, (ii) enable the development of AI algorithms with no need of writing much code not related to the algorithm itself, (iii) have a well modularized architecture so the AI is totally in independent modules from the rest of the game and is not allowed to cheat and (iv) contain a TBS game which includes the main elements present on other games of the genre, so that the experiments on it are applicable in real games. Upon completion of the development phase, we conducted evaluation experiments with participants from different experience levels, both relating to AI area and games development in general. According to the results, we found that the tool built on this work achieved the proposed objectives and has a great potential for use in experiments of new algorithms and techniques applied to TBS games. xv Keywords: Videogames, Turn-Based Strategy Games, Artificial Intelligence, Framework for Experiments. xvi Lista de figuras Figura 1.1: Tabuleiro do jogo War®, baseado no jogo norte-americano Risk. ............... 3 Figura 2.1: Captura de tela do jogo Civilization V. ................................................... 12 Figura 2.2: Arquitetura básica da IA para jogos TBS. ............................................... 14 Figura 2.3: Planejamento de rota no jogo Civilization V............................................ 17 Figura 3.1: Representação de um mapa hexagonal. ................................................... 29 Figura 3.2: Atributos dos tipos de terreno. ...............................................................