How the game can get a concept of specialized buildings

I’ve heard specialized buildings (barracks, etc) suggested a few times (I believe it was on streams mainly), and team Radiant reacting “how does the game know that the player meant this building to be a barracks? The player is going to be the one to know what a barracks is, not the game.” And of course, players can be inventive, but I have an idea that might work, if ever stonehearth needs a way to know what a barracks, or bunker or church is.

1. Defining items
Stonehearth already kind of does this. It just happens in a emergent way, not an formal let alone explicit way. (i.e. the game doens’t know it happens and doesn’t tell the player about it either.) What I’m talking about is using certain items (called defining items) to determine where a building is.
Ex. Reyli Garrows house is where-ever Reyli Garrows bed is (defining item: Reyli Garrows bed), The bunker is where-ever a wooden safety standard is, the carpenters workshop is where-ever the carpenters workbenches are.
By defining a specialized building in terms of the location of an essential item (i.e. if the player wants a building to function as a weavers workshop, they will always put an weavers workbench in it), you know you never assume wrong, no matter what the building itself looks like. The system just doesn’t care about that.

2. Supporting items
This also is planned to be in the game, but only for crafters. What I’m referring to, you can find out in devstream 262, where @Brackhar designed a system for effort based crafting. What I’m specifically talking about is the idea of supportive items. These items can be place near a workbench (within certain criteria), and then linked to it. Having the items linked to the workbench will make the crafting that happens at that workbench faster/more efficient (something along those lines.)

In terms of this idea, it means that these supportive items, when linked to the defining item, make the building in question (a crafters workshop), more effective in its role (, which just so happens to be crafting things). But you can expand this system beyond just crafters workshops to all other types of buildings.

Ex. A hospital is a building where the beds owners are assigned to “the sick/wounded” (you’d need to add that to the list of possible owners). One could, for gameplay purposes, make items that a hospital would benefit from, which improves the healing that a hearthling does at the bed. (what comes to mind is things that make the bed/room cleaner, or medicine cuboards)
Ex. 2: An inn is defined as the place where the tap stands. supportive items could be a bar, but also chairs and tables. Same thing (minus the bar and tap) for the dining hall. In the last case, you could reward the player for not just having chairs somewhere to eat on, but for having chairs in the dining hall specifically.

3. Building area
That leaves the question of “How does the game know to what extent the area where the defining item is, belongs to the building in question”. I have an idea about this, but of course, we can debate.

First off, a ‘building’ here, does not mean an actual building, it means the area around the defining item that unctions as a building with a specialized role. A ‘building’ could be in a building (which will generally be the case, and it will be envisioned by the player as such), but it can also be outside, or just a single room, where-ever the player places the item really.
So how do we define the boundries of a ‘building’? I’d propose that a ‘building’ is the room where it’s defining item is, combined with the rooms where linked supportive items are. If some of the items (defining or supportive) are in a place where no room can be defined, such as outside, the ‘room’ that will count is just an area on the floor within a certain radius of said item.

This allows for a ‘building’ to be just a room in a multiroom building, or an entire multiroom building. It would even allow two different 'buidling’s to share a room or workplace. (and the game will know about it, and thus can impose punishments or rewards.)

Lastly I’d suggest a zone with which the player can edit this game-generated ‘building’ zone, in the case the game still has it a bit wrong.

What do you think about this?


With Rayya’s Children I once made a huge building complex in which one building went into another seamlessly: you could enter the barracks, go to marketplace through dining hall and exit near the farmyard through kitchen and storage room. If you left the marketplace through different door you’d enter the forge and exit through the mines. Rooms were connected with a ton of multi-floor patios, loggias and corridors. The whole structure was built from many buildings, few of which were multi-purpose. If the game had to assign one etiquette to these buildings the whole idea would fail miserably and would force me to build a town consisting of individual houses instead of constructing a 15th century Arabia-style fortified castle-town hybrid. That was some time ago and I think I’ll try it again when I’m done with my Finetems mod as I really loved the result (it looked extremely stylish and was super-easy to defend as the whole structure had only 4 exits, one opening to well-guarded harbour).

As you may guess, I don’t like the idea of forcing the game to recognise the function of a building as I often mix many functions in one building and even split them if it is easier to build a connecting part as a different building.

1 Like

The system I proposed should work just fine with the kind of complexes you mentioned.

In my explanation, a ‘buidling’ (with half-quotation marks; very important detail) is simply a label that game uses to know that a cetrain space is used as, say carpentry. It does not mean the building itself. And with labels, I think it is quite easy to assign two to the same thing if necessary. The system should be made to do this.

So back to your example; which is a building which is used for multiple purpopses, and thus having multiple ‘buildings’ in it. Here every room can be labeled to its function separately. So a the room with the carpenters workbench, and the rooms that are linked to it (via the support items) are the carpenters workshop, while the collection of rooms with (or linked to the room with) the weavers workbench is the weavers workshop. All in the same physical building.
Then if you have a room with two items, both belonging to different ‘buildings’, or even one supporting item linked to two ‘buildings’, then the game should assign the room both ‘building’ labels.

1 Like