Тёмный

Finding Mesh Edges for Wave Function Collapse | Indie dev log | Clomper #32 

Rob Lang
Подписаться 2,9 тыс.
Просмотров 8 тыс.
50% 1

This has been a hectic week, what with Indie Dev Chat on Wednesday (a lot of fun) but I managed to make good, if a little slow progress on automatic finding tile edges.
➡️ Wishlist on Steam: store.steampowered.com/app/23...
🔗 Links
Matt Bull Indie Dev Chat: • Indie Dev Chat with Ro...
Link to C# hashing on Stack Overflow: stackoverflow.com/questions/2...
⏰ Timestamps
0:00 Introduction
0:44 Simple Tile Adjacency
1:37 Manual Adjacency
2:05 Making Edges from a Mesh
3:30 Tile Edge Adjacency
4:30 Mistakes Were Made
5:31 Outro
TIGForums Blog forums.tigsource.com/index.ph...
@theclomper / theclomper
#devlog #unity #gamedev #indiegame

Игры

Опубликовано:

 

27 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 39   
@RobLang
@RobLang 3 года назад
I'm anticipating lots of FIX IT comments; for those wondering, it's something I say a lot and it came out by accident in Matt Bull's Indie Dev Chat last Wednesday. Link up in the description.
@casualdutchman
@casualdutchman 3 года назад
Fix it!
@TonsOfHunStudios
@TonsOfHunStudios 3 года назад
*FIX IT*
@tomweiland
@tomweiland 3 года назад
_"Far more complex and error prone, so let's do that!"_ hahahahaha 😂
@RobLang
@RobLang 3 года назад
It's true, though, isn't it? Do you feel seen? 😊😉
@tomweiland
@tomweiland 3 года назад
@@RobLang very true :P
@Skeffles
@Skeffles 3 года назад
Not only have you found a great solution but you gave such a great explanation for how it works. Absolutely brilliant devlog!
@RobLang
@RobLang 3 года назад
Thank you! Not sure I would always recommend this kind of algorithm, my brain gets tied up in knots!
@Chadderbox
@Chadderbox 3 года назад
I feel you on choosing to automate it instead of doing it manually. I find myself making so many editor scripts to do stuff that would take about 10 minutes.
@RobLang
@RobLang 3 года назад
Indeed! It might take 10 minutes each time but I'll have to do it a hundred times. 😉😊
@sauliustb
@sauliustb Год назад
@@RobLang and don't forget the error proneness of doing things by hand!. at least if you have a script, you do it wrong every time ;)
@TonsOfHunStudios
@TonsOfHunStudios 3 года назад
The edge detection/creation and hashes seem really interesting! It's cool to see your own solution to it and thanks for holding my hand so I could follow along :D Kind of stinks of how Blender imports into Unity so you have to manually tweak them a bit. Hope to see it all come together soon!
@RobLang
@RobLang 3 года назад
Thanks, Garrett! FBX export is kinda annoying, I agree. However, I'm not sure how I would do it better! 😂
@kevingeertjens2859
@kevingeertjens2859 3 года назад
Great stuff, I see the world generation is coming along well. Keep up the good work :)
@RobLang
@RobLang 3 года назад
It's it coming along very well, thank you Kevin! 👍🏻
@ramsey2155
@ramsey2155 2 года назад
super duper amazing!
@RobLang
@RobLang 2 года назад
Thank you! That's very kind.
@ramsey2155
@ramsey2155 2 года назад
@@RobLang thanks, you are really welcome
3 года назад
Great devlog Rob! :D Why do something boring by hand in 20 minutes when you can spend 20 hours trying to automate it. Anyways, I hope you don't get many bugs this way but if you do stumble upon one, I'm sure you'll be able to FIX IT!
@RobLang
@RobLang 3 года назад
"It's just code, Fix It". I may yet have to walk away from Wave Function Collapse and do something a little less complex but for now it's working out! 😀
@MetaCzech
@MetaCzech 3 года назад
Interesting solution, I hope you make it work ;) I would definitely do something different, such as using perlin noise to generate the grid, and then I would read the perlin noise to find the correct mesh (+ rotate it if needed). Anyway, keep up the great work :)
@RobLang
@RobLang 3 года назад
That would be perfect too. It's my backup option! 😆 Using wave function collapse means that I get more variety for less work. I hope. In theory. Probably. 😆
@MetaCzech
@MetaCzech 3 года назад
@@RobLang well, have fun, because using perlin noise map would mean, that returning to previous location would generate identical environment. I don't think that its easy to achieve this using your current method. Anyway, I can't wait 4 finished product. Keep up the great work :)
@casualdutchman
@casualdutchman 3 года назад
Great explanation again! I heard stuff about hashes, hut never understood their use. Now I do! Thanks for that. Could you add the inwards corner piece? That would make the world a lot more interesting I guess.
@RobLang
@RobLang 3 года назад
Superb suggestion. Yes, I will add an inner corner for certain. This tile set is *very* minimalist on purpose so that I can check that the algorithm works! ☺
@siavashaliyari8567
@siavashaliyari8567 2 года назад
very very nice keep it up
@RobLang
@RobLang 2 года назад
Thank you!
@emmettobrian1874
@emmettobrian1874 3 года назад
Would the hashes be different from the step tiles if you decided to introduce a ramp tile?
@RobLang
@RobLang 3 года назад
That's a great question. Ramps and steps would have different hashes because the hash is made from the edges, not just the vertices. If it were vertices alone then there would be no difference between a ramp and step. However, using edges protects me from that. 👍🏻
@ThomasThomassen
@ThomasThomassen Год назад
@@RobLang Do you generate a hash for every tile's side? The side might consist of multiple edges, and you are building hashes that are a combination of the vertices and edges along that side?
@RobLang
@RobLang Год назад
Great question! I'm building a hash of all vertices and edges on a side. It doesn't matter if the side has lots of edges, as long as they are hashed in the same order. I ensure that by temporarily ignoring the side's rotation and looking at it as a 2D projection. I hope that helps! If you need more details, my Discord is Rob Lang#7769
@sauliustb
@sauliustb Год назад
you have such a nice voice :)
@RobLang
@RobLang Год назад
Thank you! That's very kind of you to say.
@tiagobarracha
@tiagobarracha Год назад
kinda late, but not making them rules is just as boring as having to restructure them edges in blender :o
@RobLang
@RobLang Год назад
So far, I've found that ensuring edges line up in blender is much easier. As the combinations of edges grows, the number of rules will explode and if I missed a pair of rules it would mean that in certain circumstances the world would not be able to generate. I've added new tiles and types of tiles in Blender easily enough and not changed the algorithm at all - so I feel that so far it's the right decision!
@DerClaudius
@DerClaudius 3 года назад
background music is pretty loud
@RobLang
@RobLang 3 года назад
Sorry about that! I think I fixed it for other videos. 👍
@TitanLordofPizza
@TitanLordofPizza 3 года назад
seems like your getting proggress!
@RobLang
@RobLang 3 года назад
Snails pace but things are eventually working! 😊
Далее
Markov Chain based Wave Function Collapse
23:50
Просмотров 19 тыс.
Games Where You're NOT the Main Character
14:52
Просмотров 1,7 млн
Giving Personality to Procedural Animations using Math
15:30
Optimizing my Game so it Runs on a Potato
19:02
Просмотров 440 тыс.
ИЩУ ВЕСЕЛЫХ ТИММЕЙТОВ .PUBG MOBILE
4:32:05