Bigodeiro / SFML-WaveFunctionCollapse

Uma pequena prova de conceito para eu tentar implementar por mim mesmo o algoritmo de Wave Function Collapse em cpp usando a biblioteca SFML.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Wave Function Collpase

Explicação WFC

  • Explicação chata: Wikipedia WFC

  • Explicação legal: O intuito desse algoritimo é gerar, nesse caso, uma matriz de forma procedural, isto é, respeitando as limitações de cada célula.

Passo 1

Escolher uma célula aleatória da matriz e sortear um valor para ela pois devemos começar de algum lugar e até o momento não temos restrições

Passo 2

Atualiazar cada célula não preenchida da matriz com base nas células adjacentes à ela, modificando a lista das possíveis formas que aquela célula pode tomar, e anotando o número de diferentes formas que ela pode tomar.

Passo 3

Descobrir qual é a célula da matriz que está mais restrita, com o menor número de formas possíveis, e sortear uma forma aleatória. (Caso houver empate para a célula mais restrita, haverá sorteio)

Passo 4

Repetir 2 e 3 até que a matriz esteja cheia.

Como rodar

🚧 Quando eu descobrir te aviso 🚧

About

Uma pequena prova de conceito para eu tentar implementar por mim mesmo o algoritmo de Wave Function Collapse em cpp usando a biblioteca SFML.


Languages

Language:C++ 96.4%Language:CMake 3.6%Language:Makefile 0.0%