Superpositions, Sudoku, the Wave Function Collapse algorithm.

678,649
0
Publicado 2020-07-31
In this video I explore the wave function collapse algorithm, and explain how I went about implementing it using Blender and Godot.

WFC demos on itch:
bolddunkley.itch.io/wfc-mixed
bolddunkley.itch.io/wave-function-collapse

References:
marian42.de/article/wfc/
oskarstalberg.com/game/wave/wave.html
github.com/mxgmn/WaveFunctionCollapse
robertheaton.com/2018/12/17/wavefunction-collapse-…

Me:
Patreon www.patreon.com/bolddunkley
Twitter twitter.com/bolddunkley
itch.io bolddunkley.itch.io/

Software used for this video:
(Content)
Blender 2.8 www.blender.org/
Godot 3.2 godotengine.org/
OBS obsproject.com/
Kdenlive kdenlive.org/en/

Todos los comentarios (21)
  • @morganlak4337
    Never thought about comparing it to sudoku, that's such a smart way of describing it!
  • @tonogram
    With a name like Wave Function Collapse, I was expecting some really advanced mathematics, but this is actually beautifully simple and intuitive.
  • @martinbecker2164
    This is literally the best explanation for how this algorithm works.
  • @iankaranja7765
    This is one of the most well-presented videos, on a technical subject, that I have ever watched on youtube. Great work, looking forward to more content.
  • Terrific explanation! I recently finished reading "Doors of Eden" (by Adrian Tchaikovsky), a novel in which wave function collapse influences the plot outcome significantly. I'm going to share the link for this video with my wife and a friend who've also recently read the book but who are both humanities scholars rather than techies, because if they simply stop at the beginning of the programming section, they will get an extremely lucid and approachable explanation of the theory. Well done, and thanks for sharing.
  • Watched more than 3 hours of implementations and explanations about wave function collapse, Can confirm that this one was the best from every aspect, Thank you!.
  • @Sergeeeek
    This is super useful for generating levels with a set number of points of interest. You add whatever things you want to have in a level at random points and maybe add roads between them and after that you can make this algorithm do its magic to fill in the details. Very nice!
  • @cohan000
    Normally my brain hurts when I try to grasp new concepts, but that just didn't happen now. You have a way of explaining things making the concepts very easy to understand
  • @Ziboo30
    Best WFC explanation I've watch. Thanks !
  • @3nertia
    That was mind-bending! Really some food for thought! And you've convinced me to take up Sudoku! I really love that you relate Sudoku to wave function collapse in this way! Really helped something click in my brain; thank you!
  • @oncedidactic
    Nicely presented! I thought you were going to talk about physics but I watched the whole video because this algo idea is so fun, and all the info was a good mix of visual demo and technical details, perfect for morning coffee :D
  • @abraxas2658
    This is honestly not only extremely well explained, but also beautiful too
  • @vast634
    The idea to just analyze an example level to determine valid sockets is great. I did not even think about that. Makes it much easier to create complex rules and have the computer imitate the style of a human Level Designer.
  • @cintron3d
    Wow, this was amazing. So well organized, articulated, and indeed respectful of my time. You sir have earned a sub + bell. Thank you for this I'm sure I'll end up referring back to this one day.
  • @luck3949
    If you add recursive backtracking to this algorithm, you'll end up with a classic algorithm for SAT solving, called DPLL. Also, DPLL is very old and outdated, so if your constraints are too complex to find a solution with it, consider taking inspiration from CDCL algorithm, or just use the off the shelf SAT/SMT solver, like Z3.
  • @MujjMujj
    Man you're so good! cant believe this channel is so small :O really helped me out with my next project :)
  • @RemyDrijkoningen
    This is by far the clearest and most detailed explanation i saw on the subject, thanx a lot ! I was wondering, just like for sudoku, is it possible that the algirithm runs into a dead end by selecting a combination of tiles that doesn't allow a suitable neighbour in some cases? Is there a strategy for the algorithm to backtrack and correct that, or is it better to start over again or carefully craft a tileset that allows every possible combinations?
  • @Gdquest
    Excellent! I'll be eagerly watching your future videos. Are you also using Doom Emacs with the gdscript layer? If you have any suggestions for improvements they're welcome on the repository.
  • I've been reading about wave function collapse for a few days, and four minutes into your video I already understand it better than everything else I've seen combined. Fantastic job
  • @CodingCircle
    Best WFC Explanation never thought of comparing it to Sudoku. Nice Vid!!