Cavernroom type added.
Barbellroom type added.
Lakesadded.
Triangles,
Quadrilaterals, and
Fuzz
organic xwas probably the most interesting. Ellipses were also present, but rectangles tended to dominate. Nonetheless, the overall room-placement algorithm was working. Here are the samples, presented as screenshots:
vestibules, single-length corridors like the standard NetHack room-and-corridor level generator's
closets. I also lowered the probability number for rectangular rooms, in an attempt to make them dominate the levels less. However, the corridors here don't feel like they integrate into the level very well, partly because they tend to get placed on the edges of the level (likely because nothing else really fits there). The vestibules do better in this regard. Corridors are a question that was destined to be revisited later. The samples:
cavernroom type, as described in the inspirational article. It adds a lot of variety.
barbellroom type. The barbell doesn't usually fit unless it's generated very early in the level creation process, so not all of these samples have one; but there are several good examples. When you see a corridor in these levels that doesn't look like the ones in the previous batch, it was probably created by the barbell generator (which starts with two rooms and joins them with a corridor from the one to the other). The major exception is the secret corridors, which respresent an improvement to the fixup code: when the level is basically complete, any door that is adjacent to corridor tiles but not adjacent to any floor tiles becomes a secret corridor.
This was the first attempt to add liquids. It only sort-of works and will need to be revised.
trianglesand
quadrilaterals, both of which sound like they would feature straight lines, but they don't necessarily, because I draw the lines using the same function that draws the barbell rooms' corridors). In addition, partway through this batch, I introduce a
fuzzfeature to two of the existing room types (elipses and rectangles), which sometimes causes their edges to be more irregular than before.
triangleroom.
triangleroom:
lakecode: sometimes instead of water, it places other things. you've seen lava; but here it used walls. (I need to adjust the fixup code to handle this case better, probably by converting any wall tile surrounded entirely by other wall and stone tiles to stone.) Notice what it did to the room just southeast of it: the northwest corner of that room used to be a right angle. Not anymore.
trianglerooms. How many can you spot?
quadrilateralrooms (both near the middle).
caverngenerator, but I believe that lava lake is a
triangle.
fuzzedrectangle. The room in the northeast corner is almost certainly a lightly
fuzzedelipse; the one next to it may be as well.