A quick look into the overworld generation.
1) The first step is simple. All I am doing is splitting the world into nine rooms and assigning locations for the dungeons that are necessary to further story progress.
2) The second step is where things get a bit complicated. Each of the nine rooms are broken up into nine, smaller zones. Each zone is represented by several strings that work together in parallel to save a bunch of information. This info includes the layout of the zone (1x1 zone island, 2x1 zone island, a small cluster of islands, etc), some info for how the game should generate that particular set of islands, accessibility (which metroidvania item(s) are necessary to make progress and/or access each island), etc.
3) The final step (for now) is all about the actual island generation. I look back at the information that I have already generated and use it to determine the actual procedural generation of each island. This is where I create actual game objects, auto-tile the island depending on how difficult it is and what items and obstructions are necessary, as well construct dungeon entrances, shops, secrets, etc.
Obviously, I am leaving a lot of the information out of this post, but I wanted to show something somewhat visual and give a little bit of insight into what the project actually is.
If you boil it down to the bare minimum, I am basically trying to procedurally generate a top-down Wind Waker like game.
More to come