#code #algorithme #graphics

Wave Function Collapse est un algorithme procédural permettant notamment de générer des images ou des terrains de jeu en 2d ou 3d. L’algorithme a été inventé par https://twitter.com/exutumno et est utilisé notamment dans Townscaper d’Oskar Stålberg.

L’algorithme se base sur des tiles, qui peuvent ou non êtres mises côte à côte. Les étapes sont : 1) Créer toutes les règles entre les tiles. Ex: Tile A peut être placée à gauche de Tile B, etc. 2) Sur une grille vide, chaque case peut contenir n’importe quelle Tile. Choisir une case et la fixer sur une Tile prise au hasard. 3) Ce choix réduit les possibilités des tiles voisines : calculer toutes les consequences découlent de ce choix (on dit que la wavefunction collapse ses possibilités) 4) Recommencer en prenant la case avec le plus faible entropy (le moins de possibilités) jusqu’à ce que toutes les cases aient “collapse” (ou qu’il y ait une contraction)