For context, I tend to pre fabulate the dungeons I work with, assigning different tiles to tile number variables.
So I wondered then how to go about procedural generation if all I ever did was read a .txt file graphic from a file. Well actually what I would do is a solution I figured out by accident.
You make seven different versions of the same game. They don't have to be called anything fancy, just a letter will do. Then when you have the player go to new game from the title screen, you have Ruby pick a pseudo-random number from a list, then program an automatic input function that warps the play to a different previously written game file.
This solves a lot of the problems I was having figuring out how to place the @ guy on each procedural generation.