Hello, everyone!
I am a long time lurker and very occasional Dwarf Fortress player who just made the effort to get an account on the forums.
I'm currently planning to play DF more than I used to (read: after several years my Linux distribution has finally included the necessary libraries to compile Dwarf Therapist).
Anyways, onto the suggestion...
Zones: Everything is a zone.
We all know that Toady One is planning on moving in the direction of replacing workshops with activity zones. I think that he should go one step further and make other things (for example: bedrooms ) zones too.
Let's take a moment and talk about what activity zones are (or at least my personal vision for what they should be):
An activity zone is, as it's name suggests, an area where a certain activity (e.g. sleeping) takes place. With this in mind it should be clear that a lot of things that are currently in the game could be replaced with activity zones (workshops and bedrooms are just two examples). I believe that all zones should be defined in the raws. The definition of each activity zone should include (at least) a name, minimum dimensions, a list of needed furniture (e.g. a bed), a list of needed containers (e.g. a table --a table is just a box with it's contents stored on it's upper surface
), a list of needed tools for each container, and a list of jobs to be performed in the activity zone (e.g. sleep). This brings us to the second part of my suggestion.
Zonesets: Organizing zones.
A zoneset is a container (in the programming sense).
A zoneset can contain two things: Activity zones, and other zonesets.
Zonesets should be defined in the raws and contain: a name, a list of included zones and/or zonesets, whether the zones and/or zonesets it contains should be placed indoors or outdoors. whether they should be separated from each other and what they should be separated with (Empty floor space? A wall? A fence?), whether the zoneset requires a roof or ceiling overhead, and a list of permissible building materials for all of the aforementioned items. As a special note, I should mention that I have given zonesets the ability to contain other zonesets so that they may set up in a hierarchical fashion. As an example, a bedroom zone could be part of a residence zone (which in turn could be part of a larger housing zone, etc.).
I believe that, with this information available, Dwarf Fortress should be able to create realistic and organic sites via procedural generation.
I'm sorry if this has been proposed before, and I look forward to seeing what everyone else has to say about my idea.
Thank You.