Hierarchically Composing Level Generators for the Creation of Complex Structures

Michael Beukman, Manuel Fokam, Marcel Kruger, Guy Axelrod, Muhammad Nasir +3 more
2/3/2023
cs.AI

No official code found. Best implementation: Michael-Beukman/MCHAMR (6 stars, MIT, last commit 2023-02-06).

Abstract

Procedural content generation (PCG) is a growing field, with numerous applications in the video game industry and great potential to help create better games at a fraction of the cost of manual creation. However, much of the work in PCG is focused on generating relatively straightforward levels in simple games, as it is challenging to design an optimisable objective function for complex settings. This limits the applicability of PCG to more complex and modern titles, hindering its adoption in industry. Our work aims to address this limitation by introducing a compositional level generation method that recursively composes simple low-level generators to construct large and complex creations. This approach allows for easily-optimisable objectives and the ability to design a complex structure in an interpretable way by referencing lower-level components. We empirically demonstrate that our method outperforms a non-compositional baseline by more accurately satisfying a designer's functional requirements in several tasks. Finally, we provide a qualitative showcase (in Minecraft) illustrating the large and complex, but still coherent, structures that were generated using simple base generators.

View on arXivView PDF

Code Implementations(1)

MIT

Generating Large and Complex Levels by Composing Simple Level Generators (IEEE Transactions on Games): https://arxiv.org/abs/2302.01561

61Shell, Python3 years agoMIT

Similar Papers

Cite this paper

@article{beukman2023hierarchically,
  title  = {Hierarchically Composing Level Generators for the Creation of Complex Structures},
  author = {Michael Beukman and Manuel Fokam and Marcel Kruger and Guy Axelrod and Muhammad Nasir and Branden Ingram and Benjamin Rosman and Steven James},
  year   = {2023},
  eprint = {2302.01561},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2302.01561v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2302.01561.svg)](https://codeofpaper.com/paper/2302.01561)

Discussion