Khalifa, Ahmed
The Procedural Content Generation Benchmark: An Open-source Testbed for Generative Challenges in Games
Khalifa, Ahmed, Gallotta, Roberto, Barthet, Matthew, Liapis, Antonios, Togelius, Julian, Yannakakis, Georgios N.
This paper introduces the Procedural Content Generation Benchmark for evaluating generative algorithms on different game content creation tasks. The benchmark comes with 12 game-related problems with multiple variants on each problem. Problems vary from creating levels of different kinds to creating rule sets for simple arcade games. Each problem has its own content representation, control parameters, and evaluation metrics for quality, diversity, and controllability. This benchmark is intended as a first step towards a standardized way of comparing generative algorithms. We use the benchmark to score three baseline algorithms: a random generator, an evolution strategy, and a genetic algorithm. Results show that some problems are easier to solve than others, as well as the impact the chosen objective has on quality, diversity, and controllability of the generated artifacts.
Evolutionary Machine Learning and Games
Togelius, Julian, Khalifa, Ahmed, Earle, Sam, Green, Michael Cerny, Soros, Lisa
Evolutionary machine learning (EML) has been applied to games in multiple ways, and for multiple different purposes. Importantly, AI research in games is not only about playing games; it is also about generating game content, modeling players, and many other applications. Many of these applications pose interesting problems for EML. We will structure this chapter on EML for games based on whether evolution is used to augment machine learning (ML) or ML is used to augment evolution. For completeness, we also briefly discuss the usage of ML and evolution separately in games.
A Preliminary Study on a Conceptual Game Feature Generation and Recommendation System
Charity, M, Bhartia, Yash, Zhang, Daniel, Khalifa, Ahmed, Togelius, Julian
This paper introduces a system used to generate game feature suggestions based on a text prompt. Trained on the game descriptions of almost 60k games, it uses the word embeddings of a small GLoVe model to extract features and entities found in thematically similar games which are then passed through a generator model to generate new features for a user's prompt. We perform a short user study comparing the features generated from a fine-tuned GPT-2 model, a model using the ConceptNet, and human-authored game features. Although human suggestions won the overall majority of votes, the GPT-2 model outperformed the human suggestions in certain games. This system is part of a larger game design assistant tool that is able to collaborate with users at a conceptual level.
Lode Enhancer: Level Co-creation Through Scaling
Bhaumik, Debosmita, Togelius, Julian, Yannakakis, Georgios N., Khalifa, Ahmed
We explore AI-powered upscaling as a design assistance tool in the context of creating 2D game levels. Deep neural networks are used to upscale artificially downscaled patches of levels from the puzzle platformer game Lode Runner. The trained networks are incorporated into a web-based editor, where the user can create and edit levels at three different levels of resolution: 4x4, 8x8, and 16x16. An edit at any resolution instantly transfers to the other resolutions. As upscaling requires inventing features that might not be present at lower resolutions, we train neural networks to reproduce these features. We introduce a neural network architecture that is capable of not only learning upscaling but also giving higher priority to less frequent tiles. To investigate the potential of this tool and guide further development, we conduct a qualitative study with 3 designers to understand how they use it. Designers enjoyed co-designing with the tool, liked its underlying concept, and provided feedback for further improvement.
Lode Encoder: AI-constrained co-creativity
Bhaumik, Debosmita, Khalifa, Ahmed, Togelius, Julian
We present Lode Encoder, a gamified mixed-initiative level creation system for the classic platform-puzzle game Lode Runner. The system is built around several autoencoders which are trained on sets of Lode Runner levels. When fed with the user's design, each autoencoder produces a version of that design which is closer in style to the levels that it was trained on. The Lode Encoder interface allows the user to build and edit levels through 'painting' from the suggestions provided by the autoencoders. Crucially, in order to encourage designers to explore new possibilities, the system does not include more traditional editing tools. We report on the system design and training procedure, as well as on the evolution of the system itself and user tests.
Controllable Path of Destruction
Siper, Matthew, Earle, Sam, Jiang, Zehua, Khalifa, Ahmed, Togelius, Julian
Path of Destruction (PoD) is a self-supervised method for learning iterative generators. The core idea is to produce a training set by destroying a set of artifacts, and for each destructive step create a training instance based on the corresponding repair action. A generator trained on this dataset can then generate new artifacts by repairing from arbitrary states. The PoD method is very data-efficient in terms of original training examples and well-suited to functional artifacts composed of categorical data, such as game levels and discrete 3D structures. In this paper, we extend the Path of Destruction method to allow designer control over aspects of the generated artifacts. Controllability is introduced by adding conditional inputs to the state-action pairs that make up the repair trajectories. We test the controllable PoD method in a 2D dungeon setting, as well as in the domain of small 3D Lego cars.
Learning Controllable Content Generators
Earle, Sam, Edwards, Maria, Khalifa, Ahmed, Bontrager, Philip, Togelius, Julian
It has recently been shown that reinforcement learning can be used to train generators capable of producing high-quality game levels, with quality defined in terms of some user-specified heuristic. To ensure that these generators' output is sufficiently diverse (that is, not amounting to the reproduction of a single optimal level configuration), the generation process is constrained such that the initial seed results in some variance in the generator's output. However, this results in a loss of control over the generated content for the human user. We propose to train generators capable of producing controllably diverse output, by making them "goal-aware." To this end, we add conditional inputs representing how close a generator is to some heuristic, and also modify the reward mechanism to incorporate that value. Testing on multiple domains, we show that the resulting level generators are capable of exploring the space of possible levels in a targeted, controllable manner, producing levels of comparable quality as their goal-unaware counterparts, that are diverse along designer-specified dimensions.
Game Mechanic Alignment Theory and Discovery
Green, Michael Cerny, Khalifa, Ahmed, Bontrager, Philip, Canaan, Rodrigo, Togelius, Julian
We present a new concept called Game Mechanic Alignment theory as a way to organize game mechanics through the lens of environmental rewards and intrinsic player motivations. By disentangling player and environmental influences, mechanics may be better identified for use in an automated tutorial generation system, which could tailor tutorials for a particular playstyle or player. Within, we apply this theory to several well-known games to demonstrate how designers can benefit from it, we describe a methodology for how to estimate mechanic alignment, and we apply this methodology on multiple games in the GVGAI framework. We discuss how effectively this estimation captures intrinsic/extrinsic rewards and how our theory could be used as an alternative to critical mechanic discovery methods for tutorial generation.
Deep Learning for Procedural Content Generation
Liu, Jialin, Snodgrass, Sam, Khalifa, Ahmed, Risi, Sebastian, Yannakakis, Georgios N., Togelius, Julian
However, the computational creativity community combined with LVE can allow users to breed their own has identified that in order to get a full picture game levels, such as Zelda and Mario [104]. Based on of the generator (or creative program) the process by [36, 140], a mixed-initiative tile-based level design tool which the output content is created should be evaluated was implemented by Schrum et al. [103], which allows as well. Colton [11], Jordanous [56], Pease and human to interact with the evolution and exploration Colton [86] each propose frameworks and methodologies within latent level-design space (interface illustrated in for evaluating the creativity of the process of a generator. Figure 1), and to play the generated levels in real-time. Smith and Whitehead [116] (later expanded on by Summerville [125]) proposed methods for holistically EC methods can also collaborate with human to evaluating a content generation approach, by evaluating generate and evaluate or repair game content. Liapis large swaths of generated content to get a broader et al. [71] presented Sentient World tool which allows understanding of the generative space of a content generator interactions with human designers and generates game and its biases within that generative space.
Mixed-Initiative Level Design with RL Brush
Delarosa, Omar, Dong, Hang, Ruan, Mindy, Khalifa, Ahmed, Togelius, Julian
Procedurally generated content has been used in games Modern games often rely on procedural content generation since the early 1980s. Early PCG-enabled games like Rogue (PCG) to create large amounts of content autonomously or (Michael Toy, 1980) used PCG to expand the overall depth with limited or no human input. PCG methods are used with of the game by generating dungeons methods as well as coping many different design goals in mind, including enabling a with the hardware limitations of the day (Yannakakis and particular aesthetic. They can also be used to streamline Togelius, 2018). This section will lay out more contemporary time-intensive tasks such as modeling and designing thousands applications and methods of generating game content of unique tree assets for a forest environment.