Generating Lode Runner Levels With Generative Adversarial Networks (GANs)
This page presents research in Procedural Content Generation via Machine Learning done by undergraduate student Kirby Steckel as
part of Southwestern University's Summer research program
The research makes use of the MM-NEAT software package,
though neural networks are not evolved. Rather, real-valued latent vectors are evolved and sent as input to pre-trained GANs
which output Lode Runner levels. Lode Runner is a classic platform game where the player must run around and climb ladders
to collect treasure items, while avoiding enemy agents.
All GANs used in this study were trained on data from the Video Game Level Corpus.
The focus of the study is on how the training set affects the quality of the levels discovered by the Quality Diversity Evolutionary
Algorithm MAP-Elites (Multidimensional Archive of Phenotypic Elites).
The primary focus is on the size of the training set, but one training set also contained a stylistically interesting subset of
levels, namely those with obstacles laid out to look like English words.
Different approaches are analysed in terms of how many phenotypically diverse levels they produce, and how many of those levels are beatable.
Levels are only kept in the MAP-Elites archive if they are unique in terms of several dimensions of variation: percentage of ground tiles,
number of treasure chests, and number of enemies.
Here is a video presentation that Kirby did for students and faculty at the Math/CS department's weekly lecture series.
Here is the 5-minute presentation submitted for the poster session at the virtual 2021 Genetic and Evolutionary Computation Conference.
On 5 Levels
The GAN used to evolve these levels was only trained on the first 5 levels of the game.
On 20 Levels
The GAN used to evolve these levels was only trained on the first 20 levels of the game.
On 50 Levels
The GAN used to evolve these levels was only trained on the first 50 levels of the game.
On 100 Levels
The GAN used to evolve these levels was only trained on the first 100 levels of the game.
On 150 Levels
The GAN used to evolve these levels was trained on all 150 levels of the game.
The GAN used to evolve these levels was trained on the subset of levels where clearly visible words appear in the level.