Working on some floor plan "templates" that can be pulled. With blue being door spawn locations, pink being item spawn locations and black being walls. These spawns will be data injected after the template is chosen.
Edit:
Door spawning on templates working:
Right now, it is max of 1 door per "wall" so there is a bunch of code making sure those spawns are safe. The floral tiles will just be random random on spawn locations so that makes that easy.
And templates can be rotated/flipped along axis for more variety: (not sure why image is huge
Edit:
Might need to trade flexibility with speed. I can imagine a dungeon with 6-8 rooms taking 30-40 seconds at current implementation.
I might just do a list of values of 1000S+100Y+X outside of the template matrix that contains the y,x coords on s (side) wall in the matrix that a door can spawn. Right now having to group each wall of side position and then choose a spot for a door is a bit much.
Edit:
I think I could have nonblocking code running in the main movement loop to create connecting rooms. This is a turn based movement system, so anytime the user isn't moving, I could abuse that.. Doubt it would gain much. And what nonblocking code could I even be running, and would that even do enough?
Trying to figure out how to keep the dungeon generation minimal. Especially if I implement graph based dungeons. Probably won't.