A new way to generate worlds (stitched WFC)

  Переглядів 492,091

Watt Designs

Watt Designs

День тому

If anyone out there is interested in going to school for gamedev check out my sponsor SNHU:
snhu.edu/wattdesigns
This is my first time messing with Wave Function Collapse and I think I've got some tweaks to make, but it looks pretty good so far. Make sure to stay until the end for the music sample!
Speaking of which, here's all of Ricardo's stuff:
linktr.ee/rmdcompositions
I also want to link some useful WFC stuff. Here’s where the cool animation came from, lots of great open source resources: github.com/mxgmn/WaveFunctionC...
0:00 - Intro
0:28 - What's Wave Function Collapse?
2:23 - Implementing WFC
3:19 - Sponsor
4:06 - Making it faster
6:05 - Blending biomes
7:15 - Generating Dungeons
8:19 - Future Plans
8:31 - Music Sample
10:05 - Outro
-SOCIALS:
Steam: store.steampowered.com/app/16...
Patreon: www.patreon.com/WattDesigns?f...
Discord: / discord
Instagram: / watt.designs
Twitter: / wattdesigns
Isle Goblin Website: islegoblin.com
Personal Website: www.kilowattgames.com

КОМЕНТАРІ: 962
@WattDesigns
@WattDesigns Рік тому
Hey everyone! Just wanted to clarify after getting some comments, MANY have used wave function collapse, I do not claim to be the first. I do think my application here (creating chunks with different patterns, then using a third pattern to stitch them together) to allow multiple different input types is new. Feel free to correct me if I’m wrong though! Sorry for the confusion :)
@lizelive
@lizelive Рік тому
great video, sadly you aren't first person to do that either. you are prob best at explaining it though!
@emrys6895
@emrys6895 Рік тому
Yeah it was weird to hear you say that as this function was made for a game, its not wave function collapse from quantum physics after all. Thus you cant learn about this without learning about the demos it was used in. Soooo yeah
@WattDesigns
@WattDesigns Рік тому
@@TinkerWorX that’s just WFC. They chose a few points and solved it from there, all one input pattern I’m creating one block with pattern A, another block with pattern B, and stitching with a special stitching pattern C. That sample there only uses one
@Stopinvadingmyhardware
@Stopinvadingmyhardware 11 місяців тому
@@WattDesigns This exists in the Blender game engine as well. If you ever want to step into 3d procedural generation.
@WattDesigns
@WattDesigns 9 місяців тому
@@lizelive Im just now noticing this response - do you have some links to where it’s been used this way so I can add it to the description?
@krazymeanie
@krazymeanie Рік тому
Watching indie devs discover wave function collapse for world generation is always interesting to me for some reason lol. Its becoming so popular.
@TourFaint
@TourFaint Рік тому
It's so strange i've seen so many people go "wow WFC Is so cool look you can use it to make maps" since it's not a new thing at all. Like, do indie game devs have sort of ethics code that forbids them from looking up other peoples' work?
@tezeta3725
@tezeta3725 Рік тому
​@@adamluhring2482I know youtube doesn't like links but do you have the name of the website or something so I can find the page?
@kilikikiliki4900
@kilikikiliki4900 Рік тому
​@@TourFaint no i dont think so its more like with more devs more devs without a cs degree exist so they have to learn everything themselves which is a lot
@VincentPride1986
@VincentPride1986 Рік тому
​@@TourFaint nah, majority of indie devs are just bedroom coders without strong pro background hence you can't expect too much from them.
@PoseidonodiesoP
@PoseidonodiesoP Рік тому
​@@VincentPride1986Why do you think they're indie devs? Use your brain
@TomNCatz
@TomNCatz Рік тому
part of the value of waveform collapse is that you do NOT need to generate the entire final island one go. So long as you have fed it inputs that are not prone to collisions you can just pick a starting point and run until you have a large enough plot for starting out. then you can continue to run the waveform collapse in the background as long as needed
@lsedge7280
@lsedge7280 10 місяців тому
This. Was intrigued by the whole "stitched" version he was talking about and thought he was going to talk about some improvement to generating part-by-part stitching on new parts.
@LuaanTi
@LuaanTi 5 місяців тому
As long as you do not care about the result being repeatable, that is.
@kartonrad
@kartonrad 4 місяці тому
This does break repeatability, meaning the same seed will generate different results
@rmdcompositions
@rmdcompositions Рік тому
It was super fun to work on it! Im glad that the music works well and great work with all of the updates! Can wait for more! 😊
@joyfulfishman5445
@joyfulfishman5445 Рік тому
The music sounds amazing my guy! Im an aspiring composer myself whos only written music for solo piano and some string instruments thus far. I have no experience writing videogame music but I would love to get into it and im totally inspired by the music you provided for this video, what advice would offer you to someone looking to learn and get started?
@bvoros361
@bvoros361 Рік тому
The music is spot on! excellent work
@rmdcompositions
@rmdcompositions Рік тому
​Hey@joyfulfishman5445 of course! i can't really give advice on say, networking and getting a project without knowing how you personally prefer to work, online, in person, location etc... regardless one thing i always would advice is, people first. That no matter who you work with, be sure to enjoy working with them, chances are if you do, you will be much more motivated, invest more of your energy into it and end up with a better work for it! Hope this helps 😁
@LSETalks
@LSETalks Рік тому
The music is brilliant really loved it, fits so well! great work!
@tomk07
@tomk07 Рік тому
Amazing music (: it matches the game just perfect!
@empresslithia
@empresslithia Рік тому
Another algorithm that's essentially the mother of WFC, (or, to put it another way, WFC is a specific case of it), is graph rewriting. If you represent your world as abstract nodes within a graph, suddenly you gain immense power in generating your world, and can do anything from generate levels with complex rules, to procedural loot generation, to managing your quests and dialogue. Graph rewriting works by representing everything as either a node or a path, then creating rules for how those nodes get joined together by paths. A great example of this is the game Unexplored, which used graph rewriting to generate all of its everything, but its levels in particular are very well done, as they're complete with traps and puzzles in a way that makes intuitive sense. Graph rewriting is the mother of all procedural generation, and it's only the difficulty in using it (you have to be very creative in designing your systems) that stops every game ever from using it for everything ever. EVEEEEEEER. TL;DR: Graph Rewriting is really cool, and supercedes all other procedural algorithms in both capability and difficulty of use, but is well worth the effort if you're smart enough.
@Korn1holio
@Korn1holio Місяць тому
thank you very much for this insight.
@justinsymington
@justinsymington Рік тому
the world generation stuff is cool but that demo from Ricardo is OUTSTANDING and he nailed every bit of input you gave him
@thebe_stone
@thebe_stone Рік тому
this game looks really good, and the new biome generation is something i've never seen before. the character design is super cute, but i think it would look better with hats that you can choose. one of the hats could be a potato hat. edit: i noticed armor was next on your list, that sounds like the perfect time to add hats and maybe a potato hat
@babinbowie2846
@babinbowie2846 Рік тому
yes potat hat
@tomk07
@tomk07 Рік тому
potato hat
@88denden
@88denden Рік тому
throw in a terraria easter egg in there with them hats?
@beaworldchild
@beaworldchild Рік тому
I must second my erudite friend here. yes potat hat
@gold571
@gold571 Рік тому
potarto hat
@masha8770
@masha8770 Рік тому
Great progress! I wouldn't throw the unintentional idea of wood dungeons quite out yet. On a smaller scale & with a different pattern I can see human forts as small outposts perhaps? Something that pops back up even after "clearing" an area for longevity? Also love the new music! I hope the full soundtrack will be a thing added to the steam store once you're doing the full release.
@o_sch
@o_sch Рік тому
Yep. I use wfc in my game to make not only dungeons but also buildings. The input image for buildings should be less tunnels and more of a boxy contained shape. I want it to be very user moddable and its like Dwarf fortress where you can edit the raws (mine are JSON since thats easy). I have a json file for structure generation with paths to the files. It isnt fully fleshed out yet but it will work like this: JSON file contains data for different structures and how they generate A secondary JSON file contains the path for the WFC input image and what the different colors represent. when generating structures it loads this image into the WFC, takes the output, then uses the colors data to fully process it For example, i have a catacombs template where it is mostly straight tunnels. The base color is black, with tunnels being white. Along the sides of parts of the tunnels are purple squares, which signify tombs. Then I have a few small rooms with a central tomb - these are more wealthy tomb owners. Some have a orange tile coming off which is a door and it separates a blue tile room which is treasure. There are also some red rooms that separate the treasure which are trapped rooms.
@maxoeller9613
@maxoeller9613 Рік тому
Im in love with the music, definitely gives off that terraria/stv vibe and in my opinion fits pretty nice with the game
@J_Stronsky
@J_Stronsky Рік тому
I know it'd be a lot more work, but if your concern is biome boundaries why don't you create 'transition biomes'. If you're making a rule that says only specific biomes can be next to one another, then you can create a special biome that looks like a smooth transition between the two and use that blender method you mentioned to stitch them together. So beach > water = shallows, beach > grass = dunes, grass > trees = scrub, etc, etc... Because you've limited the number of zones that will be in contact you don't need to worry about the huge number of variations that would arise otherwise and you can make the transition zones vary in width to make it more seamless.
@chadzulu4328
@chadzulu4328 Рік тому
The game is looking awesome. I love the music too...the composer nailed it.
@shrimp381
@shrimp381 Рік тому
Just been catching up on the Dev logs and was really surprised to find an upload minutes after I finished the other one! This is whole game and your Dev process is fantastic. Keep it up.
@ChristinaCreatesGames
@ChristinaCreatesGames Рік тому
That was a great explanation and visualisation on how the wfc works =D! I have a good friend who absolutely loves proc gen and I learned about the wfc initially from him. It's a really cool rabbit hole to Fall down to! Seeing you figure out the System, optimization and such was fun and I'm looking forward to more =) (The music sounds great as well! Feels like it fits your project =))
@Bargeral
@Bargeral Рік тому
in your last video you talked about multiplayer and the difficulty sharing the map. If you can make your random level gen consistent based off of a seed number than you can just share the seed. Maybe do a checksum on the generated level as a validation.
@powertomato
@powertomato Рік тому
Determinism is easy in a linear algorithm, but much harder in a parallel ones, as you have to ensure the scheduling of each task is also deterministic, which is usually handled by the OS optimized for performance so that is likely going to make it slower again
@dIancaster
@dIancaster Рік тому
@@powertomato Goddamn, you're letting your COMPSCI degree show. Very true, though.
@KDSBestGameDev
@KDSBestGameDev 2 місяці тому
​@@powertomatomake a seed that is shared, have the seed generate a seed for 8 parallel threads. And each thread itself can easily be deterministic. So for wave function collapse it is that easy if you generate the full map or use a seed like seed + xTilePos + yTilePos this should make a deterministic seed per tile no matter what parallel task works on it.
@VinciWare
@VinciWare Рік тому
This was honestly one of the most interesting dev blogs that I’ve watched so far!
@ash12181987
@ash12181987 Рік тому
I have been thinking of using wave function collapse in my RTS project, and I was going to use ECS as my whole project is built in that already. So thank you, for at least indicating I'm not entirely barking up the wrong tree. The game looks great, I'm going to go check out your other dev logs, and I look forward to following your progress.
@RIK0-1
@RIK0-1 Рік тому
This is really cool, great job! One thing to point out is that WFC is not deterministic in the same way that a noise generation algorithm is, so be careful if you are planning pseudo-infinite worlds (something akin to minecraft). For example, if you wanted to teleport to a location 10,000 units away a noise generation algorithm can start calculating the terrain instantly at that location, and it would be the same each time you recalculated it based on the seed. For the WFC algorithm you would need to start generating from the origin until you eventually filled in the section you are trying to teleport to, which may take an extremely long time or your computer would run out of memory. Because of this I would recommend keeping your worlds to a reasonable size, and perhaps if you want bigger maps make a break between each of these large sections so that they aren't continuous. Anyway this is my first time seeing your project and it looks great! Good luck, I'll sub to watch your progress and root for you.
@leaf4645
@leaf4645 Рік тому
That music is 🤌
@argore9709
@argore9709 Рік тому
honestly the best timing possible I'm super interested in procedural generation and the like, and was actually thinking of how WFC could be used to make terrain like this like a week ago amazing video, keep it up!
@Gorbukoki
@Gorbukoki Рік тому
Thanks for sharing your methods of developing your landscape! The shared snippet of music was excellent and felt spot on.
@_Snout_
@_Snout_ Рік тому
You should make the hot bar moveable from the bottom to the top
@Izzy-fr1zu
@Izzy-fr1zu Рік тому
agreed! Just played a game that doesn't have this feature and this is sooo annoying when enemys are behind it, and just won't move >.>
@WattDesigns
@WattDesigns Рік тому
Interesting, I’ll add it to the list!
@_Snout_
@_Snout_ Рік тому
I’ve never have had such I liked comment
@Mawyman2316
@Mawyman2316 Рік тому
Grab a list of XY positions and tie the hotbar to the enemies so that it just jankily floats up and down the entire screen all the time lol, snapping to the next enemy as it dies.
@matthewboyd8689
@matthewboyd8689 Рік тому
I always have great respect for artists that nail the theme and feel of what the games intent is. The pixel art and that music, so magical it brings nostalgia to me that I can't pinpoint where or why exactly. 10/10
@FacemanArt
@FacemanArt Рік тому
I just found your channel, this is all super impressive stuff! Love the style and ideas, keep up the great work!
@PhilipLozano_0
@PhilipLozano_0 Рік тому
First of all, I love what you're doing with the game. I will also say, at the beginning of your video, you said this was a new way to use WFC, but i think a lot of game creators have used WFC like this. It kind of make you look like you arent aware of what other creators are doing in your space. Perhaps your vewers arent watching other videos on this topic so it probably doesnt matter that much. Also i think it would be cool if you shared some of the resources that you used for things like WFC, some source citing.
@emlyfox
@emlyfox Рік тому
This was 100% my thought also. I only know about the WFC algorithm because of people using it for world generation.
@WattDesigns
@WattDesigns Рік тому
I did some digging and didn’t find anyone creating patches like this (using different patterns) and stitching them together with stitcher patterns. I’m willing to be wrong here though! A lot of people seem to think I meant WFC itself is new, I should have been more clear. I’m well aware it’s been around for a while I mostly used Boris’s stuff, maybe I should have stated that, I figured mention of going to him for help would be good enough. Next time!
@27klickslegend
@27klickslegend Рік тому
@@WattDesigns I suspect there are quite a few people doing this in isolation like me. I admittedly skimmed the video but I'm curious as to if you only included the tile rules required for the biomes you were generating, as will drastically speed things up. another optimization is to resolve categories of tiles first, then resolve the varieties afterwards, the lower number of possible tiles you have in each WFC iteration the better obviously.
@jaredarneecher8724
@jaredarneecher8724 Рік тому
I love the tight corridors makes it feel like if you rush your gonna have a bad time But I also think you should make the loading screens just little gobby helping around town or building houses
@jessejburton
@jessejburton Рік тому
Everything's looking so great! Thanks for the detailed info on the procedural algorithm's. I Found it super helpful :)
@Gimble_Gamble
@Gimble_Gamble Рік тому
The video quality is absolutely amazing! You deserve more subs. Can't wait for the game to be released
@sechmascm
@sechmascm Рік тому
The goblins should live on a dungeon-like goblin fortress imo. It wouldn't be their only place but having it like this would help you separate them from the human invaders that would settle in the current style
@revylokesh1783
@revylokesh1783 Рік тому
I know absolutely NOTHING about coding, but I'm pretty sure an app that spews out a "random" hexmap (using the mentioned wave function collapse) for old-school roleplaying would be incredibly cool!
@idahojake2296
@idahojake2296 Рік тому
Very cool generation tool. Also, great choice of music composer! It sounded great. :)
@Skeffles
@Skeffles Рік тому
Wow the world generation is looking great and I can imagine just how varied a world your game could have now! Good luck with those future tasks.
@trapfethen
@trapfethen Рік тому
You can apply Waveform Collapse at multiple scales. So you could simply look at letting your stitcher work on a smaller scale than your regular biome placement algorithm: maybe 2X2 or even 1X1. That would break up a lot of the "blockiness". You can also look at the more complicated version of waveform collapse that looks at 3X3 or larger patches and actually overlaps it's collapses to constrain the macro pattern more. Finally, you can tweak the probabilities of certain tiles on the border of other biomes by hand to make hard transitions less likely.
@Mistereee
@Mistereee Рік тому
This game is gonna be so cool once it releases! I will definitely be getting it once its out!
@SergiXUP
@SergiXUP Рік тому
I just discovered your project and find it super cool! please keep on going like this
@thebadshave503
@thebadshave503 2 місяці тому
"Stitched Wave Function Collapse" sounds like something a scientist would assure you is safe 20 minutes before you're fending off headcrabs with a crowbar
@zylo202
@zylo202 Рік тому
Interesting stuff! The dungeon gen is going to need some wider hallways though. I was getting claustrophobia just looking at them.
@pixelblaze8284
@pixelblaze8284 Рік тому
I just started this video but my immediate reaction was to do it with machine learning because I'm a data scientist, but then you kinda described a manual and simple model type thing that really functioned more like a single chemical chain reaction. Then as you explained more my brain got excited cause I was recognizing the bones of basic machine learning, before you said it found the rules on its own and is basically machine learning. But then you mentioned it only takes an input size of one and my little coder heart broke because of the horror that is such a small database of probably only like a couple thousand pixels 😭. It was a great rollercoaster of emotions for only a few minutes in, but imma go watch the rest now 😅
@mechanomics2649
@mechanomics2649 Рік тому
I immediately thought similar. Specifically, feeding it a map of our world so that it learns the rules on what goes where and extrapolates those out onto a generated map.
@gameloperr
@gameloperr Рік тому
Its very nice to see more devs use WFC and it generally coming into light. The possibilities are huge & there are quite some interesting angles/approaches that can be taken with this which eventually would lead to original types of world generation & games!
@sobinec
@sobinec Рік тому
Good job! I think the world generation is much better now. Also the soundtrack is amazing.
@mariettathelynx
@mariettathelynx Рік тому
just found your channel, dev logs are so much fun ^^ its interesting to understand how much work a game actually needs. also maybe the music could be a bit slower...
@ethos8863
@ethos8863 Рік тому
As a rule of thumb, procedural generation is never easy, and there's always a tradeoff between performance, and intensive tweaking.
@TAP7a
@TAP7a 10 місяців тому
A key benefit of procedural over manual, especially for solo devs or small teams, is the time to having *something* to iterate on is much faster, and is the time per iteration, even if the starting standard is lower. Obviously you can only achieve that by giving up artistic control, but that's why you iterate to reintroduce it
@theulfhednar2655
@theulfhednar2655 4 місяці тому
I absolutely adore the fact that the music sample's rythm matches the taps of the little goblin's feet haha. So good.
@Ozzymand
@Ozzymand Рік тому
There is a guy named Martin Donald on youtube that made a video about wave function collapse already for world generation, so while this is not the first video on this topic, it is good to see what other people can come up with and explain.
@Gabbe211
@Gabbe211 Рік тому
The game is really cool but it could be cooler if it had seasons like winter and stuff, might be a little laggy but i dont know. Im excited to see if this idea gets added or not!
@stevik12
@stevik12 Рік тому
This is really good keep up the work, Cant wait to play the game, Its like 3d terrarria but youre the goblin and the terrarrian is invading, Like the style!
@SteveGongage
@SteveGongage 3 місяці тому
You have a natural gift for explaining complex concepts! Thanks for sharing it with us.
@Matthew-zs8nm
@Matthew-zs8nm 11 місяців тому
Looks like a really awesome start! I'm really impressed with the results!
@AFourEyedGeek
@AFourEyedGeek Рік тому
Just seen this project, looks interesting, and I love that you've shared your journey. That music is pretty awesome, gives the game a feel straight away.
@Yay295
@Yay295 Рік тому
For the odd patches of the wrong biome, maybe you could add a cleanup pass that removes any clumps of tiles smaller than a certain size and replaces them with an adjacent biome's tiles.
@VengefulSpectre
@VengefulSpectre Рік тому
The music actually sounds pretty good. It was a little loud to me in the video but it honesty made me think of Zelda. Like with all games that look fun to me. If it ever comes to Switch I’ll get it. Don’t have a computer currently lol.
@madolite
@madolite 26 днів тому
The WFC is great because it's the best way to approximate what our Universe is itself doing (or at least "the second half", aka the Cosmos) as it goes from "everything everywhere all at once" to "separate things in separate places at separate points in time" (as indicated with The Observer Effect).
@benjipixel1438
@benjipixel1438 Рік тому
Wow, I just watched your newer aseprite video, your sound design has improved in just 2 weeks! Very interesting subject to talk about to!
@niuage
@niuage Рік тому
WFC algo concept is very easy to understand, what becomes less easy to implement is backtracking when the algo gets stuck, and additional rules like guaranteeing paths between points etc. Tessera is a pretty good asset for that.
@niuage
@niuage Рік тому
Nvm, I see you mentioned Boris the brave, so you def know about Tessera ^^.
@Jam_957
@Jam_957 Рік тому
I think it would be better if you had multiple samples for each biome because that would add more variety and make it feel more random.
@aquinamedia4508
@aquinamedia4508 Рік тому
Nice progression with the landscaping, love the music!
@smithynoir9980
@smithynoir9980 Рік тому
This looks great! Keen to see where you go with the game :)
@helio6839
@helio6839 Рік тому
I love seeing WFC in more games. So much better than noise in most scenarios.
@samuelcollier1764
@samuelcollier1764 Рік тому
Really great progress! I remember watching a similar video on a guy using wave function collapse to generate maps for his game as well (ukposts.info/have/v-deo/jH9hiK5qrmuSw4U.html) I always hear about people using perlin noise, so it's nice to see people using other techniques like these :)
@DerpyDingoDoggo
@DerpyDingoDoggo Рік тому
nice work. live seeing how this is coming along.
@chrism3562
@chrism3562 Рік тому
Seeing a sponsor segment for my local university was a surprise.
@Acudit
@Acudit Рік тому
I am willing to guess that you will want to add some sort of tradesman eventually. I think it would be really cool if he were a kobold. Also, making a port/dock on the beach be something that he needs as a prerequisite to come visit, and the more prosperous your isle is, the more and better resources he will bring to trade. Just an idea. (Also, making the port/dock could make a fishing-inclined villager eventually start work on their own little dinghy so they can go a bit off shore to fish and get better products to sell and a higher quality of life.)
@MousieMagic
@MousieMagic Рік тому
Been interested in wave function collapse and been toying with it myself. When you started talking about your school commute and parking, I agreed because I had the same situation. It wasn't until you showed the picture of the walk up the hill that I knew exactly what school you went to because I went there as well. I walked up that hill too but the one to the engineering building was worse.
@hjewkes
@hjewkes Рік тому
I swear I've seen multiple videos about this and the sudoku example really clicked for me, thanks!
@druidofpies
@druidofpies 5 місяців тому
For that specific list of music requirements, I'd say the composer nailed it
@StiffAftermath
@StiffAftermath Рік тому
That forest music track is truely incredibly-well done! I'd be very proud to have that is my game! 😅
@thanatos454
@thanatos454 11 місяців тому
Love the music sample! Ricardo did a great job with the prompts
@jeremylaf9685
@jeremylaf9685 Рік тому
I stumbled upon your channel the development process is really interesting Really excited about the game lunch
@NaoSakuga
@NaoSakuga Рік тому
This was extremely satisfying to watch. Finding more efficient ways is a talent, very nice
@redpandacreations
@redpandacreations Рік тому
Sending them good vibrations... Wave function collapse looks interesting. Current game I'm working on is pretty linear but sure will come in handy on a future project! Overall looks like the project is coming along nicely, good job :)
@_gamma.
@_gamma. Рік тому
I’ve never seen wave function explained so simply, great video!
@jamiiedev
@jamiiedev Рік тому
Thats so nice, cant wait for next devlog
@churchmuch
@churchmuch Рік тому
I was really digging the music, it sounded great
@pineapplefid9565
@pineapplefid9565 Рік тому
The game looks beautiful so far, I can't wait to play it
@djcrab7041
@djcrab7041 Рік тому
Its so fun watching you work on this game
@olek0
@olek0 Рік тому
the music from ricardo is amazing and it perfectly fits the vibe of the game (or in my terms, the music is absolutely banging)
@JerryA189
@JerryA189 Місяць тому
just making your pants vibrate, nothing to look at here. thx for the clear explanation in the theme, it was very easy to understand.
@anthonycannet1305
@anthonycannet1305 3 місяці тому
I have an idea to possibly improve the quality of the wave function collapse generation but idk if anyone else has thought of it yet… I’m gonna call it Layered Wave Function Collapse for now, since I don’t know if it already has a name… Basically you run WFC in multiple layers. For starters you have your base layer WFC, where it picks the actual tiles to place and directly effects the world. But before you run that you go up a layer, have a grid of biomes and perform WFC on that, then the base layer WFC will fill in the tiles using those biomes to determine the tile set. So as an example say you have 3 main biomes: mountain, forest, and ocean. You would also need 3 additional biomes for the borders, beach, mountainside, and cliffs. It’s fairly straightforward to do standard WFC to place biomes to fill a map area. But each biome has an associate tile set and rule set. And for each cell in the grid you perform wave function collapse, possibly even in parallel with each thread only running WFC on a single biome. You get smoother borders because you define entire areas as a border that performs WFC to get from one biome to the next. I just had this idea at like 5am and I’m currently working on a different project so I won’t be able to try implementing this for a while, and don’t know if it would even work or give better outputs. That’s all a hypothesis that I can’t test right now…
@harvestgoon5291
@harvestgoon5291 Рік тому
I didn't know it until I just watched your video, but I used this wave function collapse algorithm at work to optimize a test framework for the operating system I used to work on. The system ran 10s of thousands of tests, scheduling the OS to be tested on different hardware for different features. We originally used a matrix to test almost every combination, but this began to take too long. Instead I proposed a system wherein we had constraints on how many of what kinds of tests needed to be run on different hardware, and then the system would schedule tests randomly based on the constraints that were still remaining, picking the tests with the fewest options first. Nice video!
@LeoDeo2013
@LeoDeo2013 8 місяців тому
this game looks so cool! im so exited to play!
@archmageofcreation6179
@archmageofcreation6179 9 місяців тому
OMG THAT SOUNDTRACK IS PERFECT AND JUST SUPER EPIC-NICE!
@tmbarral664
@tmbarral664 Рік тому
oh oh, I do love the music. it creates the perfect ambiance. congrats, as it is a pretty important part of a game, sometimes neglected.
@Mikjaash
@Mikjaash Рік тому
"I've just come up with an interesting way..." - way to take sole credit for wave function collapse.
@WattDesigns
@WattDesigns Рік тому
I’m not claiming WFC is new, just the stitching concept of taking thousands of tiny WFC pieces and stitching them together with more WFC
@ryanremer
@ryanremer 9 місяців тому
Thanks for the video, I am building a top-down game and your game's style inspires me!
@oversalt4713
@oversalt4713 Рік тому
As a huge dwarf fortress fan, five whole minutes for world gen is pretty tame. If the world generated is interesting enough, players will gladly wait around watching the simulation unfold for hours before realizing it's not quite right and restarting the entire process.
@mechanomics2649
@mechanomics2649 Рік тому
Going to be honest, I do this for games like Minecraft and Terraria. I'll sit there for as long as it takes to generate a map I'm happy with.
@dragontear1638
@dragontear1638 8 місяців тому
'Realising it's not quite right, and restarting the entire process'. Ah... I'm guilty of that for just about any game that has any form of random map. It's weirdly enjoyable to 'explore' and witness an entire new world, a new canvas becoming a new composition you've not seen before, only to go 'I wonder what the next one would look like' even if what you already have is basically 90% what you wanted.
@infinitefretboard
@infinitefretboard Рік тому
Very cool! This could certainly expedite my process when designing worlds.
@timjrz
@timjrz Рік тому
Great video! I myself am currently getting into 2d game making (with pygame) and you really inspired me. Keep up the good work
@GES1985
@GES1985 Рік тому
This is what I needed. Thank you so much! I will use this to design how procedurally generated homes and populations for cities will be by describing the rules for what a NPC needs to "live" an in game life. What kind of home they would have, and how having a family effects the rooms a home needs or can have, and what items rooms should contain, and how item quality is effected by different social classes. This, mixed with NPCs who can talk to you with AI and have dynamic knowledge about in-game topics they "hear" as news should make for an interesting background, and be a relatively easy way to populate a larger space procedurally, so I can spend my human efforts working on polishing rather than hand crafting everything. Unreal 5.2 looks like it will be super helpful here too!
@SpikeStudio
@SpikeStudio Рік тому
Such a cool way to create the islands!
@closetgeek
@closetgeek Рік тому
Glad you reached out to Boris, his Tessera asset makes it really easy to implement WFC for those of us that either don't have the coding skills or just don't want to bother implementing everything themselves.
@Justanormalguy-vf6qn
@Justanormalguy-vf6qn 11 місяців тому
Love this , I am adding it to my wishlist and can't wait to play it!
@2ndPortal
@2ndPortal 10 місяців тому
A good level/map feels meaningful at every corner
@gljames24
@gljames24 Рік тому
Glad more people are learning about wave function collapse. It's honestly the nicest way to solve a constraint system problem.
@callumlewis9254
@callumlewis9254 Рік тому
Looking awesome can’t wait to play!!
@Danny-gs5dv
@Danny-gs5dv Рік тому
I been watching you for a long time now and never really commented. I know game design is niche but I would have thought you'd have more subs. Then I check to see you've only been doing this for a year. It feels like I've been watching you for 2 at least. Congrats on nearing a million views in any case :D Video was also helpful as well, thanks .
@jamesfrazier7900
@jamesfrazier7900 Рік тому
that music is AWESOME!! Feels almost nostalgic.
@richeeze
@richeeze Рік тому
I can´t express how good the music sounds. It´s epic.
@Gavinwad
@Gavinwad Рік тому
Random recommendation on my feed, worth the click! Great work!
@nickm6075
@nickm6075 Рік тому
This is dope I can’t wait to play this game please don’t stop
@Corbnorb
@Corbnorb 7 місяців тому
one thing that may be cool and help with the not good looking borders on some of the biomes, is do a larger wave function collapse for different biomes, so plains can only touch sparse deserts, so you don't go from plains to the really rocky deserts immediately.
@SaulKohn
@SaulKohn Рік тому
Gorgeous music composition!
Are fishing minigames even fun?
9:01
Watt Designs
Переглядів 46 тис.
Crawling back to my day job
12:05
Watt Designs
Переглядів 109 тис.
Surprise Gifts #couplegoals
00:21
Jay & Sharon
Переглядів 27 млн
Этого От Него Никто Не Ожидал 😂
00:19
Глеб Рандалайнен
Переглядів 9 млн
Superpositions, Sudoku, the Wave Function Collapse algorithm.
14:28
Martin Donald
Переглядів 672 тис.
I Made My Game FEEL Good
6:24
Niles Games
Переглядів 6 тис.
14 months of progress on my goblin game
10:17
Watt Designs
Переглядів 79 тис.
Herbert Wolverson - Procedural Map Generation Techniques
27:29
Roguelike Celebration
Переглядів 101 тис.
I added online multiplayer to my game
8:04
Watt Designs
Переглядів 131 тис.
choosing a game engine is easy, actually
15:08
samyam
Переглядів 149 тис.
When Optimisations Work, But for the Wrong Reasons
22:19
SimonDev
Переглядів 760 тис.
Procedurally Generated 3D Dungeons
9:42
Vazgriz
Переглядів 259 тис.
Все сделали сальто😳
0:31
WORLD TOP
Переглядів 8 млн
😳 Я съела ЧУДО ЯГОДУ и случилось ЭТО..
0:30
Настя, это где?
Переглядів 5 млн
капитан спас жизнь солдату
1:00
Кинобумеранг
Переглядів 1,2 млн
Накормила депутатов 😅 #сериал #топ
0:56
Топ по Ивановым
Переглядів 1,5 млн
Excited Dog Zooms In and Out of Sliding Door!
0:18
The Pet Collective
Переглядів 8 млн