Okay, I am working on a project to procedurally produce building interiors. Right now it just handles rectangular buildings (or multiple rectangles as a single building) as I've been using tiles of a sort. Odd number rows and columns are walls (or lack thereof) and even numbers are spaces where characters can walk, find items, etc, the visible tiles in roguelikes.
The idea is to somehow take a predefined (with option for a generated area) exterior of a building or structure and fill the interior in a somewhat realistic fashion with certain considerations (such as putting bathrooms and other rooms that need water connections near each other and, for towers or fallout-esque vaults, near a central supply trunk (which should be placed somewhere near the center or a corner.)
So I have a core program that can generate a blank field qith exterior walls and print to a text file, but now I have no clue how to get a program to define areas and know whether a tile belongs to an area already, and how to divide these areas without overlaps nor gaps.
Any ideas how I can try to achieve this? I have read several articles but they generally don't help and don't give details on the actual algorithims themselves, nor on how to implement them. I got the conceptual side down. What I would like help with is how one goes from abstract concept to implementing that concept.