Why I use Wave Function Collapse to create levels for my game

Ғылым және технология

this was so much work i'm about to (wave function) collapse
sorry I used the terms "element", "cell", and "pixel" interchangeably :c
they all mean the same thing!
SEE THE CODE (utilities, etc. coming soon!)
gist.github.com/jdah/ad997b85...
Oskar Stålberg's visualization tool:
oskarstalberg.com/game/wave/w...
Thanks to Maxim Gumin for the original implementation of WFC:
github.com/mxgmn/WaveFunction...
TWITTER: / jdah__
PATREON: / jdah
GITHUB: github.com/jdah
EDITOR: NeoVim
CONFIGS: github.com/jdah/dotfiles
THEME: gruvbox
RESOURCES:
cppreference.com/
learnopengl.com
opengl-tutorial.org
shadertoy.com
stackoverflow.com
0:00 Wave Function Collapse
3:29 Code
12:16 Demo
13:16 Extras!

Пікірлер: 371

  • @user-ex6xc5ox3k
    @user-ex6xc5ox3k Жыл бұрын

    A beginners guide to making your first simple game! Chapter one: quantum physics

  • @petermuller608

    @petermuller608

    Жыл бұрын

    You made me lol xD

  • @Illmare

    @Illmare

    Жыл бұрын

    Chapter 2: Probabilistic String Theory

  • @9636dev

    @9636dev

    Жыл бұрын

    Chapter 3: Relativity

  • @DannyLeWasTaken

    @DannyLeWasTaken

    Жыл бұрын

    @@9636dev Chapter 4: Particle physics and the double slit experiment through light simulation

  • @timothy6966

    @timothy6966

    Жыл бұрын

    😂😂😂

  • @Adam-cn5ib
    @Adam-cn5ib Жыл бұрын

    Jdh: "I wanna generate new content without having to do Much Work" Also Jdh:

  • @bosch5303

    @bosch5303

    Жыл бұрын

    @Creepi why waste 10h manually doing the work when you can write a program in 10h that will do that work in 2 minutes

  • @Adowrath

    @Adowrath

    Жыл бұрын

    @@bosch5303 More like 5h of manual work saved. Or 2h. But that's how we be. xD

  • @h1ndlet
    @h1ndlet Жыл бұрын

    I've seen one or two videos on wave function collapse before, and it's always been one of my favourite ways to generate terrain. Definitely glad to see one of my favourite KZreadrs using it in a real project

  • @someonewithsomename

    @someonewithsomename

    Жыл бұрын

    so who's one of your favourite youtubers than?

  • @gachastorys5129

    @gachastorys5129

    Жыл бұрын

    @@someonewithsomename jdh

  • @whannabi

    @whannabi

    Жыл бұрын

    @@gachastorys5129 smc

  • Жыл бұрын

    People that don't code are being tricked into thinking people code an entire program like this without testing its small pieces a thousand times throughout the process (and at times changing the logic multiple times half-way through haha)

  • @player111q7

    @player111q7

    Жыл бұрын

    He's just smart

  • @ZephrymWOW

    @ZephrymWOW

    Жыл бұрын

    @@player111q7 He just has put lots of hours into doing it so he doesnt need to double check anymore. It takes lots of effort to get to this level dont just play it off "yeah he is smoret boi lkr dog"

  • @adrycough

    @adrycough

    Жыл бұрын

    Good, I need every ego boost I can get.

  • @branthebrave

    @branthebrave

    Жыл бұрын

    He's already made this, like he said

  • @mmdts

    @mmdts

    Жыл бұрын

    ​@@branthebrave It helps to know that practice makes perfect here. My first programs were relatively simple ones that didn't work as I expected them to. Right now, I can write 1000~2000 LoC of relatively simple logic (low cyclomatic complexity, no recursion) without any mistakes. For code that's heavy on while loops with undefined iteration count, recursive functions (esp. not pure ones), and heavy maths (optimization and whatnot), I still need to think a lot (pen and paper, as jdh shows himself doing in this video) before I write it, and I usually still miss one or two edge cases.

  • @carterisonline
    @carterisonline Жыл бұрын

    I absolutely love using WFC as a means of world generation! I've always wanted to do this in my voxel game, but each dimension makes the algorithm exponentially slower. I'd definitely look into using it with an LOD perspective; stuff like biome meshes can be generated first in low detail and rendered as a placeholder while structures and environment details are generated in the background.

  • @jdh

    @jdh

    Жыл бұрын

    you could maybe also try an approximate approach - collapse/propagate some of the wave elements and use that as an LOD while saving the data for when the player moves closer? 🤔

  • @morgan0

    @morgan0

    Жыл бұрын

    yea i’ve thought about this for a game i’d like to make eventually. start out with low detail plate tectonics sim for planet-scale coherence, then use wfc to refine the base height and roughness a bit, then figure out biomes, then further refine height and roughness using biome info as well, then do stuff like individual mountain peaks, valleys, small lakes, etc, then probably another pass for final features (still above the scale of individual voxels), and then get a smooth voxel output of the terrain for most stuff with either wfc or noise for detail on rougher areas

  • @ZephrymWOW

    @ZephrymWOW

    Жыл бұрын

    Use layers of WFC. Im working on a game that you start as a quark and the cause / effect generates a playable universe where you can "control" anything. But WFC is not "slow" just stop trying to do everything in a superfunction. break up your 1 WFC into 50 different smaller ones and only run them as you actually need them. I am able to process literally TB worth of data like this in real time. Theoretically scaling up to PB via cassandra.

  • @nix3l_
    @nix3l_ Жыл бұрын

    i remember going down the wave function collapse rabbit hole a while ago, i was surprised at how ingenious it was

  • @gabitheancient7664

    @gabitheancient7664

    Жыл бұрын

    same

  • @joosephzoostarakajoozoo879

    @joosephzoostarakajoozoo879

    Жыл бұрын

    basil pfp tho

  • @ratio6677
    @ratio6677 Жыл бұрын

    i didn't understand a single thing because all of this is way above my level, but i still watched the whole thing because good music and code flashing across screen

  • @Logan-nz5jk
    @Logan-nz5jk Жыл бұрын

    Your game is really coming together! It looks amazing already and I can’t wait to see what else you have to implement and the furthering of your terrain generation process.

  • @ClokworkGremlin
    @ClokworkGremlin Жыл бұрын

    Wave Function Collapse has actually existed for decades. Age of Empires and Starcraft both used a similar technique in their map tile selection. It just hadn't been named until a couple of years ago.

  • @The-python-guy

    @The-python-guy

    8 ай бұрын

    I'm making a AOE style game and use Perlin noise. Because IM better

  • @MasterHero10000
    @MasterHero10000 Жыл бұрын

    jdh Is an Indie GOD Developer. You keep impressing me with each and every single video that comes up.

  • @sirflimflam
    @sirflimflam Жыл бұрын

    I spent some time with this algorithm myself. It's deceptively simple once you understand what's going on but man when you start getting into the third dimension the thing bogs down hard. Hard enough that I'd probably advocate for pregenerating many random iterations from it in development instead of generating it during end user gameplay.

  • @jdh

    @jdh

    Жыл бұрын

    yeah it can get very slow, especially for larger pattern sizes (size 3 -> size 5 more than doubles the time to process each pattern 😬). I've tried parallelising it without success in making it noticeably faster, but pregenerating is definitely a good solution, maybe even storing many partially-collapsed datasets and then doing the last bit of process on demand and with a little bit of randomness.

  • @newtonbomb

    @newtonbomb

    Жыл бұрын

    Isn't that a bit of the excitement that comes along with the thought of quantum computers? When we can cost effectively compute and render 3+ dimensional wave collapse algorithms in real time the kind of expansive interactive digital content we will be able to create will be WILD.

  • @tendies

    @tendies

    Жыл бұрын

    @@newtonbomb That is some great insight

  • @newtonbomb

    @newtonbomb

    Жыл бұрын

    @@tendies Tbf, I'm fairly certain its not an original thought lol. I can't remember for sure, but I vaguely remember reading an article somewhere a couple years ago about the unique possibilities for applications of quantum mechanical computational systems beyond just search algorithms like Shor's or cryptography that is typically discussed, and the usefulness of realtime higher dimensional wave collapse algorithm computation is the one that really stuck with me. Of course what I'd latch onto is how it could help make better games lol

  • @petermuller608
    @petermuller608 Жыл бұрын

    I love your style if presentation. Judging from your previous videos I expect you going down this rabbit how and designing your own quantum computer doing wave function collapse on breadboards :P

  • @eboatwright_
    @eboatwright_ Жыл бұрын

    I actually love how this looks. Great job! 👍

  • @stuin01
    @stuin01 Жыл бұрын

    For a second there I thought you were going to say "I need a physics engine and the best way to do that is from scratch. So here's how I implemented quantum mechanics..."

  • @BenDol90
    @BenDol90 Жыл бұрын

    Can you do a video explaining why you abandoned the ECS in favor of the standard OO approach? From my understanding you can have both with a Component?

  • @melonfromthevoid1377
    @melonfromthevoid1377 Жыл бұрын

    THANK YOU FOR CREATING THIS I SPENT WAY TO LONG TRYING TO DO SOMETHING LIKE THIS AND FAILING. this video very well explains a topic that I had trouble with.

  • @alexisrodriguez7127
    @alexisrodriguez7127 Жыл бұрын

    I find it really interesting that you went back to oop approach after you initially started with it then transitioned to entity component. Makes me realize why its there in the first place

  • @jasoneve
    @jasoneve Жыл бұрын

    I've never seen wave function collapse before, this is so cool!

  • @smellthel
    @smellthel Жыл бұрын

    You are one of the greatest coding KZreadrs of all time. You make your videos extremely interesting and I learn a lot from them. Legend.

  • @AwesomeGames56
    @AwesomeGames56 Жыл бұрын

    I have no earthly idea what's going on in this video but I still somehow find it interesting. I really love this type of game and seeing the actual work that goes into making it happen makes me even more interested in it. Can't wait to see the finished product.

  • @sippingtexastea
    @sippingtexastea Жыл бұрын

    It's always a good day when jdh uploads

  • @Kestrel_
    @Kestrel_ Жыл бұрын

    I really like the effect fading out the wall in chunks gives! One thought I had was that it would be cool if instead of just the walls immediately around the player, walls the character is facing (up to a certain distance) would also fade so you don't need to run along the entirety of a back wall to see what's hidden behind it.

  • @jakubmichalenko7990
    @jakubmichalenko7990 Жыл бұрын

    Your videos has always this 5 head vibe that I really like

  • @timothy6966
    @timothy6966 Жыл бұрын

    So happy I subscribed to you a week ago.

  • @dvgen
    @dvgen Жыл бұрын

    Very nice. I'm also very onboard with the plant loving robot theme!

  • @jdh

    @jdh

    Жыл бұрын

    glad you approve! when’s the next devlog coming out though 👀

  • @dvgen

    @dvgen

    Жыл бұрын

    @@jdh Soon™. I got a little delayed taking a second job this summer. Also I get distracted by the technical details, so it is going to have to be a couple of videos. I'll link back to your video one when I talk about implementation.

  • @NavoNova
    @NavoNova Жыл бұрын

    This is awesome, love the series! I was wondering - you mention you wrote an 'ultra fast mesh instancer' - in terms of speed/optimisation of code is this something you simply learned over time or are there key principles that you follow when writing your code to make sure you are always writing optimally? Cheers!

  • @kilian9448

    @kilian9448

    Жыл бұрын

    @jdh I also want to know

  • @williamist
    @williamist Жыл бұрын

    yay new devlog :D i just rewatched the other ones the other day.

  • @porx
    @porx Жыл бұрын

    It's nice to see more progress since the serializer stream. I've been looking more into C/C++ since then, but concepts (the C++ thing, not concepts as in "ideas") still confuse me. Looking forward to the next video in two months!

  • @evannibbe9375

    @evannibbe9375

    Жыл бұрын

    Are you talking about operator overloading or templates?

  • @katto1937

    @katto1937

    Жыл бұрын

    If you mean pointers and all the other abstract concepts you get used to them after a couple hundred lines of code, try it :)

  • @mkrichey1
    @mkrichey1 Жыл бұрын

    That is awesome, never seen that before and eager to give it a go! Thank you :)

  • @haha71687
    @haha71687 Жыл бұрын

    Wait, do you calculate entropy and collapse a pixel or a 3x3 overlapping area?

  • @eitantal726
    @eitantal726 Жыл бұрын

    back in the day, for terrain generation, I used plasma algorithm (aka Diamond-square). How does this one compare?

  • @gwenturo9550
    @gwenturo9550 Жыл бұрын

    Those stylized electron orbitals were my desktop background for a while; now it's footage of Venus's surface from the Vanera Lander

  • @quatricise
    @quatricise Жыл бұрын

    Do you think you could estimate how long this whole algorithm took to create? I'd really like to know whether i should even attempt coding something like this for fun, given that i'm a relatively noobie programmer.

  • @whtiequillBj
    @whtiequillBj Жыл бұрын

    If you have compete entropy and all pixels are the same color how do you determine where anything is? Or is that answered at 9:02?

  • @taurgoo3670
    @taurgoo3670 Жыл бұрын

    WOW! Nice original idea I've never seen a video like this one before

  • @elin4364
    @elin4364 Жыл бұрын

    This is so cool! Where did you get the idea to use wave function collapse for level generation like this?

  • @grantwilliams630
    @grantwilliams630 Жыл бұрын

    I've been working on an implementation recently as well. I decided it would be interesting to take the famous dancing links (DLX) sudoku solver and attempt to use it for constraint solver in WFC

  • @batteryjuicy4231
    @batteryjuicy4231 Жыл бұрын

    ok this is officially by far the most alien (to me) video you've made...

  • @IDunoXD
    @IDunoXD Жыл бұрын

    Is it possible to implement smooth camera rotation in your game? Like in Fez when you change the perspective of the world. It would be quite cool visual feature to add.

  • @chopkeys
    @chopkeys Жыл бұрын

    NEW JDH VIDEO LETS GOOOOOOO

  • @fonkinstubbleduck9163
    @fonkinstubbleduck9163 Жыл бұрын

    Hm. First video that I genuinely didn't understand. Congrats JDH, you finally did it!

  • @wearr_
    @wearr_ Жыл бұрын

    I watched this first when I was incredibly sick, watched it again now and it made just about as much sense

  • @birajsodhi6862
    @birajsodhi6862 Жыл бұрын

    Hello sir I wanted to know which degree or qualification do you need to generate cpu or GPU of your own

  • @akemap4
    @akemap4 Жыл бұрын

    what is the font you are using in your terminal? it's so beautiful.

  • @Sushant-ot1fp
    @Sushant-ot1fp Жыл бұрын

    This guy is the reason why Google is getting mad over their employees

  • @shoeshoe6837

    @shoeshoe6837

    Жыл бұрын

    true

  • @gokusaiyan1128

    @gokusaiyan1128

    Жыл бұрын

    i don't get it ?

  • @azizaza8287

    @azizaza8287

    Жыл бұрын

    @@gokusaiyan1128 this guy is way smarter than google guys

  • @williamn1055
    @williamn1055 Жыл бұрын

    I have no idea what you're saying but you do it really well

  • @abogame6852
    @abogame6852 Жыл бұрын

    Love your stuff! Big help!

  • @davidfails2866
    @davidfails2866 Жыл бұрын

    You have officially made me feel dumb… I needed this. Thank you.

  • @hamadaag5659
    @hamadaag5659 Жыл бұрын

    This is so past my knowledge I barely understand it, I love it.

  • @Test-iv4pm
    @Test-iv4pm Жыл бұрын

    How do you add specific constraints to the function in the future?

  • @CedarGroveOrganicFarm
    @CedarGroveOrganicFarm Жыл бұрын

    This might be a huge task, but the blinking light on your characters head, it would be an amazing way to ray tracing / some kind of ambient lighting to add some immersion to your levels, right now his headlight seems a bit too distinct from its surroundings

  • @Trupen
    @Trupen Жыл бұрын

    Awesome video :D

  • @pablojosegorigoitiacastro568
    @pablojosegorigoitiacastro568 Жыл бұрын

    Very nice video. I will show it to my students.

  • @graydhd8688
    @graydhd86887 ай бұрын

    I tend to prefer levels design that's not randomly generated, but I have a black and white pixel tileset I had spent weeks creating a ton of cool and complicated geometric designs and structures and variations. Kinda got stuck moving on to creating actual level design with them though, but I think I'll use WFC to construct a bunch of potential level layouts- and I'll take the most promising ones and build more handcrafted levels again from there! I went wild creating a ton of elements I don't have a specific plan for, but I think this algorithm will at least present me with combinations I may not have expected that I can make what I want out of!

  • @skryvvara
    @skryvvara Жыл бұрын

    what color scheme do you use? it looks awesome

  • @markdatton1348
    @markdatton1348 Жыл бұрын

    I've only used OMP in Fortran, so maybe its different in C++, but don't you have to specify private and shared variables in the directive? Is it done automatically in C++? For example, in Fortran I would need to declare that i is private and whatever the struct or class or whatever thats being modified would need to be shared, in order to see an actual speed up.

  • @12345origamimaster

    @12345origamimaster

    Жыл бұрын

    In cpp default modifier for class is private and for struct is public, except for that they are exactly the same

  • @Skeffles
    @Skeffles Жыл бұрын

    Fantastic to see the generation happening!

  • @slothinahat
    @slothinahat Жыл бұрын

    OMG he uploaded

  • @vachila643
    @vachila643 Жыл бұрын

    Hi man! This is the first video of yours I've watched, and heard you said "just making a game about a ROBOT who loves PLANTS" and immediately I've become immensely interested in what you're going for! Immodestly got flashes of Undertale and OneShot ha, might be different though, super interested! Do you have music figured out yet? I'd like to support you with that while your making the game, have a musician/sound designer yet? I don't post stuff on YT but if you're interested I could definitely do that for your to check out, or can send you some music of mine to see what stuff & style you would like you would like, still cool if you're not thinking about hat now Also is the mic you used, is it the same one in the video? What mic is that?

  • @outcast-festival
    @outcast-festival Жыл бұрын

    honey wake up new jdh video just dropped

  • @klutch4198
    @klutch4198 Жыл бұрын

    This is badass!

  • @TheShelfman
    @TheShelfman Жыл бұрын

    I somehow understand less than nothing about this, but I'm still very interested in following along and learning from you haha

  • @Stich270
    @Stich270 Жыл бұрын

    very cool. I wonder if you can combine different Maps to get some more interesting stuff.

  • @jameender
    @jameender Жыл бұрын

    Why do you use raw iterator for loops instead of `for (auto element : iterable)` ?

  • @jdh

    @jdh

    Жыл бұрын

    for the Bitset-s, it's because they have two iterators, {begin, end}_on() and {begin, end}_off() to iterate all of the set and unset bits respectively. it should probably be improved though to something like for (auto index : bitset.on()) though!

  • @thomaskarbowiak540
    @thomaskarbowiak540 Жыл бұрын

    I love how I have absolutely no idea what is going on, yet it is somehow entertaining

  • @MagicThanos7
    @MagicThanos7 Жыл бұрын

    I'm starting my first year at university in a couple of months and I have no clue what the things you said mean. I'll come back to this video again when I know more stuff and see if I can understand lol

  • @kraxen72
    @kraxen72 Жыл бұрын

    really interesting, however i did not understand too much of the implementation ( i am in highschool ). i have done some algorithms but none this difficult. could you recommend any resources on math/programming that could help me understand algorithms like this? Thanks.

  • @_PranavDesai

    @_PranavDesai

    Жыл бұрын

    Discrete Math, Differential and Integral Calculus and Statistics+Probability is the way to go. Don't overburden yourself with these concepts too much. Learn the basics and if there are courses in your high school, take them up. Have a basic working knowledege because you can always learn more and dive deeper once the situation demands.

  • @fghjkcvb2614

    @fghjkcvb2614

    Жыл бұрын

    Look at Sudoku solvers for a simpler implementation of the same Idea Hope that helps ^^ Also doing the steps by hand with some simple examples always helped me understanding complex math in university

  • @nevokrien95
    @nevokrien95 Жыл бұрын

    U can use wave functions to define a probabilty space where the player mive in. Player measurment chqnges the map

  • @JohnnySix
    @JohnnySix Жыл бұрын

    12:19 Did you code a visualisation to visualise coding. Very cool - you made the coding part just as compelling as the visual as it was easy to follow along.

  • @almahnak12
    @almahnak12 Жыл бұрын

    When programmers stack more words onto something like "Wave Function Collaspe algorithm", I can't tell if I understand more or less

  • @MetinCloup
    @MetinCloup Жыл бұрын

    how do you edit your videos?

  • @yourboiivan
    @yourboiivan Жыл бұрын

    Haha, I like your magic words, funny man

  • @user-fm9gh9ml1l
    @user-fm9gh9ml1l Жыл бұрын

    Hey sir, great video! I wonder what font you're using for your neovim? It looks so clean.

  • @jamieb2563

    @jamieb2563

    Жыл бұрын

    It looks similar to Roboto Mono

  • @anispinner
    @anispinner Жыл бұрын

    Brain Collapse Function

  • @KyraKrassenburg
    @KyraKrassenburg Жыл бұрын

    very cool :) excited to see how this game turns out. may i also ask what the music you play in your videos is called? i like how chilled out it is.

  • @fraelitecagnin7628

    @fraelitecagnin7628

    Жыл бұрын

    You can search "music for coding" and it's basically the same I think.

  • @av3stube480
    @av3stube480 Жыл бұрын

    I think this algorithm could quite easily be modified somewhat to dictate the overall shape of the entire map by modifying the function that chooses which pattern to collapse a cell into. Say you want to create an objective for a dungeon map (the dungeon map is just a full size image like the ones you generated), and want it to be somewhere in the middle. You can simply look at the distance from the map border when looking at a cell to collapse, and make it so that the further away from the border it is, the higher the chance for it to collapse into the objective. You could even make a minimum distance from the border to become a particular type of cell. You could also overlay a noise map onto the entire grid and vary the chance of a cell's collapse based on the value of the noise map in that spot. Imo, that would be really interesting and (should be) possible to program.

  • @haha71687

    @haha71687

    Жыл бұрын

    I'm working on a roguelike shooter and we're doing that by doing 2-3 levels of WFC generation. Each level defines the tileset/example bitmaps for the level below it.

  • @wmd2556
    @wmd2556 Жыл бұрын

    amazing work

  • @mfucek_
    @mfucek_ Жыл бұрын

    Just a suggestion regarding the player visibility through walls. If you are making a mask of the player, why do the extra step of raycasting when you can just overlay the player sprite over everything with a bit of transparency. Also, awesome vid, learned a lot! :)

  • @anuhasjayawardana9905
    @anuhasjayawardana9905 Жыл бұрын

    how do you actually compile this? I mean as the project grows it would start taking too long to compile

  • @its_fzx5275
    @its_fzx5275 Жыл бұрын

    hey jdh! your videos are aewsome and insipiring, I have always wanted to tinker with a lot of the stuff regarding computer science such as the stuff you do on this channel but a big problem I usually face is the lack of math knowledge and for me a 16 yo guy these stuff can seem aggravating so can you tell where and how can I learn the neccessary MATH needed for CS? and THx

  • @null6482

    @null6482

    Жыл бұрын

    Same bro (im so bad at math)

  • @PorkSKing
    @PorkSKing Жыл бұрын

    love wave function collapse, so cool

  • @eppiox
    @eppiox Жыл бұрын

    As someone whos been doing code maintenance on a project they did not start I see this as nightmare fuel

  • @ganglians
    @ganglians Жыл бұрын

    May your gardens be vibrant and plentiful, brave little robot

  • @marti.2718
    @marti.2718 Жыл бұрын

    whats the vim color scheme called?

  • @R4ngeR4pidz
    @R4ngeR4pidz Жыл бұрын

    The non-descriptive template parameters with the comments describing what they are made me cry.. why not just name them something similar to that TYPE, DIMS (maybe even DIMENSIONS) PATTERNS, BITSETS ?

  • @RhysJosmin
    @RhysJosmin Жыл бұрын

    Love your videos and i just say your website and its stunning

  • @Skeleman
    @Skeleman Жыл бұрын

    do you write your own music for the videos?

  • @Test-iv4pm
    @Test-iv4pm Жыл бұрын

    Cool idea! Though, at 1:45, isn't every generated map not a map at all? Your drawing looks like a cave system, and the generated maps look like noise functions.

  • @djozoleta
    @djozoleta Жыл бұрын

    What mac do you have?

  • @pruthviksheth2448
    @pruthviksheth24488 ай бұрын

    From where did you learn all this stuff? Can you make a course for beginners?

  • @mizuharachizuru2663
    @mizuharachizuru2663 Жыл бұрын

    Thank you, bro!

  • @jamesmorrison9893
    @jamesmorrison9893 Жыл бұрын

    Jdh is one of those drop what you are doing and watch the new video type KZreadr

  • @cheeky6114
    @cheeky6114 Жыл бұрын

    What code editor do you use?

  • @hansjovis6634
    @hansjovis6634 Жыл бұрын

    I always wondered what the fuss is about the Wave Form Collapse algorithm. Isn't it the same as the Breadth First Search algorithm? As in: you're searching the state space for a state that satisfies the constraints you put on it? I get how the quantum physics framing of it is enticing, but to me it sounds like old wine in a new package. Unless I am missing something crucial. It's still a great algorithm, but with all this hype I feel like we're reinventing the wheel.

  • @ShambuKumar-hj8fq
    @ShambuKumar-hj8fq Жыл бұрын

    What is your Neovim Colorscheme?

  • @kelyncrandall7452
    @kelyncrandall7452 Жыл бұрын

    14:00 "the ECS hurt more than it helped..." I'm curious, what did the refactor involve? What about the ECS made it difficult to work with? Did you end up removing it entirely?

  • @truefaceofevil

    @truefaceofevil

    Жыл бұрын

    Also curious about this - and also what the new implementation looks like

  • @Assassin_Droid
    @Assassin_Droid Жыл бұрын

    I can't even make a start menu and this guy is using quantum physics...

  • @shiftless215

    @shiftless215

    Жыл бұрын

    He started somewhere just like you did so if you work long enough you can get here too

  • @meowzerus
    @meowzerus Жыл бұрын

    How do you deal with WFC not being guaranteed to terminate?

  • @shinrakishitani1079
    @shinrakishitani1079 Жыл бұрын

    Lots of people making videos on wave function collapse lately, interesting to see the different way they explain it though

  • @chabenatmartin6253
    @chabenatmartin6253 Жыл бұрын

    Hello jdh, which language do you use thé most?

Келесі