Author Topic: Room Generation Improvements  (Read 1025 times)

Offline TechSY730

  • Core Member Mark V
  • *****
  • Posts: 4,570
Room Generation Improvements
« on: May 05, 2012, 06:47:45 pm »
(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.

Offline Huaojozu

  • Newbie Mark III
  • *
  • Posts: 38
Re: Room Generation Improvements
« Reply #1 on: May 05, 2012, 07:02:56 pm »
Very common technique used mainly in JRPGs are simple palette swaps of monsters/objects.

You have a cave, brownish-darkish cave. Good.
Palette swap to bluish-lightish tones and you have an ice cave without much trouble.
Palette swap to reddish tones and you have a volcano cave.

Same for enemies.

Very simple and very efficient way of distinguishing areas and enemies from each other. However it still doesn't solve the problem of every ice cave looking the same.


EDIT: Platforming challenges are somewhat difficult to imagine when you can place wooden platforms anywhere you can. Perhaps a sort of dedicated platforming mission with turned off wooden stuff?
« Last Edit: May 05, 2012, 07:05:22 pm by Huaojozu »

Offline Bluddy

  • Sr. Member Mark III
  • ****
  • Posts: 434
Re: Room Generation Improvements
« Reply #2 on: May 05, 2012, 10:38:12 pm »
My mantis request http://www.arcengames.com/mantisbt/view.php?id=7324 is basically for this.

I think you need lots of interesting items as well: floors that do different things (gravity, anti-gravity, stick, slippery, etc) and objects that do different things.

I also think platforms and crates should be turned into spells, and that they should be disabled in most areas that are supposed to be about platforming using some kind of enchantment.

Offline tigersfan

  • Arcen Games Contractor
  • Arcen Staff
  • Master Member Mark II
  • *****
  • Posts: 1,599
Re: Room Generation Improvements
« Reply #3 on: May 05, 2012, 10:50:05 pm »
One thing to keep in mind is that most of the interior rooms actually aren't random. Most of them are hand-crafted, and then chosen at random from a list. If anyone would like to add more rooms, We'd LOVE your help. You can find instructions here: http://www.arcengames.com/forums/index.php?board=94.0 .