Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Creature guilt  (Read 940 times)

tohkai

  • Escaped Lunatic
    • View Profile
Creature guilt
« on: March 08, 2018, 12:20:44 pm »

Hello.

I normally don't suggest things to developpers, I know they got plans to follow, and as a dev, I don't know dwarf fortress a project very well. Plus, things are sometimes impossible without major changes (vs minor benefits) and sometimes it's simply "hey wouldn't it be nice if" suggestions, and when you think about it, it just wouldn't be nice.

Now what made me come here is, Dwarf fortress IMHO isn't /that/ hard. (semi long justification):
Spoiler (click to show/hide)

In my opinion, it's handling the dwarves themselves that is too easy. They are practically robots, will survive through anything and move on without too much emotion. Now what I would REALLY like, is having the dwarves, depending on their personality, trying to cope with their (your) acts, and having psychological downsides to the actions you take.

I thought about it and the most important part, in my opinion, should be guilt. Which isn't an easy thing to achieve in a computer program - everything in DF is so generic, I wonder if the game itself really knows what happened in some cases.

But let's consider this:

- There's a goblin siege.
- you decide to close the bridge. Some dwarves are still outside, but the risk of having goblins in is greater than the reward of saving your best wood burner.
- you order to pull the lever. The draw bridge close. Urist mc wood burner is killed.
- the dwarf who pulled the lever now feels guilty - possibly enough to fall into depression, alcoholism, withdraw from society, etc.

Now I agree it sounds like a very hard thing to achieve, especially since there's millions of other ways for a dwarf to kill another without "wanting to". That's why I also thought about how it could be handled, game wise.

Whenever a dorf is killed by a creature:
 - Run some pathfinding, the same as usual, to see if that dwarf could reach the meeting area or another point of importance.
 - If he cant: check if ignoring drawbridges, doors, etc would change anything.
 - if it does: check what lever is related to that door, bridge, etc.
 - implement a "last usage" variable to the lever that keeps a pointer on the related dwarf
 - apply guilt on related dwarf.

The same kind of behavior could possibly be used for, say, magma that went past a floodgate and burned a dwarf.

additionally, it could be used, if the game could have the dorf AI "think" it is responsible for the death of another person close to them who died in combat. (The very real survivor guilt, "why them, why not me?"/"I could have saved them and I failed")
I could definitely see Urist mc badperson say "My actions led to the death of a family member lately. I can't be bothered." or whatnot.
I agree that none of this can be one hundred percent accurate, but to be fair, people feel guilt for things they're not necessarily guilty of (or when they made the right choice) and people accuse other people over things they sometimes didn't do (or didn't have a choice over), especially when the death of a family member is concerned, for instance.

Bonus point if that same mechanism can be used to have other dwarves putting guilt on someone, possibly getting them punished.

Anyway, feel free to reject it/expand it - I just can't help but think that all the personality variables dwarves have could be used a lot more, to a point where it would become very relevant to take your dwarves' personalities in account for everything. It would also be extra fun to have more tantrum spiral possibilities, and more complex situations on that regard.

I also think that it would make it harder to dispose of your annoying nobles "by accident". (Let's be fair, I did it a lot, and I thought it was very easy to get away with it)
« Last Edit: March 08, 2018, 12:24:09 pm by tohkai »
Logged

GoblinCookie

  • Bay Watcher
    • View Profile
Re: Creature guilt
« Reply #1 on: March 08, 2018, 12:45:15 pm »

The dwarves seem to be robots because they *are* robots.   ;)

It is very different for the game to distinguish between actions done out of neccesity (like imprisoning or killing werebeast infected folks) and things that the player does because he is bloodthirsty or cruel.  Really dwarves should feel a lot worse about being made to do pointless bad things than necessary bad things.   
Logged

Manveru Taurënér

  • Bay Watcher
    • View Profile
Re: Creature guilt
« Reply #2 on: March 08, 2018, 12:51:51 pm »

The game used to be way harder, tantrum spirals don't really exist any more for example due to changes to stress and inebriation, which is set to be fixed soon (at some point before work shifts over to magic anyhow). Related dev page notes:

Pre-Magic Improvement Candidates

Stress balance
Weaken inebriation effects on emotions
Reflecting on negative circumstances that were missed while drunk
Balance positive and negative events
Return of minor disruptive behavior and arrests

Guilt would definitely be a good addition at some point as well, not sure working it through AI the way you describe is feasible though, then again I'm not all that well versed in the art of coding.
Logged

FantasticDorf

  • Bay Watcher
    • View Profile
Re: Creature guilt
« Reply #3 on: March 08, 2018, 05:08:02 pm »

Though there is only really 1 example of guilt in the game (see below point), guilt already exists as part of the emotion screen because it would so in itself this suggestion is half implemented/completed but lacks depth for the achievable interactions.

- Guilt over committing a crime (already happens in game when dwarves are jailed by the sheriff to serve their sentence)

Guilt over the past, is a particularly different thing altogether and might be more important when dwarves recollect over alcohol like Toady wants them to, which will have mixed effects of making dwarves both happy and upset. Heat of the moment guilt like prisoners experience (see above point) is different to experiences committed to memory.

Quote from:  Development Plan
Stress balance:
  • Weaken inebriation effects on emotions
  • Reflecting on negative circumstances that were missed while drunk

So really nothing can be really be progressed until a memory system and better connection between what a dwarf is aware of in its lifespan is implemented. Dwarves with no clear memory have nothing to worry about if it was a long time ago.

  • Committing crimes, betraying your companions, doing ethic adverse actions against your will, all things to incur bad memories.
« Last Edit: March 08, 2018, 06:21:46 pm by FantasticDorf »
Logged

bloop_bleep

  • Bay Watcher
    • View Profile
Re: Creature guilt
« Reply #4 on: March 08, 2018, 07:22:15 pm »

Though there is only really 1 example of guilt in the game (see below point), guilt already exists as part of the emotion screen because it would so in itself this suggestion is half implemented/completed but lacks depth for the achievable interactions.

There are 170 different emotions available in the game, few of which are actually implemented. (They mostly exist for modders to use in syndromes.) Simply the fact that it exists doesn't really say much about how or when Toady plans to implement.
Logged
Quote from: KittyTac
The closest thing Bay12 has to a flamewar is an argument over philosophy that slowly transitioned to an argument about quantum mechanics.
Quote from: thefriendlyhacker
The trick is to only make predictions semi-seriously.  That way, I don't have a 98% failure rate. I have a 98% sarcasm rate.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: Creature guilt
« Reply #5 on: March 09, 2018, 12:39:04 am »

Pathfinding operations are slow, and putting in a whole system that really only applies to player forts is unlikely to happen.  Maybe if drawbridges were an element of generated forts then the specific concept of "locking someone out to die" could be added to the thought system.

One thing that might be simpler to implement, and more generally applicable, is if "protection" was added as an action motive: a creature will take action to rescue a friend from danger, either by carrying them (once carrying is properly implemented) or attacking the creature that is threatening them.  Guilt could be added to the protector if the friend they are protecting dies.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Creature guilt
« Reply #6 on: March 09, 2018, 04:29:58 am »

Though there is only really 1 example of guilt in the game (see below point), guilt already exists as part of the emotion screen because it would so in itself this suggestion is half implemented/completed but lacks depth for the achievable interactions.

There are 170 different emotions available in the game, few of which are actually implemented. (They mostly exist for modders to use in syndromes.) Simply the fact that it exists doesn't really say much about how or when Toady plans to implement.

I actually don't know of a single emotion which is not used in the game. The vast majority of them (all but about 5) existed before the ability to mod them in (beyond using DFHack) was added at all.

The thing is, emotions and thoughts don't exist at a 1:1 ratio. You'll find that some individuals will feel lustful at a lover while others will feel tenderness or love or various others. This is based on personality traits.