Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Possibly-misguided happiness-related suggestion  (Read 1252 times)

G-Flex

  • Bay Watcher
    • View Profile
Possibly-misguided happiness-related suggestion
« on: September 14, 2008, 01:39:46 pm »

Currently, it's too easy for dwarves to be happy, or for certain thoughts (e.g. death of a loved one) to be canceled out entirely by other thoughts (e.g. the ur-example of a royal dining room).

I don't know if simple numeric balancing could fix this, so I'm thinking:

What if dwarves had slightly more complex mental states, broken up into short-term (i.e. moods) and long-term states. After all, people tend to have long-term psychological trends related to happiness and such as well as having shorter-term trends; a person who's been pretty depressed can still have his good and bad moods, for instance.

I'm not sure how to implement this, but perhaps thoughts could have different values for how much they influence each scale. For instance, eating a great meal probably shouldn't affect their long-term trends much, but might put them in a better mood.

Thoughts?
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

Veroule

  • Bay Watcher
    • View Profile
Re: Possibly-misguided happiness-related suggestion
« Reply #1 on: September 14, 2008, 02:42:58 pm »

I think longer term mental state have been suggested many times before.  One of the things I would like to see done is for personality traits to affect how happyness works.  A dwarf might have a trait such as "is generally grumpy" and would require a much larger amount of happyness to be happy.

Also a dwarf with something like "prefers to be alone" or "dislikes the company of others" might not notice that the dining room is royal, instead they are getting the unhappy thought, "had to eat in a communal dining room."  They might also get the thought, "had to walk throuigh a crowded hallway."

I think having a major state of mind and a current happiness is a definite improvement.  Probably the easiest way to do it is to move the happiness threshhold around on a per dwarf basis.  There also is the possibility that thoughts can be remembered longer or forgotten sooner on a per dwarf basis.

For example a depressed person tends to forget the really good thing that happened to them just a few minutes ago.  One such person might win 10 million in a lottery and 15 minutes later they are thinking about how they won't know what to do with all of it, and how they can't possibly handle being a millionaire.

The reality is that the mental state of depression causes them to focus on the bad things about whatever just happened and foget the good that just gave them a moments worth of happiness.  It usually takes a lot of small simple happy things in a near continuous stream to pull someone out of depression.
Logged
"Please, spare us additional torture; and just euthanise yourselves."
Delivered by Tim Curry of Clue as a parody of the lead ass from American Idol in the show Psych.

G-Flex

  • Bay Watcher
    • View Profile
Re: Possibly-misguided happiness-related suggestion
« Reply #2 on: September 14, 2008, 02:45:37 pm »

You make some good points.

The problem with this subject is that this is about personality, so you can implement something arbitrarily complicated and still be very far from reality, and complicated systems are likely to have more holes anyway.

I think your idea of having long-term mental states actually affect happy/unhappy thoughts themselves is a good idea, though.
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

Nethras

  • Bay Watcher
    • View Profile
Re: Possibly-misguided happiness-related suggestion
« Reply #3 on: September 14, 2008, 03:56:59 pm »

Per dwarf differences seem like they'd most likely lead to the optimal strategy being to screen all immigrants and to get rid of the ones with problem personalities before they can make friends... you could pamper your original 7 dwarves (personal dining rooms if anti-social, etc), but any dwarf not at that level of usefulness would be far more likely to be drowned, or, say, immediately recruited into a suicide attack squad on the nearby goblin fortress (and "accidentally" not be assigned weapons or armor) if they proved to be a problem.

Longer term mental state sounds interesting, though it almost sounds more likely that the legendary dining room they've been visiting for the last couple years would override negative thoughts from recent events even easier... maybe just zero out positive happiness before applying the changes from major negative thoughts?  Or have them 'taint' any recent happy positive thoughts so that the same category of thought will have less effect for a month or 2?
Logged

G-Flex

  • Bay Watcher
    • View Profile
Re: Possibly-misguided happiness-related suggestion
« Reply #4 on: September 14, 2008, 04:07:00 pm »

Longer term mental state sounds interesting, though it almost sounds more likely that the legendary dining room they've been visiting for the last couple years would override negative thoughts from recent events even easier...

Well, that's one of the things I was suggesting to fix. If a good dining room substantially affects short-term mood but not long-term happiness, then your depressed dwarf will still be depressed or whatever, while still being comforted in the short-term by his living arrangements.
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

Veroule

  • Bay Watcher
    • View Profile
Re: Possibly-misguided happiness-related suggestion
« Reply #5 on: September 14, 2008, 04:16:08 pm »

Yes! A scall of deminshing returns is almost exactly what is needed.

The way thoughts work now a dwarf gains that thought each time the appropiate event occurs.  Dwarves tend to eat frequently and the value of the thought from a royal dining room is quite high.  This leads to the dwarf having 12 'dined in legendary room' thoughts almost constantly.  Currently that becomes 12 times the thought value (20 according the wiki).  Making a total of 240 just from having the dining room and a little bit of time.

Creating a deminishing returns function we can have 1 thought be worth the full amount and subsequent thoughts worth progressively less.  An example of such a formula is 'count-(2^count*.1)' where 'count' is the number of a given thought the dwarf has.  This type of formula is alread used to decide how bad a thought a single master piece defacement is.

Applying such a formula to all current thoughts should improve both continous bliss and tantrum spiralling, without introducing new layers of complexity.  In other words the export*1000 mistake wouldn't be 3 year tantrum sentence for the mayor, and royal dining rooms would be mostly fixed.
Logged
"Please, spare us additional torture; and just euthanise yourselves."
Delivered by Tim Curry of Clue as a parody of the lead ass from American Idol in the show Psych.

Nethras

  • Bay Watcher
    • View Profile
Re: Possibly-misguided happiness-related suggestion
« Reply #6 on: September 14, 2008, 04:26:34 pm »

Longer term mental state sounds interesting, though it almost sounds more likely that the legendary dining room they've been visiting for the last couple years would override negative thoughts from recent events even easier...

Well, that's one of the things I was suggesting to fix. If a good dining room substantially affects short-term mood but not long-term happiness, then your depressed dwarf will still be depressed or whatever, while still being comforted in the short-term by his living arrangements.

Ahh, hmm, sounds good, I was thinking more of a system in events have both a small long term effect and a stronger short term one, which if everything had the same ratio of small and long term effects, probably would make it even easier to keep them happy.  If only major events (most of which that I can think of are negative) have long term effects, it may become an issue as to whether or not you have enough positive happiness modifiers available that last long enough to counter a single major negative thought long enough that such thoughts aren't an almost guaranteed tantrum, etc - though the durations/magnitudes could always be tweaked to handle that.



Veroule's ideas sound good, and might be enough to mostly fix the system.
Logged

Othob Rithol

  • Bay Watcher
  • aka Dark Snathi, Rain & Tom Bombadil
    • View Profile
Re: Possibly-misguided happiness-related suggestion
« Reply #7 on: September 14, 2008, 06:22:10 pm »

I definitely approve of adding diminishing returns to thoughts (my day job is in finance ;) ).

Another thing you could do is to have the actual impact of a given thought diminish over time. the thought begins at level X, and its effect is reduced by Y each week until zero.

Mood Effect = Base.X - ( Reduce.Y * Time )

Currently (according to the wiki) all thoughts last exactly one year, and their effect is halved at the six month point. Using the above model, a thought would have a duration of X/Y week.

Examples:
Eat in a Royal Dining Room: X=20, Y=5. It is great, the engravings are nice, but next month I don't care.

Death of a Spouse: X=-100, Y=1. They might go nuts early, or at a bad point over the next few months. In a year, they will be mostly getting over it, but will be mourning for almost two years.

Death of a Pet: X=-50, Y=5. Still a big event, but after two and a half months it is forgotten.

Has a really nice room: X=36, Y=3. When Urist leaves to go work, he is really happy about his room.
During the work season, he slowly forgets. About the time he is tired, he's grouchy/indifferent (X=0). when he sleeps the seasonal cycle resets.