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:
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:
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:
- Clear all tiles to Vacant status
- Add enclosing outer wall tiles
- Find doorways and clear those tiles (and add decorative side tiles)
- If there are any splits or shortcuts in the room, add those (top priority)
- Add central feature to the room (find one that fits)
- 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.