Sample Levels from placerooms.pl
Table of Contents
Previously:
- Batch One
- Batch Two
- Batch Three, with the
Cavern
room type added.
- Batch Four, with the
Barbell
room type added.
- Batch Five, with
Lakes
added.
- Batch Six:
Triangles
, Quadrilaterals
, and Fuzz
- Batch Seven: Fixing Dead-End Corridors
- Batch Eight: Cutouts and Bug Fixes
- Batch Nine: Traps
- Batch Ten: Lined Barbell Corridors
- Batch Eleven: More Corridors (quadrangles, lollipops)
New Content
- Batch Twelve: Reclaiming Negative Space
- Batch Thirteen: Intersections
- Batch Fourteen: Larger Map Sizes
- Batch Fifteen: Unfilled Maps
- Batch Sixteen: More Unfilled Maps
- Batch Seventeen: Less Regular Diagonal Corridors
- Batch Eighteen: Overlapping Corridors
- Batch Nineteen: Cyclic Corridors
- Batch Twenty: Hexagonal Rooms
After all the rooms are placed, sometimes there are some pretty big open areas left,
so I asked myself, Why not try to reclaim some of that?
Re-using some of the area-selection code
from cavern-type rooms made this fairly easy to implement.
One problem with this is, sometimes it reclaims too much of an edge, which calls
an unfortunate amount of attention to the overall rectangular shape of the area in which the level
is generated. This next one is a really pronounced example of that:
The edge problem is particularly noticeable when it also includes a corner:
The edge/corner problem gets even worse when multiple corners are involved:
At this point I had an idea for how to mitigate the edge/corner issue somewhat,
so as to avoid needing to throw out the whole idea of reclaiming negative space. It's a simple
idea: I masked off the corner areas pre-emptively before looking for candidate areas to reclaim.
This next level was my very first run with that change: it was a barbell level with a non-stone-lined
barbell corridor, and the negative space that got reclaimed was next to the corridor, causing the
middle part of the corridor to get converted into room floor, leaving corridor at the ends of it:
Areas on the edge do still get reclaimed sometimes, when they don't include a corner:
Here's another case where negative space reclamation absorbed part of an adjacent corridor
(three tiles of the corridor remain at the north end):
Here a small internal area was reclaimed (a few tiles northeast of the corridor):
Here a three-tile cutout inside a room was reclaimed:
Here the middle part of the quadrangle interior was reclaimed:
Finally, a demonstration of the fact that randomness can occasionally produce
outcomes that don't look random. You wanna guess which part of this map is the reclaimed negative
space? Would you believe it's that perfect 18x3 rectangle in the bottom center of the map?