Procedural Generation using Constraint Satisfaction

15,676
4
Publicado 2024-07-09
Learn how to use constraint satisfaction algorithms to generate a wide variety of procedural content, including maps, plants, and textures.

Todos los comentarios (21)
  • @mewdeen
    Every now and then YouTube drops a gem in my recommended feed. This is one of those times. Liked and subscribed! 👍
  • @NoonianSoong403
    Holy cow it’s my old professor, always loved your work, glad YouTube recommended this to me (Kyle Morgan, you wouldn’t remember me lol but I was a decent student, software engineer now)
  • I really love how you show every step of the way, including mistakes and fixing bugs. You explain everything in a way that I, a novice programmer who finds coding very daunting at times, both understand it and also am comforted to see the code being not as complicated as it may seem at the beginning or as I feel it would be by looking at the result it gives.
  • @prietjepruck
    This is a really nice idea. I have to go to work now but will certainly check it our later. Tanks Terry.
  • @puzzlinggamedev
    I imagine a Sokoban-like level generator with rules like "a crate must not be blocked by walls and other crates" and the like. Great video!
  • @jenbanim
    The ability to add initial values like you did with the island seems like the coolest feature here. I could imagine drawing in a rough landscape idea with an image editor and then handing those initial conditions to the constraint satisfier to turn it into an actual map
  • @FFehse-dk9is
    Remember to include some check that guarantees termination, otherwise this might run forever for unsatisfiable problems
  • @phobosmoon4643
    How my uneducated 32 year old self taught not-quite 'programmer' thought of this before watching your video: 'bucket algorithms' and 'water algorithms'. Haha ignorance is truly bliss but thank you for the video! I'm trying to figure out how to do this with mpi in the bash terminal.
  • @morwar_
    This could be used to generate test cases for obscure scenarios. One time I used constraint programming to generate all possible cases (maximum 100s different cases) with a bunch of weird rules given by business analysts. It proved that they didn't even knew what they were asking. It simplified the rules in the end, because they were cancelling each other in a few cases.
  • @Lulu58e2
    Awesome and inspiring, thank you for posting that. I appreciate that you left in your errors but added "Yes, I know that's incorrect" call-outs so that those of us yelling "You made a mistake!" can relax. I've built a web-based 2D animation framework for browsers with Erlang, JS and websockets, and this gives me an idea of what to use it for.
  • @qbytx
    one of the most insightful and straightforward videos on this topic on youtube. 5/5 tutorial <3
  • @nand3kudasai
    Youre really good explaining. You sound like a professional professor (not only a youtuber).
  • @pedroehler
    Always learning with your videos, thank you!
  • @g0kada
    Didn't absorb it all as I have many many things I still need to learn, but the way you explain makes it so much easier and fascinating, you made me feel like I was consuming something that should be paid. Great video! Also, just a rather silly thing. You might want to flip your webcam next time, so when you gesticulate to the right/left, it'll be the right/left meant to be shown.
  • @BeautyInMath
    Wonderful! I am going to make this once I finish playing around with the particle life. Now I am trying to make the 3D version in threejs 😀
  • @downloadjpg
    so glad the algorithm picked this one up, awesome channel!!
  • @sharkkbaron
    Very cool video! Nice to explain in detail what you are doing.
  • @2_Elliot
    This is an awesome video! I love the idea of it generating in real time, I could imagine implementing painting-systems where you can live edit the world and paint in your own details.
  • @oolong4700
    Just found this channel, this is really cool! I love it.