(This thread should probably go in the brainstorming subforum)
One of the common complaints is that rooms feel rather "samish", despite the random generation of rooms.
This is most evident in caves, but can also effect surface areas and buildings too.
As such, this thread is about ways to make the room generation "smarter", more varied, and generally make rooms more interesting.
Some ideas I have
- More varied "room generation parameters" for different building types (aka, make the different types of buildings feel even more different, like rooms you find in a shed tend to be very different feeling then rooms found in a tower or pyramid)
- Tie sets of adjustments to "room generation parameters" to region types for both buildings and caves. Right now, the only different types of room layouts you can expect per region type is mostly in surface areas. In buildings, most variety comes from room and building types (which, IMO, could use even more distinction, on top of regional distinction, see first point). In caves, well, there really aren't many room types for caves that have noticeably different generation patterns (see next point).
- Introduce cave room types. As there really aren't different room types for caves that have different generation patterns tied to them, every cave room is structured mostly the same sort of ways. In addition to region type based adjustments to the "room generation parameters", there could be new cave room types.
Building rooms sometimes have different attributes attached to them that can effect room generation. Like a room can be marked as a stairwell, and it will have a "stairway like" or "ladder like" build to it.
Or a room can be marked as a maze room, and thus the room generator will structure the overall layout of the hallways in a maze like pattern.
Or a room can be marked to be hallway based, and thus will have lots of hallways in them.
And of course there are the themes for each room type (bathrooms with toilets, bedrooms with beds, etc)
There are no such room types and room modifiers for cave rooms short of boss rooms and gem veins, neither of which seem to influence the overall structure of how the room is built, only what can spawn in them.
Now adding "room types" for caves may be a bit tricky, as in-universe, they are naturally made. Thus things like a room that is a hallway or stairwell or maze or any other clearly human built pattern. As such, finding room archtypes for caves that still feel like they are naturally built rather than human built may be tricky.
One suggestion I posted several times is to allow for a subset of human made rooms in caves (probably new ones that are built "cavish", but this is about how to make the random room generator itself more varied.
- As people have pointed out, interesting platforming and environmental challenges are tough to make, as this is a random process. Although this can be fixed by adding new human made rooms to the standard list, it would be good to make the room generator itself be able to make interesting platforming or environmental challenges. Not that it doesn't happen now, but AFIAK, mostly due to sheer blind chance, not by any special code in place to attempt to create "platforming puzzles".
This falls under the "make the room generator smarter" catagory, but it is not easy by any means. I don't know any full fledged way to tackle it.
One thing I can think of is to allow the room generator to place human made segments or segment templates of rooms, not just whole rooms. That way, the room itself may be randomly generated, but that place in the center that you have to get through to get to the other door may be a human made challenge/puzzle, or at least based on a template made by a human.
Anyways, as with many automated generation tools, working with them is not simple.
But, IMO, if you want to make the game engaging in the long term without always having to add new content once we get used to the existing content, you are going to have to improve the room generator.