> Each tile has a superposition of possible states
This is like saying an uninitialized integer has a superposition of all possible values. I find it a very convoluted way of saying "each tile has a set of possible next states" - dragging quantum terms to this is just confusing, in my opinion.
The first definition of this type of procedural generation algorithm was called Model Synthesis by Paul Merrell [1] which built upon texture synthesis. You can even read Merrell's later comparison of the two algorithms [2].
[1] https://paulmerrell.org//thesis.pdf [2] https://paulmerrell.org/wp-content/uploads/2021/07/compariso...
You’re not wrong. I think I initially had higher expectations myself. But as a person who names things, I don’t really find this one to be a huge stretch.
> This is like saying an uninitialized integer has a superposition of all possible values.
Well? Yeah! And I personally like that way of thinking about sets. It maps pretty directly to my understandings of other things in math and physics.
Here's the algorithm described without the quantum nonsense:
1. Analyze Rules: Extract valid patterns (modules) and their compatibility rules (adjacency constraints) from input or define them.
2. Initialize Grid: Create an output grid where each cell initially contains all possible modules (maximum uncertainty).
3. Choose and Assign: Select the cell with the fewest valid modules remaining. Randomly assign one compatible module to it.
4. Propagate Constraints: Update neighboring cells by removing modules incompatible with the newly assigned one. If a cell loses all options, a contradiction occurs.
5. Handle Contradiction: If a contradiction arises, either backtrack to a previous choice or restart the process.
6. Repeat: Continue from step 3 until all cells are assigned a module or an unresolvable contradiction occurs.
Which is essentially how a basic sudoku solver works (which usually only has one solution, as opposed to many)
That's a very long name.