Superpositions, Sudoku, the Wave Function Collapse algorithm.
Martin Donald3 HN recommenders · recommended in 3 months, 2021-2022
764K views · 6 years ago · explainer · evergreen
Martin Donald explains the Wave Function Collapse algorithm using Sudoku-like constraint solving and shows how he implemented it with Blender and Godot. It links demos and reference articles.
Commenters recommend it as the clearest way to understand WFC, especially in threads about Townscaper and tiled content generation.
37:41EPC2018 | Wave Function Collapse in Bad North | Oskar Stalberg
BUas Games
176K views • 8 years ago
12:20I Solved Klotski
2swap
2.1M views • 1 year ago
30:55[JSConfUS 2013] Steven Wittens: Making WebGL Dance
JSConf
56K views • 13 years ago
9:43A Sudoku Solver in APL
Dyalog
47K views • 14 years ago
51:06NVScene 2015 Session: How to Create Content with Signed Distance Functions (Johann Korndörfer)
NVScene
35K views • 11 years ago
5:58MarI/O - Machine Learning for Video Games
SethBling
11.5M views • 11 years ago
27:29Herbert Wolverson - Procedural Map Generation Techniques
Roguelike Celebration
153K views • 6 years ago
14:34Visualization of Quantum Physics (Quantum Mechanics)
udiprod
2.8M views • 9 years ago
2:123D Gaussian Splatting - Why Graphics Will Never Be The Same
IndividualKex
2M views • 3 years ago
10:14Making a heart with Maths
Inigo Quilez
112K views • 9 years ago
17:54Coding Adventure: Ant and Slime Simulations
Sebastian Lague
2.2M views • 5 years ago
4:45Sparse Voxel Octree (SVO) Demo by Jon Olick
Zelexi
191K views • 17 years ago
21:46Surface-Stable Fractal Dithering Explained
runevision
646K views • 1 year ago
42:00I painted a Landscape with Mathematics
Inigo Quilez
812K views • 4 years ago
5:5015 Sorting Algorithms in 6 Minutes
Timo Bingmann
29.4M views • 13 years ago
20:08Fast Inverse Square Root — A Quake III Algorithm
Nemean
6M views • 5 years ago
1:07:26Procedurally Crafting Manhattan for Marvel's Spider-Man
GDC Festival of Gaming
89K views • 7 years ago
18:50Creating a Doom-style 3D engine in C
Bisqwit
991K views • 11 years ago
1:07:09Dennis Gustafsson – Parallelizing the physics solver – BSC 2025
Better Software Conference
77K views • 1 year ago
59:20Rendering Tiny Glades With Entirely Too Much Ray Marching
Graphics Programming Conference
108K views • 1 year ago
4 comments from Hacker News
I didn't know about wave collapse functions before stumbling about Townscaper. Still, I found them hard to understand until I found this video by Martin Donald: ▶ this video Now, I'm just looking for a use-case to implement them myself sometime.
Not OP, but I happened to see a good video on this recently: ▶ this video In short, it’s an algorithm for procedural generation of tiled content, like 2d/3d game maps.
I was inspired by Nicky Case[0], but independently recently reached the same conclusion as you have here. In March of 2020 when the pandemic was first hitting the US, before there was an official lock-down, and before any company wide announcement, and without any communication, my entire team had come in on a Friday, and my entire team had stayed home on the Monday. In essence, there was enough information that occurred over the weekend for the wave function to collapse[1]. That's what we're after - if you can illuminate the future in such a way that any other option is no longer an option. I've got no game-dev experience, so the journey will be long, but I think we're on the right track. [0]: link [1]: ▶ this video
This uses the "wave function collapse" algorithm. Oskar Stalberg also made a great demo of how it works[0], but it might not make sense just from that. Martin Donald made a really nice youtube video on how it works[1]. The name "wave function collapse" can be off putting but it's pretty straightforward, and an algorithm that can come in handy for many uses both in game development and just general software development. I'm actually procrastinating on HN from working on a GPU parallelised version that can generate millions of positions every frame. In Townscaper you can actually see that the algorithm runs quite slow and lags behind the players input, there's just a bunch of animation to hide it. I'm hoping to eventually get a version that can run in log2(mapsize) time. [0] link [1] ▶ this video