Herbert Wolverson - Procedural Map Generation Techniques

  Рет қаралды 106,201

Roguelike Celebration

Roguelike Celebration

Күн бұрын

This talk is from the 2020 virtual Roguelike Celebration:
roguelike.club/event2020.html
Herbert has been a hobby game developer since the 1990s, and is the developer of Nox Futura, One Knight in the Dungeon, and several 7DRL projects. Author of the Rust Roguelike Tutorial, and upcoming book with the working title Learn Rust by Making a Game book (Pragmatic Bookshelf, expected release this winter). He's a regular contributor to the subreddit r/roguelikedev.
This talk is a detailed survey of procedural map generation, including integration of hand-crafted "prefabs"/vaults. While the source material is written in Rust, it's readily abstracted to psuedocode and presented in a language agnostic fashion. Techniques include: Simple room placement, BSP room placement, BSP interiors, cellular automata, drunkard's walk, mazes, diffusion-limited aggregation, voronoi, wave function collapse, and prefabs. Sprinkle in a little spice by adding symmetry, layering/combining generators, different corridor algorithms, and doors placement.
Find him on Twitter: / herberticus
Roguelike Tutorial section 3 techniques and illustrations: bfnightly.bracketproductions.c...
Rust Roguelike Tutorial: bfnightly.bracketproductions.c...

Пікірлер: 58
@henrykkaufman1488
@henrykkaufman1488 3 жыл бұрын
Dude, that's one of the most useful presentations on game programming I've ever seen.
@beefwenceworth8275
@beefwenceworth8275 Жыл бұрын
I'll second that. It's a goldmine of information.
@mattsadventureswithart5764
@mattsadventureswithart5764 5 ай бұрын
​@@beefwenceworth8275I'll third it. This was extremely interesting.
@JoeGeorge319
@JoeGeorge319 2 жыл бұрын
Man I wish this talk just went for another 30 minutes, very nice
@jspiro
@jspiro 2 жыл бұрын
This deserves thousands more comments. Thanks for putting this catalog together for us!
@joewilliams8286
@joewilliams8286 Жыл бұрын
I keep coming back to this one, brilliant resource
@ZackLivestone
@ZackLivestone 3 жыл бұрын
Solid rapid fire overview, really appreciated!
@Vedranation
@Vedranation 3 ай бұрын
Amazing presentation. Clean, easy to understand, with great visualition. Thank you
@itsfela
@itsfela 2 жыл бұрын
I always come back to this one
@alexanderdiogenes8067
@alexanderdiogenes8067 3 жыл бұрын
Just finished Section 3 of your Rust Roguelike tutorial (decoupling the map from the viewport). It is fantastic. I've learned so much, and I've fallen in love with Rust as a language! Thanks for bracketlib and rltk, in particular.
@thebracket
@thebracket 3 жыл бұрын
You're welcome! I'm so glad people are enjoying it - I've had a blast writing it. :-)
@guywithknife
@guywithknife 3 жыл бұрын
This was a really great talk, thank you! I've read all the books I could find on PCG and watched all the GDC talks, but this talk is better than most. Its so clear and to the point. Good job.
@jumpergamer1913
@jumpergamer1913 Жыл бұрын
Any book recommendations?
@RetsaGames
@RetsaGames 3 жыл бұрын
Amazing talk, makes everything look so simple
@olmrgreen1904
@olmrgreen1904 Жыл бұрын
Awesome video! I've learned so much in a very easy and basic way about things I thought were complicated as hell.
@Zadhompl
@Zadhompl 2 жыл бұрын
Topic of my thesis is based around procedural generation and this video alone provided enough info to speed up my progress threefold. Cheers, Herbert Wolverson is a living legend in my eyes.
@Dukkz24
@Dukkz24 7 ай бұрын
Would you mind sharing some info on Discord with me by chance? Either personally or maybe some references/material you have on the matter? I'm really interested in starting to learn this topic, but most info is very high level, doesn't really get into the how's.
@arlowicks9359
@arlowicks9359 Жыл бұрын
Probably one of the best resources online for procedural map generation principles.
@hugobarbachano1831
@hugobarbachano1831 3 жыл бұрын
Awesome, can´t wait to tinker with this !
@Galakyllz
@Galakyllz Жыл бұрын
This presentation was great.
@KiKeoLiVa
@KiKeoLiVa 2 жыл бұрын
Really great video, thank you!
@Algorhythmic
@Algorhythmic 3 жыл бұрын
Very useful info. Love the humor as well.
@KoN312
@KoN312 3 жыл бұрын
really interesting and informative. i'm not that big of a programmer, but i tried things like this and played around with rooms and corridors in python and pygame(just some rooms and corridors).. i was thinking way too complicated. the video really opened my eyes how easy it could be if you think just a bit around the corner. thanks!
@davidxdhloqud
@davidxdhloqud 2 жыл бұрын
Esto vale millones! Gracias! :D
@AleksandrK51228ruswi
@AleksandrK51228ruswi Жыл бұрын
Very helpful, awesome!
@nztuber
@nztuber 8 ай бұрын
Excellent, thank you
@markvador6667
@markvador6667 2 жыл бұрын
Amazing ! Thanks you a lot !!
@naphipps28219
@naphipps28219 3 жыл бұрын
Another technique I love to use is domain warping with perturb techniques. (Inigo Quilez has awesome articles on these topics, for those interested.)
@shitheadjohnson2797
@shitheadjohnson2797 2 жыл бұрын
Inigo Quilez taught me about distance field raytracing and i got this amazing procedural terrain out of it in not many lines of code, the problem with it is getting the units on it because it has an instancing problem when i did it. really good indie style
@bordel6121
@bordel6121 2 жыл бұрын
Great talk, I learned stuff
@nighttraveler9993
@nighttraveler9993 3 жыл бұрын
Love it
@oddminngdev9844
@oddminngdev9844 Жыл бұрын
This man is awesome.
@PabloGaraguso
@PabloGaraguso Жыл бұрын
Excellent
@bobbob9821
@bobbob9821 10 ай бұрын
Giving me the idea to place tile objects first and then do the subtraction with a separate object just saved me a lot of time messing with noisemaps in arrays.
@deepdarkdown
@deepdarkdown 2 жыл бұрын
nice overview.
@pik910
@pik910 2 жыл бұрын
If you want to make a Voronoi diagram in a discrete space a fast and easy way to do that is to grow it. E.g. for Manhattan distance: draw the border of a rectangle around the seed each step and grow that. You can stop growing an individual seed if no empty pixels were found. That makes it very fast even with a high amount of seeds.
@darkfrei2
@darkfrei2 3 жыл бұрын
You can use the DLA-cluster system, but in needs sometimes too much time to generation.
@shitheadjohnson2797
@shitheadjohnson2797 2 жыл бұрын
those voronoi cells might make a pretty floor in doom.
@chien461
@chien461 3 жыл бұрын
Fractal Brownian Motion!
@thebracket
@thebracket 3 жыл бұрын
That would be a fascinating topic! I'll add it to my (long) list of ideas. :-)
@lophyre1380
@lophyre1380 3 ай бұрын
I do not understand how the BSP leads to no rejection though. We have just divided the map into half a couple of times? 🤔
@JW-fd8sh
@JW-fd8sh Жыл бұрын
Is there any source code available for us to review?
@smiley_1000
@smiley_1000 2 жыл бұрын
Enjoyable Presenter
@RobVespa
@RobVespa 3 жыл бұрын
Oh, wow. I just bought Herbert's Rust book, which is still in beta...
@RobVespa
@RobVespa 3 жыл бұрын
Nice video!
@omeritachiquita
@omeritachiquita 3 жыл бұрын
😙👌
@ajinkyax
@ajinkyax 3 жыл бұрын
Best game dev. And Rust is a great choice
@awesomegamedev
@awesomegamedev 2 жыл бұрын
Great presentation with a ton of content! But it starts at 4:00 Thank me for saving you 4 minutes:)
@jeshweedleon3960
@jeshweedleon3960 2 жыл бұрын
you are thanked
@RetroGamerEightyOne
@RetroGamerEightyOne 2 жыл бұрын
What’s the reasoning behind Python being the preferred rogue like language?
@huuuuuuuuuuuuuuuuuuuuuuuuuuuhn
@huuuuuuuuuuuuuuuuuuuuuuuuuuuhn Жыл бұрын
I think python is just very popular in general
@torcher5023
@torcher5023 3 жыл бұрын
Есть здесь русские любители рыгаликов мммм?
@maksimhapeyenka2435
@maksimhapeyenka2435 3 жыл бұрын
есть русские разрабы только)))
@torcher5023
@torcher5023 3 жыл бұрын
Рогалики делаешь? Только не говори, что на юнити.
@maksimhapeyenka2435
@maksimhapeyenka2435 3 жыл бұрын
@@torcher5023 ваще libgdx использую, но заинтересовал rust очень сильно, вот и смотрю по нему материал. На этот видос случайно наткнулся, я просто хотел посмотреть отзывы на книгу чела, который в этом видосе лекцию дает.
Tarn Adams - Villains in Dwarf Fortress
33:01
Roguelike Celebration
Рет қаралды 242 М.
Brian Bucklew - Dungeon Generation via Wave Function Collapse
26:32
Roguelike Celebration
Рет қаралды 42 М.
Was ist im Eis versteckt? 🧊 Coole Winter-Gadgets von Amazon
00:37
SMOL German
Рет қаралды 36 МЛН
Вечный ДВИГАТЕЛЬ!⚙️ #shorts
00:27
Гараж 54
Рет қаралды 14 МЛН
Procedural Generation: Programming The Universe
41:57
javidx9
Рет қаралды 203 М.
A CHASM of Mediocrity - Procedurally Generated Metroidvanias
20:34
ingeniousclown Gaming
Рет қаралды 524 М.
I rewrote my dungeon generator!
4:27
UnitOfTime
Рет қаралды 151 М.
This Problem Changes Your Perspective On Game Dev
25:51
Jonas Tyroller
Рет қаралды 359 М.
Can I Create Video Games Using SQL? (No Game Engine)
20:58
icitry
Рет қаралды 125 М.
Cellular Automata | Procedural Generation | Game Development Tutorial
15:22
Animation vs. Geometry
9:17
Alan Becker
Рет қаралды 7 МЛН
СБЕГАЮ ОТ ЗЛЫХ РОДИТЕЛЕЙ в Schoolboy Runaway
44:32