Enhancing Automatic Level Generation for Platform Videogames
Total Page:16
File Type:pdf, Size:1020Kb
Fausto José da Silva Valentim Mourato Mestre em Engenharia Informática Enhancing Automatic Level Generation for Platform Videogames Dissertação para obtenção do Grau de Doutor em Informática Orientadores: Professor Doutor Manuel Próspero dos Santos, Professor Associado, Universidade Nova de Lisboa Professor Doutor Fernando Pedro Birra, Professor Auxiliar, Universidade Nova de Lisboa Júri: Presidente: Professor Doutor José Legatheaux Martins Arguentes: Professor Doutor Rafael Bidarra Professor Doutor Rui Prada Vogais: Professor Doutor Pedro Faria Lopes Professora Doutora Teresa Romão Professor Doutor Fernando Birra Dezembro, 2015 Enhancing automatic level generation for platform videogames Copyright © Fausto José da Silva Valentim Mourato, Faculdade de Ciências e Tecnologia, Universi- dade Nova de Lisboa. A Faculdade de Ciências e Tecnologia e a Universidade Nova de Lisboa têm o direito, perpétuo e sem limites geográficos, de arquivar e publicar esta dissertação através de exemplares impressos re- produzidos em papel ou de forma digital, ou por qualquer outro meio conhecido ou que venha a ser inventado, e de a divulgar através de repositórios científicos e de admitir a sua cópia e distribuição com objectivos educacionais ou de investigação, não comerciais, desde que seja dado crédito ao autor e editor. To my wonderful daughter, Sofia! Acknowledgement I would like to thank all of those that by some means contributed to the development of this work. To begin with, my gratitude goes to my supervisors. Once more, I had the honour of having professor Manuel Próspero dos Santos as supervisor, continuing the guidance and the transmission of knowledge that started ten years ago, always making me be aware of detail and aiming for perfection. I also had the pleasure of having the supervision of professor Fernando Birra, who embraced this work with all the energy and availability, always bringing interesting insights and relevant expertise. This synergetic co-supervision surely contributed to this work come to a good end and both helped me become a better researcher and academic. My acknowledgements extend to the remaining of the thesis advisory committee, the professors Rui Prada, Teresa Romão, Nuno Correia and Joaquim Filipe. Their feedback and expert comments were relevant to direct this work at some of its important stages. I also thank all my family for the unconditional support. My wife, Filipa, did everything possible to help and was always there in the most demanding moments. Moreover, my parents and sister offered the most diverse contributions along the way. Furthermore, I thank all my friends, students and gamers around the world that played and/or di- vulged our prototypes, making our studies possible. As a final point, it is also important to mention the different funding sources involved in this disser- tation: The development of this work was partially subsided by Fundação para a Ciência e Tecnologia (Portuguese Science and Technology Foundation) within the scholarship reference SFRH/PROTEC/67497/2010. This grant was set initially under the PROTEC program, an initiative to promote PhD formation for the teaching staff of Polytechnic Institutes, in this case, Instituto Politécnico de Setúbal (Polytechnic Institute of Setúbal). The research has been enclosed by Centro de Informática e Tecnologias da Informação (Centre for Informatics and Information Technologies), which subsidised the work under the grant PEst- OE/EEI/UI0527/2011. This thesis benefited of tuition exemption in agreement to the cooperation protocol estab- lished between Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa (Faculty of Sciences and Technology, New University of Lisbon) and Instituto Politécnico de Setúbal (Polytechnic Institute of Setúbal). i Abstract This dissertation addresses the challenge of improving automatic level generation processes for plat- form videogames. As Procedural Content Generation (PCG) techniques evolved from the creation of simple elements to the construction of complete levels and scenarios, the principles behind the generation algorithms became more ambitious and complex, representing features that beforehand were only possible with human design. PCG goes beyond the search for valid geometries that can be used as levels, where multiple challenges are represented in an adequate way. It is also a search for user-centred design content and the creativity sparks of humanly created content. In order to improve the creativity capabilities of such generation algorithms, we conducted part of our research directed to the creation of new techniques using more ambitious design patterns. For this purpose, we have implemented two overall structure generation algorithms and created an addi- tional adaptation algorithm. The later can transform simple branched paths into more compelling game challenges by adding items and other elements in specific places, such as gates and levers for their activation. Such approach is suitable to avoid excessive level linearity and to represent certain design patterns with additional content richness. Moreover, content adaptation was transposed from general design domain to user-centred principles. In this particular case, we analysed success and failure patterns in action videogames and proposed a set of metrics to estimate difficulty, taking into account that each user has a different perception of that concept. This type of information serves the generation algorithms to make them more directed to the creation of personalised experiences. Furthermore, the conducted research also aimed to the integration of different techniques into a common ground. For this purpose, we have developed a general framework to represent content of platform videogames, compatible with several titles within the genre. Our algorithms run over this framework, whereby they are generic and game independent. We defined a modular architecture for the generation process, using this framework to normalise the content that is shared by multiple modules. A level editor tool was also created, which allows human level design and the testing of automatic generation algorithms. An adapted version of the editor was implemented for the semi- automatic creation of levels, in which the designer may simply define the type of content that he/she desires, in the form of quests and missions, and the system creates a corresponding level structure. This materialises our idea of bridging human high-level design patterns with lower level automated generation algorithms. Finally, we integrated the different contributions into a game prototype. This implementation allowed testing the different proposed approaches altogether, reinforcing the validity of the proposed archi- tecture and framework. It also allowed performing a more complete gameplay data retrieval in order to strengthen and validate the proposed metrics regarding difficulty perceptions. Keywords: Procedural Content Generation, Game Design Patterns, Platform Videogames, Human Factors. iii Sumário A presente dissertação visa a melhoria dos processos de geração automática de níveis para videojogos de plataformas. As técnicas de geração procedimental de conteúdo evoluíram da criação de simples elementos para a construção de cenários e níveis completos. Assim, os princípios associados aos algoritmos de geração tornaram-se mais ambiciosos e complexos, permitindo a inclusão de caracte- rísticas que anteriormente só eram alcançáveis pela criação humana. Deste modo, a geração procedi- mental vai além da pesquisa automática por geometrias válidas que podem servir de base para um nível, no qual diversos desafios estão representados de forma coerente. Trata-se também de uma pesquisa por características de design direccionadas ao utilizador, bem como por detalhes de criativi- dade que tipicamente são associados à criação humana. Com o intuito de melhorar as capacidades criativas dos algoritmos de geração, parte desta investiga- ção foi direccionada para a criação de novas técnicas onde fossem aplicados padrões de game design mais ambiciosos. Neste sentido, foram implementados dois algoritmos para geração de estruturas globais e um algoritmo adicional para adaptação de conteúdo. Este último permite a transformação de simples caminhos ramificados em estruturas mais complexas de desafios, pela adição de elementos de jogo em locais estratégicos, tais como portões e alavancas para a sua activação. Esta abordagem permite evitar a criação de níveis demasiado lineares e potencia a representação de padrões adicionais com maior dinâmica de conteúdo. Adicionalmente, a adaptação de conteúdo foi expandida do domínio geral de desenho para princípios orientados ao utilizador. Assim, foram analisados padrões de sucesso e insucesso em videojogos, a partir dos quais foi proposto um conjunto de métricas para estimativa de dificuldade, tendo em conta que se trata de uma percepção subjectiva, distinta entre os diversos jogadores. Este tipo de métrica permite aumentar a capacidade dos algoritmos de geração automática, tornando-os mais direcciona- dos à criação de experiências de jogo personalizadas. A investigação conduzida visou também a integração de diversas técnicas sobre uma plataforma co- mum. Com este objectivo, foi desenvolvida uma framework para representação do conteúdo de níveis de videojogos de plataformas. Os algoritmos de geração desenvolvidos assentam sobre esta framework, tendo uma abordagem genérica que é independente do videojogo considerado. Foi também proposta uma arquitectura modular