Thank you for the kind words! It was a lot of effort yes :) The generation bit I used a trick I learned from the Dead Cells devs: hand-designed room layouts, and then the generation algorithm just randomly picks those to assemble the world. The only difficult thing is guaranteeing all rooms are accessible (this is what makes the game freeze for a while when generating a new world, by the way)