HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Superpositions, Sudoku, the Wave Function Collapse algorithm.

Martin Donald3 HN recommenders · recommended in 3 months, 2021-2022
YouTube
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.

Algorithms & data structuresComputer graphics & renderingGame programming & engines#wavefunctioncollapse#constraintsolving#godot#blender#tiling

4 comments from Hacker News

@V__2022 · in “How Townscaper Works: A Story Four Games in the Making”

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.

Strongly recommendsView on HN
@orls2022 · in “Show HN: Simple Wave Function Collapse”

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.

RecommendsView on HN
@ItsMonkk2022 · in “Aaron Swartz: How to Save the World, Part 1”

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

CitesView on HN
@t8y2021 · in “Townscaper Running in the Browser”

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

RecommendsView on HN
EPC2018 | Wave Function Collapse in Bad North | Oskar Stalberg37:41

EPC2018 | Wave Function Collapse in Bad North | Oskar Stalberg

BUas Games
176K views • 8 years ago
I Solved Klotski12:20

I Solved Klotski

2swap
2.1M views • 1 year ago
[JSConfUS 2013] Steven Wittens: Making WebGL Dance30:55

[JSConfUS 2013] Steven Wittens: Making WebGL Dance

JSConf
56K views • 13 years ago
A Sudoku Solver in APL9:43

A Sudoku Solver in APL

Dyalog
47K views • 14 years ago
NVScene 2015 Session: How to Create Content with Signed Distance Functions (Johann Korndörfer)51:06

NVScene 2015 Session: How to Create Content with Signed Distance Functions (Johann Korndörfer)

NVScene
35K views • 11 years ago
MarI/O - Machine Learning for Video Games5:58

MarI/O - Machine Learning for Video Games

SethBling
11.5M views • 11 years ago
Herbert Wolverson - Procedural Map Generation Techniques27:29

Herbert Wolverson - Procedural Map Generation Techniques

Roguelike Celebration
153K views • 6 years ago
Visualization of Quantum Physics (Quantum Mechanics)14:34

Visualization of Quantum Physics (Quantum Mechanics)

udiprod
2.8M views • 9 years ago
3D Gaussian Splatting - Why Graphics Will Never Be The Same2:12

3D Gaussian Splatting - Why Graphics Will Never Be The Same

IndividualKex
2M views • 3 years ago
Making a heart with Maths10:14

Making a heart with Maths

Inigo Quilez
112K views • 9 years ago
Coding Adventure: Ant and Slime Simulations17:54

Coding Adventure: Ant and Slime Simulations

Sebastian Lague
2.2M views • 5 years ago
Sparse Voxel Octree (SVO) Demo by Jon Olick4:45

Sparse Voxel Octree (SVO) Demo by Jon Olick

Zelexi
191K views • 17 years ago
Surface-Stable Fractal Dithering Explained21:46

Surface-Stable Fractal Dithering Explained

runevision
646K views • 1 year ago
I painted a Landscape with Mathematics42:00

I painted a Landscape with Mathematics

Inigo Quilez
812K views • 4 years ago
15 Sorting Algorithms in 6 Minutes5:50

15 Sorting Algorithms in 6 Minutes

Timo Bingmann
29.4M views • 13 years ago
Fast Inverse Square Root — A Quake III Algorithm20:08

Fast Inverse Square Root — A Quake III Algorithm

Nemean
6M views • 5 years ago
Procedurally Crafting Manhattan for Marvel's Spider-Man1:07:26

Procedurally Crafting Manhattan for Marvel's Spider-Man

GDC Festival of Gaming
89K views • 7 years ago
Creating a Doom-style 3D engine in C18:50

Creating a Doom-style 3D engine in C

Bisqwit
991K views • 11 years ago
Dennis Gustafsson – Parallelizing the physics solver – BSC 20251:07:09

Dennis Gustafsson – Parallelizing the physics solver – BSC 2025

Better Software Conference
77K views • 1 year ago
Rendering Tiny Glades With Entirely Too Much Ray Marching59:20

Rendering Tiny Glades With Entirely Too Much Ray Marching

Graphics Programming Conference
108K views • 1 year ago