In Back to Square one with Clay-stage, I started thinking about the concepts that needed rehashing for my clay-stage engine.
In the process, I started trying to model human interactions in code. And in the end I have a very different system from either Clay-stage OR whatever brain fart I was was emitting yesterday.
This concept draws on Graph Theory. While I was stuck on the idea of breaking the world into one or more stages, I realized that even multiple stages were not flexible enough. I needed to go further. I needed to draw on my experience modeling systems on warships. Fortunately, these concepts are basic computer science, so no secret squirrel stuff.
Each interaction now takes place in a "hive." A hive is basically where two or more people interact, be it in a room, an organizations, a family, or so on. Hives are logical, and ephemeral. We can take snapshots of them for documentation purposes, but in generally they are just stored as soups of pointers and state.
Each Person is an object. Each hive is an object. Each connection is an object. All can maintain whatever state they need, as well as mix and match behaviors based on that state.
A typical workplace modeled in this fashion would look like:
Each participant in the group can have a different role. And some individuals act as go-betweens between larger organizational units.
A typical family modeled in this fashion would look like:
As you can see, Mom and Dad may be the parents of this family, but they are children of their respective families.
How does a system like this handle divorces, remarriages, and adoptions? The key here is that "Family" is not a monolithic group. One person can belong to several families, and families are more or less made up on the spot by logical degree of the participants.
Mom and Dad in a family have a relationship, a marriage, that is completely different than their relationship with their children and other members of a household. Marriages can exist without a household. A household can exist without a marriage. Husband and Wife play a different role than Dad and Mom.
Lets take the "Simple" case of the The Brady Bunch:
At the start of the show, Mike and Carol wed. And they establish a new household. However, all of the children are the products of relationships that happen before the events of the show. Mike and the Boys, and Carol and the Girls, each have an established family. And the show is the struggle of forming new bonds in parallel with old bonds:
In addition we have Alice, the housekeeper. She lives in the household, but is not related by blood or marriage to any of the other members. In fact, she has a romantic relationship with Sam the Butcher.
As the show progressed things got even more complicated. Tiger the dog inexplicably disappears. He probably went to go live with Fluffy. Carol's brother sent his son to live with the Bradys while he and his wife was away for work in South America. Oliver had a family, and now he is an acting member of the Brady household. We are also introduced to to Mike's boss Mr. Phillips. Mike and Mr. Phillips interact off-screen, but we are aware of their professional relationship.
In a spinoff, Jan and Marcia have a double-wedding, and the two couples move in together.
Years later we catch up with the Bradys at Christmas. Greg has gotten married. Greg and Marcia have kids of their own. Also that Sam has left Alice for another woman. Jan and Phillip are separating (though by the end of the show the magic of the holidays prevails). We also learn that Peter and his fiancée Valerie are having trouble because they also interact at work as boss and subordinate.
The trials and tribulations of the Brady Bunch are as complex as any social fabric I can see assembling in game. And, as we see, graph theory seems to handle it nicely.