If you want some actual info on Procedural Generation, then watch the talks from Roguelike Celebration. It's a convention focusing on roguelikes, which seem to attract those more interested in the programmatic side of game development. Its got a ton of great technical talks. I haven't watched the remote sessions, but the older in persons are great.
My favorite from that collection on map generation is by Herbert Wolverson: https://www.youtube.com/watch?v=TlLIOgWYVpI He goes over 5 or 6 different techniques that are easy to implement.
That Bob Nyquist has a pretty cool roguelike on github called Hauberk written in Dart, amongst a number of other good related dev articles and best practices on his blog.
The problem with most of these generators is that you end up with insane looking dungeons. I wonder whether a different approach which took into account the kind of dungeon it was supposed to be, and what features should be located in it, could lead to better results.
1. Different generators for different "environments" -- e.g. cellular automata for more open areas / caves, BSP for rooms, etc
2. Smash them together to create the map, with the different algorithms for different sections (or even applied on top of each other)
3. Add "templates" to have some more intelligently designed areas -- rooms designed by hand, possibly multiple variants for the same location. Use this for special rooms, boss areas, etc. DCSS has tons of these, both for important areas, treasure trove gimmick things and also just for flavor.
4. Change algorithm/template choices per topical area, to make them more distinct. DCSS uses different strategies per branch, giving them each a very distinct feel
https://www.youtube.com/channel/UCKv_QzXft4mD6TXmQBZtzIA/fea...