Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Opinions-system to bring more "meaning" to everything  (Read 312 times)

impala

  • Bay Watcher
    • View Profile
Opinions-system to bring more "meaning" to everything
« on: February 09, 2023, 06:33:29 am »

I was thinking what would bring a lot of "meaning" to the fort's upbringing, and came to a conclusion that much of the meaning I was craving myself was that the dwarves themselves would find something meaningful. So here's a blueprint of a system that could do just that: have the dwarves have important, ever-present opinions and feelings about their life in the fort.
Many of these ideas have been touched already, but I haven't seen a cohesive philosophy around them yet. This system could yield a lot of emergent fun, and might keep the code clean and ready for certain other features. This is also building around a kind of dwarven Maslow's hierarchy.

- Security of the fort (security): seeing goblins, crime go unpunished for months and injuries in the mines would lower the sense of security. Seeing guard patrols, public punishments, injured dwarves recovering and so on would raise it.
- Belonging to the society/a sub-group (belonging): the dwarf could have a role in the community, such as a guard (was conscripted), "the fort smith" (gets to do 5 smithing jobs), a drunkard (has been drowning sorrows from seeing that one goblin and not getting any work to do) and so on.
- Seeing the wealth of the fort (greed): just the events where the dwarf admires the furniture and art, or hears the opinions of others talking about said treasures (if only the nobles have them -> could cause envy).
- Skills and reputation of the fort (pride): hearing about and being a part of the skilled workforce of the fort. A smith could talk about the masterwork they did and it got sold to the caravan, and everyone else could propagate the story out of pride to the whole fort (or stay silent out of envy, as they were also dreaming of becoming a smith).

Each of the above opinions could have a few slots in a state-machine, which is updated backward and forward as events unfold, or monthly as the dwarf ruminates on the topic. An example on security:
Naive, hasn't considered the opinion -> An unfortunate event happens in the fort / hears about such events in rumours from outside -> Sees a counter-example that proves the fort/world is a better place. And so on.

Security and belonging affect how likely they are to commit crimes: if the fort seems unsafe and the dwarf is poor, they might feel more inclined to opportunistic thievery for food or gems to pawn off. They can also be corrupted more easily if they feel kinship towards criminals than the artisans and nobles of the fort. And the corruptors would notice this unhappiness and try to target those dwarves more.

The dwarves could start to appreciate things that bring in good reputation, if they are inclined so (f.ex. the dwarf "seeks advice", "appreciates craftsdwarfship", "appreciates social interactions", etc.).
Then, hearing advice from someone who they respect could make them reconsider their values (instead of f.ex. "ruminating on being rained upon"). This would create a system of respected citizens and various subgroups too on the side, without needing to code it explicitly.

These opinions will also be a part of the reputation of the fort, and this story propagates as visitors leave to tell the tale. So you'd want to keep a good facade at the mayor's office, tavern, temples and library if you want the visitors to leave with a good impression.
These opinions also change how much they want to join/stay in the fort: A young inexperienced but ambitious dwarf might want to join a fledling community as they feel they can prove themselves here (and as a side product, the fort's powerlevel grows slower). Meanwhile a legendary critical thinker might want to join a library that has hundreds of books, skilled scholars and nice furniture.


Unfortunately, as this plan is touching on so many subsystems, it would be too big of a job to do within the current arc of plans: outside of the opinion system, there are extra events, personality changes and behaviours that would have to be added, as well as linking them to all the existing ones. But still, I feel this philosophical direction could benefit the code even if only partially implemented. Opinions?
Logged