Hey, there! Yeah Del_Duio, I hear you! We kept expanding this game for several months, and it makes me kinda sad we never fully finished it before moving on to other projects...
Dev618, there are several sides for procedural level generation. Maybe the most important for MMF is that you won't be using its level editor for the levels themselves, but instead, create a map loader technology in it. So you make a map maker in another frame in order to save the level layouts (what tiles are obstacles, what are not) in arrays (we call these "map pieces"). Then, when you are in the "game" frame (the one which contains the map loading capability), at the start of the frame you load one of the map piece arrays that you previously saved and place all other objects (player, enemies, etc) accordingly.
Now, what exits in your level lead to which other arrays of your map pieces database?
That question refer to the actual procedural generation. Basically, you have to define some procedural logic (half random, half logical rules) that tell MMF how to create a random map layout - that is, where the player starts and how all rooms are connected from that initial room up until the very last room in the game. In our case, because the map generator is in itself somewhat complex and we wanted to keep things modular, we made it so that the map is generated on its own dedicated frame and saved into an array. Then when the player starts the game, the game executes its map generation frame, which generates the overall layout of rooms. Then it goes to the next frame, which is already the game frame (where absolutely every weapon, enemy, boss, dialog and anything else that happens in the game is coded) - at the Start of Frame it loads the right map piece (it knows which one to load based on the map layout array). When the player avatar moves out of the screen through one of the map piece exits, we update a value somewhere to let the game know where he is moving in the map layout. Then we restart the frame - and because the player coordinates in the overall map layout are updated, this time the frame will load a different map piece, according to what is established in the procedurally generated map layout array.
I know it can sound a little daunting or confusing at first, but that's really the core of the idea! You'd then would have to figure out which rules your procedural generator needs to have to accomodate the design of your game, but that will come naturally once you get the hang of it.
Hope it was helpful!