I've uploaded version 1.1 of Strata! Here are the release notes. Huge thank you to keybol and r618 for their excellent and helpful feedback.
I've taken both of your feedback and bug reports on board and hopefully fixed everything. I completely rewrote RoomChain and replaced it with RoomSequence and RoomTiler and I think they are both much much better, including addressing and fixing the previous problems. I also included the 3D demo scene I showed on YouTube and added a new TunnelBrancher generator type that spawns sub-tunnels while it tunnels.
1.1 Release Notes:
1.1:
- Replaced RoomChain Generator and with RoomSequence and a RoomChain component. RoomChain Generator proved unreliable in generating chains of desired length. New approach is much more robust and always achieves minimum chain length. Also adds support for placing start/end rooms from a RoomList at the end of the RoomSequence.
- RoomChain component is a data holding object that is created and destroyed during generation. It tracks progress of RoomSequence and RoomTiler generation so that that data is not stored in BoardGenerator, making resetting cleaner and easier.
- Added RoomTiler. RoomTiler is like RoomSequence but instead of spreading in one direction spreads in all available directions marked by exits for a number of iterations. Grows buildings with connected paths branching off from a center.
- Added TunnelBrancher: This is like WanderTunnel but has a percent chance to spawn new WanderTunnels every step. Useful for generating branching tunnel systems.
- Added turnNoiseValue parameter to WanderTunnel, this flips the generation back and forth between preferring to tunnel horizontally first or vertically first based on a random percentage roll, this makes for more irregular, squiggly tunnels. Keep at 0 for clean 90 degree turns in tunnels. Also implemented in TunnelBrancher.
- Moved some source comments into Tooltips, not all yet.
- Fixed a path bug when setting up profile for first time
- Added simple example scenes for TunnelBrancher, RoomTiler and RoomSequence to MiniRogue example.
- Added Experimental CubeWorld 3D Example Scene: This demonstrates using Strata to spawn non-Tilemap tile data, in this case a world made of cubes. Note that all editing must still be done on 2D tilemaps, 3D editing is not supported.