Interaktive Demo
Wave Function Collapse
Wave Function Collapse (WFC) ist ein constraint-basierter Algorithmus zur prozeduralen Generierung: Aus einer Menge von Kacheln und Regeln, welche Kacheln aneinandergrenzen dürfen, erzeugt er ein gültiges Raster. Dazu wählt er wiederholt die am stärksten eingeschränkte Zelle aus und gibt die Folgen an die Nachbarzellen weiter.
Tipp: Klicke auf eine der kleinen Kacheln in einer noch offenen Zelle, um diese Zelle selbst festzulegen.
Raster
Ablauf
Anzeige
Wie funktioniert Wave Function Collapse?
Jede Zelle des Rasters startet in einer „Superposition“ aller möglichen Kacheln. Der Solver legt eine Zelle fest (meist die mit der geringsten Entropie bzw. den wenigsten Optionen) und entfernt anschließend unverträgliche Optionen aus ihren Nachbarzellen. Diese Constraint-Propagation läuft weiter, bis das Raster gelöst ist oder der Solver per Backtracking zurückgeht und eine andere Wahl ausprobiert.
Quellen und Hintergrund
Diese Demo basiert auf dem Wave-Function-Collapse-Algorithmus, der durch Maxim Gumin (mxgmn) bekannt wurde (siehe WaveFunctionCollapse), und ist von Paul Merrells Arbeiten zur Modellsynthese inspiriert.