Lazy Model-Synthesis

Bachlor Theses topic
by Maarten Behn


Have you heard of Wave Function Collapse?


Used in Town Scraper


https://paulmerrell.org



Original Algorithm

  1. Give every node every value
  2. Pick a node and choose one Value
  3. Check all other nodes values if they can still exist
  4. Go to 2
  5. Every node has been picked Done

Problems

  • Terrible performace
  • What about dynamic or time based rules?
  • What about user input? (Rules changing)
    • Keep marco features

Datastructure Graph

A node has a set of values

  • Stone
  • Dirt
  • Sand

Requriments for Stone:

  • Left neigbor is Stone Neigbor rule
  • max 5 Stone nodes in world Global rule
  • 30 sec passed Time rule
  • A Bolder is near Dynamic rule

My Idea

Lazily slove the problem

Every value keeps track which other value needs to be removed / added if its removed / added
Find solution with the least change