Procedural Content Generation: From Automatically Generating Game Levels to Increasing Generality in Machine Learning

Procedural content generation (PCG) refers to the practice of generating game content, such as levels, quests or characters, algorithmically. Motivated by the need to make games replayable, as well as to reduce authoring burden and enable particular aesthetics, many PCG methods have been devised. At the same time that researchers are adapting methods from machine learning (ML) to PCG problems, the ML community has become more interested in PCG-inspired methods. One reason for this development is that ML algorithms often only work for a particular version of a particular task with particular initial parameters. In response, researchers have begun exploring randomization of problem parameters to counteract such overfitting and to allow trained policies to more easily transfer from one environment to another, such as from a simulated robot to a robot in the real world. Here we review existing work on PCG, its overlap with current efforts in ML, and promising new research directions such as procedurally generated learning environments. Although originating in games, we believe PCG algorithms are critical to creating more general machine intelligence. This review covers the history of procedural content generation (PCG) approaches for video games, and how these approaches are now used to generate training data and environments for machine learning models. The authors then discuss how PCG may be crucial for training agents which generalise well.

[1]  Jürgen Schmidhuber,et al.  Recurrent World Models Facilitate Policy Evolution , 2018, NeurIPS.

[2]  Quoc V. Le,et al.  AutoAugment: Learning Augmentation Policies from Data , 2018, ArXiv.

[3]  Samy Bengio,et al.  A Study on Overfitting in Deep Reinforcement Learning , 2018, ArXiv.

[4]  John Schulman,et al.  Gotta Learn Fast: A New Benchmark for Generalization in RL , 2018, ArXiv.

[5]  Sanja Fidler,et al.  Meta-Sim: Learning to Generate Synthetic Datasets , 2019, 2019 IEEE/CVF International Conference on Computer Vision (ICCV).

[6]  Nikolaus Hansen,et al.  Completely Derandomized Self-Adaptation in Evolution Strategies , 2001, Evolutionary Computation.

[7]  Julian Togelius,et al.  Intentional computational level design , 2019, GECCO.

[8]  Przemyslaw Prusinkiewicz,et al.  Graphical applications of L-systems , 1986 .

[9]  PerlinKen An image synthesizer , 1985 .

[10]  Jakub W. Pachocki,et al.  Learning dexterous in-hand manipulation , 2018, Int. J. Robotics Res..

[11]  Julian Togelius,et al.  Controllable procedural map generation via multiobjective evolution , 2013, Genetic Programming and Evolvable Machines.

[12]  C. Titus Brown,et al.  Evolutionary Learning in the 2D Artificial Life System "Avida" , 1994, adap-org/9405003.

[13]  Julian Togelius,et al.  Playing with Data: Procedural Generation of Adventures from Open Data , 2016, DiGRA/FDG.

[14]  Alex Pantaleev,et al.  In Search of Patterns: Disrupting RPG Classes through Procedural Content Generation , 2012, PCG@FDG.

[15]  Geoffrey E. Hinton,et al.  ImageNet classification with deep convolutional neural networks , 2012, Commun. ACM.

[16]  Antonios Liapis,et al.  A Multifaceted Surrogate Model for Search-Based Procedural Content Generation , 2019, IEEE Transactions on Games.

[17]  Varun Jampani,et al.  Training Deep Networks with Synthetic Data: Bridging the Reality Gap by Domain Randomization , 2018, 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW).

[18]  Kenneth O. Stanley,et al.  Minimal criterion coevolution: a new approach to open-ended search , 2017, GECCO.

[19]  Michael Mateas,et al.  Tanagra: Reactive Planning and Constraint Solving for Mixed-Initiative Level Design , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[20]  Jeff Clune,et al.  AI-GAs: AI-generating algorithms, an alternate paradigm for producing general artificial intelligence , 2019, ArXiv.

[21]  Michael Mateas,et al.  Towards Automated Game Design , 2007, AI*IA.

[22]  Julian Togelius,et al.  DeepMasterPrints: Generating MasterPrints for Dictionary Attacks via Latent Variable Evolution* , 2017, 2018 IEEE 9th International Conference on Biometrics Theory, Applications and Systems (BTAS).

[23]  Julian Togelius,et al.  Fully Differentiable Procedural Content Generation through Generative Playing Networks , 2020, ArXiv.

[24]  Lianlong Wu,et al.  Arena: A General Evaluation Platform and Building Toolkit for Multi-Agent Intelligence , 2019, AAAI.

[25]  Santiago Ontañón,et al.  Controllable Procedural Content Generation via Constrained Multi-Dimensional Markov Chain Sampling , 2016, IJCAI.

[26]  Julian Togelius,et al.  Deep Interactive Evolution , 2018, EvoMUSART.

[27]  Sergey Levine,et al.  (CAD)$^2$RL: Real Single-Image Flight without a Single Real Image , 2016, Robotics: Science and Systems.

[28]  Michael Mateas,et al.  Answer Set Programming for Procedural Content Generation: A Design Space Approach , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[29]  Julian Togelius,et al.  Search-Based Procedural Content Generation: A Taxonomy and Survey , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[30]  Julian Togelius,et al.  Evolving Memory Cell Structures for Sequence Learning , 2009, ICANN.

[31]  Quoc V. Le,et al.  AutoAugment: Learning Augmentation Strategies From Data , 2019, 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).

[32]  Marcin Andrychowicz,et al.  Solving Rubik's Cube with a Robot Hand , 2019, ArXiv.

[33]  Stefan Wermter,et al.  Continual Lifelong Learning with Neural Networks: A Review , 2019, Neural Networks.

[34]  Sam Devlin,et al.  MazeExplorer: A Customisable 3D Benchmark for Assessing Generalisation in Reinforcement Learning , 2019, 2019 IEEE Conference on Games (CoG).

[35]  Simon M. Lucas,et al.  Evolving mario levels in the latent space of a deep convolutional generative adversarial network , 2018, GECCO.

[36]  Simon Colton,et al.  The ANGELINA Videogame Design System—Part II , 2017, IEEE Transactions on Computational Intelligence and AI in Games.

[37]  Julian Togelius,et al.  Towards generating arcade game rules with VGDL , 2015, 2015 IEEE Conference on Computational Intelligence and Games (CIG).

[38]  William V. Wright,et al.  A Theory of Fun for Game Design , 2004 .

[39]  Matthias Bethge,et al.  ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness , 2018, ICLR.

[40]  John Schulman,et al.  Leveraging Procedural Generation to Benchmark Reinforcement Learning , 2019, ICML.

[41]  Jürgen Schmidhuber,et al.  Curious model-building control systems , 1991, [Proceedings] 1991 IEEE International Joint Conference on Neural Networks.

[42]  Julian Togelius,et al.  PCGRL: Procedural Content Generation via Reinforcement Learning , 2020, AAAI 2020.

[43]  Michael Mateas,et al.  Super Mario as a String: Platformer Level Generation Via LSTMs , 2016, DiGRA/FDG.

[44]  Gillian Smith,et al.  An Analog History of Procedural Content Generation , 2015, FDG.

[45]  Julian Togelius,et al.  An experiment in automatic game design , 2008, 2008 IEEE Symposium On Computational Intelligence and Games.

[46]  Thomas Brox,et al.  Synthesizing the preferred inputs for neurons in neural networks via deep generator networks , 2016, NIPS.

[47]  Julian Togelius,et al.  Towards automatic personalised content creation for racing games , 2007, 2007 IEEE Symposium on Computational Intelligence and Games.

[48]  Simon Colton,et al.  Multi-faceted evolution of simple arcade games , 2011, 2011 IEEE Conference on Computational Intelligence and Games (CIG'11).

[49]  Sebastian Risi,et al.  Video Game Description Language Environment for Unity Machine Learning Agents , 2019, 2019 IEEE Conference on Games (CoG).

[50]  Julian Togelius,et al.  Procedural Content Generation via Machine Learning (PCGML) , 2017, IEEE Transactions on Games.

[51]  Sebastian Risi,et al.  CG-GAN: An Interactive Evolutionary GAN-based Approach for Facial Composite Generation) , 2019, AAAI.

[52]  Julian Togelius,et al.  General Video Game AI: A Multitrack Framework for Evaluating Agents, Games, and Content Generation Algorithms , 2018, IEEE Transactions on Games.

[53]  Luis Perez,et al.  The Effectiveness of Data Augmentation in Image Classification using Deep Learning , 2017, ArXiv.

[54]  Rainer Storn,et al.  Differential Evolution – A Simple and Efficient Heuristic for global Optimization over Continuous Spaces , 1997, J. Glob. Optim..

[55]  C. Karen Liu,et al.  Policy Transfer with Strategy Optimization , 2018, ICLR.

[56]  Nathan Srebro,et al.  Equality of Opportunity in Supervised Learning , 2016, NIPS.

[57]  Julian Togelius,et al.  Procedural Content Generation through Quality Diversity , 2019, 2019 IEEE Conference on Games (CoG).

[58]  Julian Togelius,et al.  Illuminating Generalization in Deep Reinforcement Learning through Procedural Level Generation , 2018, 1806.10729.

[59]  Slobodan Ilic,et al.  DeceptionNet: Network-Driven Domain Randomization , 2019, 2019 IEEE/CVF International Conference on Computer Vision (ICCV).

[60]  Stanley T. Birchfield,et al.  Structured Domain Randomization: Bridging the Reality Gap by Context-Aware Synthetic Data , 2018, 2019 International Conference on Robotics and Automation (ICRA).

[61]  David Ha,et al.  Evolving Stable Strategies , 2017 .

[62]  Julian Togelius,et al.  A Card Game Description Language , 2013, EvoApplications.

[63]  Marc G. Bellemare,et al.  The Arcade Learning Environment: An Evaluation Platform for General Agents (Extended Abstract) , 2012, IJCAI.

[64]  Guy Lever,et al.  Human-level performance in 3D multiplayer games with population-based reinforcement learning , 2018, Science.

[65]  Julian Togelius,et al.  A multi-level level generator , 2014, 2014 IEEE Conference on Computational Intelligence and Games.

[66]  Joel Lehman,et al.  Petalz: Search-Based Procedural Content Generation for the Casual Gamer , 2016, IEEE Transactions on Computational Intelligence and AI in Games.

[67]  Pushmeet Kohli,et al.  Uncovering Surprising Behaviors in Reinforcement Learning via Worst-case Analysis , 2018 .

[68]  Murray Shanahan,et al.  The Animal-AI Environment: Training and Testing Animal-Like Artificial Cognition , 2019, ArXiv.

[69]  Antonios Liapis,et al.  Multi-Level Evolution of Shooter Levels , 2021, AIIDE.

[70]  Thomas S. Ray An evolutionary approach to synthetic biology: Zen and the art of creating life , 1993 .

[71]  Wojciech Zaremba,et al.  Domain randomization for transferring deep neural networks from simulation to the real world , 2017, 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[72]  Julian Togelius,et al.  Obstacle Tower: A Generalization Challenge in Vision, Control, and Planning , 2019, IJCAI.

[73]  Julian Togelius,et al.  Bootstrapping Conditional GANs for Video Game Level Generation , 2019, 2020 IEEE Conference on Games (CoG).

[74]  Geoffrey E. Hinton,et al.  Deep Learning , 2015, Nature.

[75]  Taehoon Kim,et al.  Quantifying Generalization in Reinforcement Learning , 2018, ICML.

[76]  Rui Wang,et al.  Paired Open-Ended Trailblazer (POET): Endlessly Generating Increasingly Complex and Diverse Learning Environments and Their Solutions , 2019, ArXiv.

[77]  Michael Mateas,et al.  Mystical Tutor: A Magic: The Gathering Design Assistant via Denoising Sequence-to-Sequence Learning , 2021, AIIDE.

[78]  Yoshua Bengio,et al.  Generative Adversarial Nets , 2014, NIPS.

[79]  Antoine Cully,et al.  Robots that can adapt like animals , 2014, Nature.

[80]  Xiaodong Cui,et al.  Data Augmentation for Deep Neural Network Acoustic Modeling , 2015, IEEE/ACM Transactions on Audio, Speech, and Language Processing.

[81]  Frank Hutter,et al.  Neural Architecture Search: A Survey , 2018, J. Mach. Learn. Res..

[82]  Juan Julián Merelo Guervós,et al.  Free Form Evolution for Angry Birds Level Generation , 2019, EvoApplications.

[83]  Ken Perlin,et al.  [Computer Graphics]: Three-Dimensional Graphics and Realism , 2022 .

[84]  Lorenzo Rosasco,et al.  Generalization Properties and Implicit Regularization for Multiple Passes SGM , 2016, ICML.

[85]  Shane Legg,et al.  Psychlab: A Psychology Laboratory for Deep Reinforcement Learning Agents , 2018, ArXiv.

[86]  Jason Weston,et al.  Generating Interactive Worlds with Text , 2019, AAAI.

[87]  Sebastian Thrun,et al.  Lifelong robot learning , 1993, Robotics Auton. Syst..

[88]  Patrice Y. Simard,et al.  Best practices for convolutional neural networks applied to visual document analysis , 2003, Seventh International Conference on Document Analysis and Recognition, 2003. Proceedings..

[89]  Sebastian Risi,et al.  Born to Learn: the Inspiration, Progress, and Future of Evolved Plastic Artificial Neural Networks , 2017, Neural Networks.

[90]  Frédéric Maire,et al.  Evolutionary Game Design , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[91]  Joel Lehman,et al.  Generative Teaching Networks: Accelerating Neural Architecture Search by Learning to Generate Synthetic Training Data , 2019, ICML.

[92]  Kenneth O. Stanley,et al.  Automatic Content Generation in the Galactic Arms Race Video Game , 2009, IEEE Transactions on Computational Intelligence and AI in Games.