Room Tester – First Look

The latest addition to the Soulcaster 3 editor is the Room Tester. This takes a set of parameters (the room recipe) and generates a room to fit the criteria. So long as you specify the same seed, the room is always generated in the same layout given any recipe.

Here’s what the pattern editor looks like:

Recipe parameters on the left, room preview on the right
Layers and tile properties on the left, editing area on the right

This is the collection of four room split patterns. When a door is marked as a split entrance, it matches one of these with the door to prevent access to it. The + symbol represents the anchor position, where it needs to align with the door in the room. The pattern area is within the colored rectangle. The tiles marked with diagonal lines are required tiles, meaning they have to be included in the room for the pattern to be valid.

Here’s what the new room tester looks like:

Recipe parameters on the left, preview on the right
Recipe parameters on the left, preview on the right

I can use this screen to test rooms of various sizes, with optional doors (and door types) on each side. (RoomLayouts and Distance From Home are not used yet. More on that in a future post.)

Here are some rooms generated with various parameters:

sc3 layout 5
Top door is marked as a split entrance, and thus is cut off from the rest of the room

sc3 layout 2 sc3 layout 3 sc3 layout 4 sc3 layout 7When a room is generated, it goes through several passes in the right order:

  1. Clear all tiles to Vacant status
  2. Add enclosing outer wall tiles
  3. Find doorways and clear those tiles (and add decorative side tiles)
  4. If there are any splits or shortcuts in the room, add those (top priority)
  5. Add central feature to the room (find one that fits)
  6. Add corner features to room (they also must fit without blocking the path between doors)

The next thing is dynamic generation of spawners and items. Eventually there will be decorative passes on the room, such as tile blending, overgrowth and ruin simulation.

 

Leave a comment

Your email address will not be published. Required fields are marked *