In my project, each floor has an integer value that relates to the "strength" of the creatures on that floor. So for example, level 1 has a value of 0. So, you will get creatures with a relative "difficulty" of 0. Creatures can roam up to one value up or down, so you may find a level 1 creature in a level 0 floor, or a level 1 creature in a level 2 floor. The fine mechanics are a little more complex, but that's the general idea. I'm hoping it's balanced.