37 research outputs found

    Dynamically adjusting game-play in 2D platformers using procedural level generation

    Get PDF
    The rapid growth of the entertainment industry has presented the requirement for more efficient development of computerized games. Importantly, the diversity of audiences that participate in playing games has called for the development of new technologies that allow games to address users with differing levels of skills and preferences. This research presents a systematic study that explored the concept of dynamic difficulty using procedural level generation with interactive evolutionary computation. Additionally, the design, development and trial of computerized agents the play game levels in the place of a human player is detailed. The work presented in this thesis provides a solution to the rapid growth of the entertainment industry whilst providing a more effective means for developing computerized games

    Analysis and application of rhythm in the design of 2D platformer levels

    Get PDF
    Abstract. The video game industry has grown quickly from its humble beginnings to one of the largest entertainment industries in the world. Fuelled by the continuous advancements in technology, the quality and quantity of content in AAA video games continues to rise along with customer expectations. But with the ever-higher ambitions, the development budgets and durations rise with them, making the cycle unsustainable on the long run. Procedural content generation is a technique that has the potential of helping break the cycle. The automatic generation of game content, such as levels, could help game developers reach the desired quantity of content with a fraction of the time and money required. However, commercial applications of procedural content generation so far have been largely limited in scope and lacking in quality, with the more successful cases being found in smaller budget indie games. In this study, the possibility to use the idea of rhythm in guiding procedural level generation towards better quality was studied. Using a design science research approach, the gameplay rhythm of original Super Mario Bros. levels was extracted and used to build a rhythm-based procedural 2D platformer level generator. The nature of the generated levels was investigated by computational metrics, and the quality of them was evaluated by a series of playtests. It was found that the existing platformer levels included an extractable rhythm. The rhythm-based level generator that was built upon the found rhythm data produced levels that were closely on par with the original levels, indicating that rhythm has potential applications in informing how a procedural content generator could create more meaningful and higher quality content. Finally, this experimental approach in incorporating music theory to procedural content generation opens up many interesting new avenues for future research

    Enhancing automatic level generation for platform videogames

    Get PDF
    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

    Procedural Generation of 2D Games

    Get PDF
    Tese de mestrado, Engenharia Informática (Interação e Conhecimento) Universidade de Lisboa, Faculdade de Ciências, 2020The main objective of this project is to develop a procedural generator of levels for 2D games, with the capacity of adapting the difficulty of the levels to a player’s skill in a specific game. Thus, in order to implement a procedural generator with the previously mentioned features, we intend to combine two techniques: procedural content generation and dynamic difficulty adjustment. Procedural content generation is a technique which has the purpose of creating content for a game. The game content generated can be anything related to the video-game in question (e.g. characters, items, terrain, levels). Dynamic difficulty adjustment is the name of the technique used to make adjustments to the game’s difficulty, depending on the overall progress of a player in a particular level. The procedural content generator developed uses the idea of rhythms of a level as its basis (Smith et al., 2009). This approach consists on describing a level as a sequence of actions that must be done to successfully conclude it. Our methodology differs from the classical rhythm-based approach, because instead of a sequence of single actions we rep resent a level as a sequence of classes of actions. A class of actions is a group of actions that have the same assumed difficulty, which is defined by a mechanic description (what keys to press to perform an action). For the generation of these sequences of classes of actions, it is used a genetic algorithm whose fitness function is able to evaluate the difficulty of a sequence, which allows it to generate rhythms for diverse levels with different difficulties. After the rhythm generation process, the resulting sequences of classes of actions are going to be passed as a parameters to a geometry generator, that is going to associate each of the class of actions to a level chunk, having, in the end, a new playable level (a group of level chunks). This approach was then tested with different games to demonstrate the generator’s capacity to generalize and, to prove our definitions of difficulty, we made some tests using search algorithms and human players to make this evaluation

    Procedural content generation in a 2-D platformer

    Get PDF
    Tese de Mestrado Integrado em Engenharia Física, Faculdade de Ciências, Universidade de Lisboa, 2022Procedural content generation (PCG) is the process of automatically generating content through the use of algorithms, making it a concept that involves artificial intelligence (AI). This project suggests the construction of a Rhythm-Based Level generator with online dynamic difficulty adjustment (DDA) in a 2-D platformer, using the idea of the launchpad generator [1] as a basis. DDA is a technique that adjusts the difficulty of a game to the player’s skill. The goal of this project is to contribute to the research in this area by either adding or improving methods of generating content. To create the generator, a different approach to generate rhythms and actions is considered, where an action is defined as an input or a combination of inputs that allows the player to progress in the game, and a rhythm is viewed as a group of actions. These actions are converted into playable geometry that forms a level. An analysis of the properties of each type of action was made to ensure that the generated geometry is possible to complete and the difficulty is adequate as well as adaptable. To validate the generated levels, an artificially intelligent player (AI agent) is used to set benchmark values for the DDA method and ensure that the difficulty of each generated level is discernible. Tests with this agent are conducted to verify the quality of the generated content. The evaluation function and geometry probabilities are constantly altered to reach results that suit the agent. The tests showed the average difficulty of the levels was converging to what was considered an adequate bound value. Tests with real players are performed to validate the results of the agent’s test and to obtain different opinions regarding the quality of the generated content, and the viability of the PCG and DDA methods. The results demonstrated that the players showed interest in the concepts explored in this study. The project concludes with an analysis of the viability of these methods, the qualities of the work done, and what can be improved in the future.Este projeto veio no seguimento de outra tese com tema semelhante e teve o objetivo de implementar as melhorias propostas pela tese anterior. Para esta tese desenvolveu-se um gerador procedimental de níveis para um jogo de plataformas 2-D, em que a dificuldade dos níveis era adaptada consoante as habilidades do jogador durante o tempo de jogo. Um nível é fragmentado em múltiplos segmentos, sendo que os subsequentes elementos do nível eram formados à medida que o jogador progredia no jogo. Geração procedimental de conteúdo é o processo de gerar automaticamente conteúdo através de algoritmos. Quando aplicada a vídeo jogos, o conteúdo surge na forma de: niveis, modelos 3-D, imagens 2-D, objetos de jogo, etc. Este tipo de geração tem a vantagem de ser maioritariamente realizada por computador, reduzindo o tempo de trabalho que seria consumido a criar o respetivo conteúdo. Como o conteúdo é gerado aleatoriamente a sua qualidade está dependente das restrições colocadas no gerador, por isso a implementação deste tipo de métodos considera-se um processo complicado quando se pretende produzir bons resultados consistentemente. Como a qualidade do conteúdo gerado pode ser inconsistente, existe sempre um risco associado à sua implementação em jogos comerciais, assim este projeto pretende adicionar ou melhorar técnicas de geração procedimental de conteúdo para aumentar a viabilidade da sua execução em jogos atuais. A técnica que permite o constante ajuste da dificuldade num jogo denomina-se ajustamento dinâmico de dificuldade. Estes tipos de métodos permitem alterar a dificuldade de um jogo consoante o progresso e as habilidades demonstradas pelo jogador, com o objetivo de tornar o jogo mais apelativo. Se um jogador sentir muita facilidade durante o jogo, a contínua exposição a este conteúdo com igual grau de dificuldade pode afectar negativamente a experiência do jogador. A mesma lógica aplica-se a conteúdo que é considerado muito difícil. Para evitar estes cenários, métodos que ajustem a dificuldade tem que ser implementados corretamente. No projeto foi inicialmente realizada uma investigação de várias técnicas de geração procedimental de conteúdo e ajustamento dinâmico de dificuldade. Realizou-se uma análise dos diferentes tipos de técnicas e das suas propriedades, de forma a considerar várias metodologias que pudessem ser utilizadas no projeto. Este projeto tencionou suceder o anterior, visto que o gerador de conteúdo desenvolvido tem na sua base o conceito de ritmos. Ritmos descrevem o tipo de geometria que pode ser gerada aleatoriamente num dado nível. Um ritmo é definido como um conjunto de teclas ou ações que ao serem executadas corretamente, permitem ao jogador completar o segmento do nível que é caracterizado por um conjunto de inputs. Quando a secção constituída pelo ritmo é concluída, um novo ritmo de dificuldade adaptada é gerado. Este ciclo continua até o jogo terminar. Primeiramente para criar o gerador de conteúdo, definiu-se a metodologia utilizada para a geração de ações. Nesta secção foi definido o que é uma ação, as suas propriedades, como é que uma ação varia consoante o tipo de jogo (sendo o nosso caso um jogo de plataformas), o que se deve considerar ao gerar uma instância de ação e os principais aspetos que afetam a dificuldade de uma ação. Com esta análise foi possível averiguar uma forma viável de gerar níveis para este projeto. Concluiu-se que seria benéfico gerar geometria que proporcionasse o jogador a pressionar as teclas (inputs) que correspondiam a essa geometria, em oposição a gerar tipos de teclas que posteriormente seriam associadas a uma geometria. Foi realizada uma análise das mecânicas do jogo (limites físicos do jogo, e os eventos e interações que são possíveis de executar ao pressionar conjuntos de inputs) para determinar os tipos de geometrias que correspondem a cada ação. Este estudo possibilitou associar a cada ação um nível de dificuldade que estava, diretamente relacionado com o conjunto de inputs e a forma de os executar. Para desenvolver o método de dificuldade adaptativa foi necessário estabelecer métricas que caracterizam qualitativamente o progresso do jogador em cada ritmo. Cada parâmetro está correlacionado com o quão bem um jogador executa as ações associadas ao ritmo. Os valores obtidos em cada parâmetro permitiram avaliar a velocidade, precisão, tempo de reação e coordenação do jogador ao completar uma geometria. Cada métrica encontra-se relacionada com um peso que ajusta o impacto da variável na adaptação de dificuldade. Estas definições possibilitaram a construção de uma função de avaliação cujo valor, quantificava a qualidade da execução das ações, e consequentemente a dificuldade do ritmo seguinte. A validação do gerador foi realizada através de testes com um agente de inteligência artificial. O agente tinha a função de obter tempos de referência para o método de dificuldade adaptativa. Ponderou-se que tipo de comportamento deveria ser usado pelo agente e concluiu-se que uma árvore de decisões seria um estilo comportamento adequado devido ao tipo de conteúdo que é gerado. O agente consegue identificar uma geometria que se encontra relacionada com uma ação, e executa-a automaticamente pressionando as teclas associadas à geometria apresentada. Os testes com o agente consistiram na extração de dados usados na função de avaliação enquanto o agente jogava níveis criados pelo gerador com diversas dificuldades. Os objetivos destes testes foram, verificar se era possível distinguir a diferença na dificuldade dos níveis através das métricas utilizadas para avaliar a execução do agente, e se o agente convergia para um intervalo de dificuldade adequado. Teorizou-se que, para cumprir estes objetivos, o agente teria que obter valores superiores nas dificuldade mais baixas e valores gradualmente menores a medida que a dificuldade dos níveis aumentava. No entanto, para garantir que a função de avaliação atribuía valores adequados, nos testes iniciais não foi introduzida dificuldade adaptativa. Quando um teste terminava os resultados eram analisados e posteriormente eram executadas alterações nos pesos da função de avaliação e na probabilidade de gerar ações, com o objectivo de aperfeiçoar os resultados e a qualidade do conteúdo gerado. Nos resultados dos testes foi evidenciada uma dispersão que pode ser considerada significativa, no entanto verificou-se resultados positivos que fundamentavam os argumentos e que cumpriam os objetivos do projeto. Esta dispersão era proveniente da aleatoriedade do gerador e do comportamento do agente. Nos testes com dificuldade adaptativa, verificou-se que em média o agente obtinha mais progresso no jogo à medida que a dificuldade diminuía, ou seja obteve uma forma de distinguir os níveis de dificuldade. No que diz respeito a convergência do agente para um grau de dificuldade, o agente em média convergia para um intervalo de dificuldades de [5, 6.6] (os valores variam entre 0 e 10). Para terminar a validação testou-se o gerador com jogadores reais. Um grupo de dez jogadores com experiências diversas jogou níveis criados pelo nosso gerador com e sem ajustamento dinâmico de dificuldade. Realizou-se um quiz para obter a opinião de cada um dos jogadores sobre a qualidade da adaptação de dificuldade, e a preferência individual entre o jogo com e sem ajuste na dificuldade. Adicionalmente foi posta em questão a relevância da reutilização dos conceitos de geração procedimental de conteúdo e dificuldade adaptativa em jogos atuais. Os resultados do quiz mostraram que em geral os jogadores sentem que a adaptação foi adequada e que ambos os conceitos de geração de níveis introduzidos no gerador são interessantes para serem explorados noutros jogos. Os poucos jogadores que discordavam com a qualidade da adaptação, tendiam para valores de dificuldades baixos (entre 0 e 2). Estas opiniões derivavam da geração de ações com dificuldades ligeiramente superiores nas dificuldades mais baixas. Embora estas geometrias exigiam uma execução de inputs que era considerada mais difícil de acordo com os parâmetros estabelecidos, estas alterações vieram no âmbito de aumentar o número de geometrias possíveis em dificuldades inferiores. O projeto conclui-se com a análise dos resultados obtidos e uma discussão da viabilidade do uso das técnicas de geração procedimental de conteúdo e ajustamento dinâmico de dificuldade nos jogos comerciais. Finalmente o projeto termina mencionando algumas sugestões de inovações e reparos na abordagem utilizada

    Generation and Analysis of Content for Physics-Based Video Games

    Get PDF
    The development of artificial intelligence (AI) techniques that can assist with the creation and analysis of digital content is a broad and challenging task for researchers. This topic has been most prevalent in the field of game AI research, where games are used as a testbed for solving more complex real-world problems. One of the major issues with prior AI-assisted content creation methods for games has been a lack of direct comparability to real-world environments, particularly those with realistic physical properties to consider. Creating content for such environments typically requires physics-based reasoning, which imposes many additional complications and restrictions that must be considered. Addressing and developing methods that can deal with these physical constraints, even if they are only within simulated game environments, is an important and challenging task for AI techniques that intend to be used in real-world situations. The research presented in this thesis describes several approaches to creating and analysing levels for the physics-based puzzle game Angry Birds, which features a realistic 2D environment. This research was multidisciplinary in nature and covers a wide variety of different AI fields, leading to this thesis being presented as a compilation of published work. The central part of this thesis consists of procedurally generating levels for physics-based games similar to those in Angry Birds. This predominantly involves creating and placing stable structures made up of many smaller blocks, as well as other level elements. Multiple approaches are presented, including both fully autonomous and human-AI collaborative methodologies. In addition, several analyses of Angry Birds levels were carried out using current state-of-the-art agents. A hyper-agent was developed that uses machine learning to estimate the performance of each agent in a portfolio for an unknown level, allowing it to select the one most likely to succeed. Agent performance on levels that contain deceptive or creative properties was also investigated, allowing determination of the current strengths and weaknesses of different AI techniques. The observed variability in performance across levels for different AI techniques led to the development of an adaptive level generation system, allowing for the dynamic creation of increasingly challenging levels over time based on agent performance analysis. An additional study also investigated the theoretical complexity of Angry Birds levels from a computational perspective. While this research is predominately applied to video games with physics-based simulated environments, the challenges and problems solved by the proposed methods also have significant real-world potential and applications

    Towards automatic personalized content generation for platform games

    Get PDF
    In this paper, we show that personalized levels can be automatically generated for platform games. We build on previous work, where models were derived that predicted player experience based on features of level design and on playing styles. These models are constructed using preference learning, based on questionnaires administered to players after playing different levels. The contributions of the current paper are (1) more accurate models based on a much larger data set; (2) a mechanism for adapting level design parameters to given players and playing style; (3) evaluation of this adaptation mechanism using both algorithmic and human players. The results indicate that the adaptation mechanism effectively optimizes level design parameters for particular players.peer-reviewe

    Towards Player-Driven Procedural Content Generation

    Get PDF

    Designing Persuasively using Playful Elements

    Get PDF
    Alongside productivity and communication, computers are a valuable tool for diversion and amusement. Game Designers leverage the multifaceted world of computing to create applications that can be developed persuasively; designs can be formulated to compel users towards actions and behaviours which range from engaging in the game’s mechanics, micro-transactions, or in more complex manifestations such as encouraging reflection via the evaluation of the moral argument presented in the gameplay narrative. In my dissertation, I explore how to create compelling experiences during playful interactions. Particularly, I explore how design decisions affect users’ behaviours, and evaluations of the gaming experience to learn more about crafting persuasive mechanics in games. First, I present research on calibrating aspects of difficulty and character behaviour in the design of simple games to create more immersive experiences. My work on calibration of game difficulty, and enemy behaviour contribute insight regarding the potential of games to create engaging activities, which inspire prolonged play sessions. Further work in my dissertation explores how players interact with in-game entities they perceive as human and explores the boundaries of acceptable player interaction during co-located gaming situations. My early work gives rise to deeper questions regarding perspectives on co-players during gaming experiences. Specifically, I probe the question of how players perceive human versus computer-controlled teammates during a shared gaming experience. Additionally, I explore how game design factors in the context of a tightly-coupled shared multi-touch large display gaming experience can influence the way that people interact and, in turn, their perspectives on one another to ask: ‘how can games be used persuasively to inspire positive behaviours and social interaction?’. Issues of perspectives are a theme I carry forward in my work by exploring how game dynamics – in particular the use of territoriality – can be used to foster collaborative behaviours. Further, I discuss how my work contributes to the study of persuasive game design, games with purpose, and cement my findings in relation to the games studies and computer science literature. Last, I discuss future work, in which I discuss my ambitions for using persuasive design for social good via Games4Change
    corecore