This library offers friend datums bm_BSP and bm_Maze which combine to form a reasonably fast BSP DD derivative of Node Maze. In addition, an optional bxyw_Maze datum is included which interprets the core coordinates of nodes as floors and the border coordinates as walls.
In other words, you can make the framework of a procedural map rather fast and pull some decent information from it so you can add details.