Procedural generation of levels is being used in many video games to increase their replayability. But generated levels may often feel too random, unbalanced and lacking an overall structure.
Ma et al. (2014) proposed an algorithm to solve this problem; their method takes a set of user-dened building blocks as an input and produces layouts that all follow the structure of a specied level connectivity graph. In this paper, we present an implementation of this method in a context of 2D tile-based maps.
We enhance the algorithm with several new features and propose speed improvements. We also show that the algorithm is able to produce diverse layouts.
Benchmarks show that it can achieve up to two orders of magnitude speedup compared to the original method. As the result, it is suitable to be used during game runtime.