Today I "index carded" a Zelda overworld generator that shows some fairly promising potential.
The original Legend of Zelda is a treasure trove of interesting game design elements to learn from. Studying it is always a worthwhile endeavor. I've always dreamed of making a Zelda-like myself. What were you planning on using for your actual implementation?
Well, the world area is divided into 4 types of terrain, as forementioned; and will build a map of according size. So given:
= Coastline (mirrored on right)
= Mountains
= Plains
= Woods
...the world would be created as so:
-SMALL-
-MEDIUM-
...and so forth.
In my cards, I have 25 of each type, and they each create an "offset room design" which creates openings in two directions. The Coastlines connect northbound (and loop), and inland; 4 of them also contain piers where you can launch and loop around with the raft (IE: it's just a tool). The Woods links northbound and eastbound, where the Plains connect northbound and westbound, naturally; and the Mountains (being at the top and all) connect eastbound and southbound. (The Northwest region is *intentionally* the most remote area of the map.) Where the areas merge, if *either* area establishes a connection, they're connected.
Each of the Mountains, Woods, and Plains has a looping "Lost/Maze" area with a self-contained advice shop. A random integer 1-6 determines both the solution outcome (simplified to 3 screens) and the dialogue of the advice shop. Only three of the directions loop, one way out is always a "safe out." The "Gamble Games" use the exact same type of randomizer, which is unfair by design, but still random enough to be fun.
Next, you clearly need the dungeons. Each of those three areas contains 4 each, labeled something like W-1 (Woods dungeon entrance #1). 1s and 2s are always open, and provide a sense of both nonlinearity and progression, whereas 3s and 4s are hidden. Now, which mix appears and how many you'll have to take on (at this point) is pure chance; but where software is concerned, you could easily seed a number of each type into existence. Each of them also has a pushblock-enabled "Warp Zone" like a simplified version of the "Take Any Path" rooms from the OG as well.
Then, you mix in some vanilla monsters-only screens, shops, all of those other factors mentioned above. About half of which are intentionally hidden one way or another. Note that while the Coastline seems omitted in design so far, it couldn't be further from the truth - the coast serves a few purposes of it's own, just different than stuff like the dungeons. Enemy groups appear on the grid (along with your starting position) based on their relative grid locations.
__________
It's a little down the road, but I'm well on the way to dungeon generation, too. The premise is to take basic "shapes" (IE: just like the OG game and Link's Awakening did), and formualte rooms with always-bombable walls. From there, insert the starting point (at the bottom), the ending point (surrounded by unbreakable walls, and linked to a boss room or two), a dungeon-specific item room. Then simply modify the enemy formations and contents of the rooms (lava streams vs. blocks vs. open tiles, etc.) based on which level you're on at the time; and then A* them together from start to wherever, adding a key every so often, followed by a locked door a few screens after. (And then just for kicks? An off-the-map treasure room, somewhere.)
Way easier to concieve and even logically structure than it is to program, though! XD