Punch Out Model Synthesis: A Stochastic Algorithm for Constraint Based Tiling Generation
Zzyv Zzyzek
TL;DR
Punch Out Model Synthesis (POMS) addresses Constraint Based Tiling Generation by employing a stochastic grid-level approach that progressively realizes sub-blocks and uses erosion-based backtracking to resolve indeterminate regions. By leveraging Tile Arc Consistent Correlation Length (TACCL) as a pre-processing heuristic and a Breakout Model Synthesis (BMS) block solver, POMS scales to large grids while mitigating solution bias. The study analyzes five tile sets, showing that finite correlation-length constraints are tractable under appropriate block strategies, while long-range correlations pose significant challenges; boundary conditions and block-scheduling policies play a critical role. The work provides a libre reference implementation and offers practical insights into the interplay between TACCL, constraint propagation, and stochastic backtracking for CBTG beyond prior methods like MMS and WFC.
Abstract
As an artistic aid in tiled level design, Constraint Based Tiling Generation (CBTG) algorithms can help to automatically create level realizations from a set of tiles and placement constraints. Merrell's Modify in Blocks Model Synthesis (MMS) and Gumin's Wave Function Collapse (WFC) have been proposed as Constraint Based Tiling Generation (CBTG) algorithms that work well for many scenarios but have limitations in problem size, problem setup and solution biasing. We present Punch Out Model Synthesis (POMS), a Constraint Based Tiling Generation algorithm, that can handle large problem sizes, requires minimal assumptions for setup and can help mitigate solution biasing. POMS attempts to resolve indeterminate grid regions by trying to progressively realize sub-blocks, performing a stochastic boundary erosion on previously resolved regions should sub-block resolution fail. We highlight the results of running a reference implementation on different tile sets and discuss a tile correlation length, implied by the tile constraints, and its role in choosing an appropriate block size to aid POMS in successfully finding grid realizations.
