Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Happiness Suggestions  (Read 2269 times)

Caledonian

  • Bay Watcher
  • Occluded Sun
    • View Profile
Happiness Suggestions
« on: February 23, 2010, 03:20:21 pm »

As many others - including Toady One himself! - have noted, it's somewhat absurd for a dwarf who's just had his hands gnawed off by monsters and his family slaughtered to the last infant to be happy because he happened to dine in a really great room.  It's clear to everyone that the current happiness mechanic is just a placeholder.  But what should replace it?

I forward the following model:

Dwarves have a variable in their psyches called Contentment.  Happiness (and Unhappiness) is a tiered system, with bonuses and penalties depending on what tier has been reached.  Positive interactions add an amount to the Contentment variable; however, the amount necessary to reach the next tier increases.

For example, some hypothetical tier conditions:  'Indifferent' is the condition of being between 0 and +10 on Contentment.  'Pleased' occurs between +11 and +30; 'Happy' between +31 and +60, and so on.

Negative interactions do not add to Contentment - instead, they lower the tier at which a dwarf considers himself to be at by one category or more.  So using the above hypotheticals, a dwarf with 53 Contentment but who experienced a miasma would be Pleased, rather than Happy.

Thus, there would be an effect of diminishing returns of adding more and more elaborate materials and rooms, but the effect of really negative things would be fairly constant.

Possibly, the demands of a dwarf would also depend on the fortress' category - so that a new fortress' dwarves would be content with relatively spartan conditions, but with increasing wealth expectations rise, and a rich fortress' dwarves would need decorations and beautiful architecture to be satisfied.
Logged
I am Immortal:  I have inside me blood of kings.
I have no rival:  no man can be my equal.
Take me to the future of your world!

Krakow Sam

  • Bay Watcher
    • View Profile
Re: Happiness Suggestions
« Reply #1 on: February 23, 2010, 07:34:32 pm »

The tier system and diminishing returns seems sound, but I don't think its very sensible to make all bad things move a dwarf down by a whole category. You would just have the opposite problem, a dwarf with a lot going for him being a sad sack because he walked past a smelly garbage heap and got freaked out by a millipede.

Far better would simply be to assign variable positive and negative 'emotional impacts' to events, and potentially cap or severely limit how much of an effect certain things can have.

On the happy side of the scale, something like a nicely decorated room or pleasing mist would have a small positive mood impact, making a difference between mood ranks when the dwarf is somewhere near a 'neutral' mood. Something like having recently been married or having created a cool artifact would have a very high positive impact, almost always high enough to make a difference to happiness rank, even when a dwarf is already near the top.
Due to the diminishing returns angle, only something very dramatic could reverse a dwarf's mood if he was in either of the extremes. A dwarf who was super happy from being elected mayor wouldn't take a mood hit from having a sock stolen by a kobold thief, but if his family was slaughtered his elation would be counteracted by the massive negative hit of that event and he would slip into unhappiness (though less unhappiness than he would have been in had his family died following an unsuccessful run for mayor)
Logged

nenjin

  • Bay Watcher
  • Inscrubtable Exhortations of the Soul
    • View Profile
Re: Happiness Suggestions
« Reply #2 on: February 23, 2010, 08:11:35 pm »

I worry about diminishing returns because:

It represents a doom timer. All other things being equal, if dwarves eventually get little to no happiness from the best you've created...you can't recover from a tantrum spiral. The potential scope of a tantrum spiral becomes much larger too.

At 20 dwarves, it'd be manageable, I think. But the amount of effort to re-up your happiness levels for 200 dwarves? You'd have to build new wings just to give your dwarves something fresh to enjoy. Which may or may not be bad as a gameplay element...but it sounds like a ton of mandatory work.

It could be done through proper balancing, and a cut-off of how much happiness something will provide in the end. But it would lead to the same solution people have now. What's better than one +50% happiness dining room? How about two different +25% happiness dining rooms? How about a string of +50% happiness dining rooms so dwarves never dine in the same one twice in one year, and therefore never pick up diminishing returns?

The only way to combat that would be to have further diminishing returns for every room/item type that you currently have (i.e. one dining room is full value, two dining rooms both are at 50% value, three dining rooms all are at 25% value)....and that's a lot of tracking (especially for objects like statues), and again takes you back to the Doom Timer.

So I think there needs to be a more dynamic element than diminishing returns. In addition to modifying the happiness values stuff gives now (or what values it gives at what quality levels), personality and preference need to have a higher impact on happiness returns. There aren't enough problem dwarves with disagreeable personality combinations.

There needs to be a greater variety of personality traits that address happiness directly too ("Isn't materialistic" for one.) Some personality traits ("Doesn't care about anything anymore") need to not be the magic bullet that turns a dwarf from a personality into a robot. It's like, once you have a legendary dwarf with that trait, you've basically got a top-notch work slave that will never object to anything you do.

Dwarves that don't really get that much from a good meal, or that don't really care how good the room they sleep in is, would make them much harder to please. There are dwarves that don't have a great appreciation for art...but the core lifestyle things that bump happiness through the roof don't have anything like that.

When dwarves don't care, it's usually seen as a positive. You can feed them garbage and it doesn't impact their happiness level. There should be dwarves that don't care how good something is....but they do care how BAD it is. I mean...that's pretty true to RL isn't it? :P

« Last Edit: February 23, 2010, 08:15:09 pm by nenjin »
Logged
Cautivo del Milagro seamos, Penitente.
Quote from: Viktor Frankl
When we are no longer able to change a situation, we are challenged to change ourselves.
Quote from: Sindain
Its kinda silly to complain that a friendly NPC isn't a well designed boss fight.
Quote from: Eric Blank
How will I cheese now assholes?
Quote from: MrRoboto75
Always spaghetti, never forghetti

nenjin

  • Bay Watcher
  • Inscrubtable Exhortations of the Soul
    • View Profile
Re: Happiness Suggestions
« Reply #3 on: February 23, 2010, 08:51:25 pm »

I'd like to propose a different way of happiness working entirely.

Right now, Happy, Content, Angry, whatever is just tied to an overall number, and that's why the changes we see in dwarves are so dramatic.

Happiness shouldn't directly reflect their mood state though. Mood states should be exist by themselves, and changes in mood state should be based on a number of factors like:

-Time
-Personality
-Further - or + inputs

So it would look like this.

[ANGRY] 0
[UPSET]
[UNHAPPY]
[OK] 125
[CONTENT]
[HAPPY]
[ECSTATIC] 255

Are the mood states. Dwarves still have a happiness score. The game tries to equalize their mood state with their happiness score by comparing the two and asking "Should there be a change?"

If yes, it asks "How big of a change?" and looks at the most recent group of inputs. It measures how long ago they occurred, adjusts for that and totals the sum.

It then applies the dwarves' personality, and adjust inputs accordingly, increasing the impact of some inputs while ignoring others.

The final total represents the magnitude of the shift from one mood state to another.

So you have Urist McEverydwaft, who is OK, with 125 Happiness.

His events are:

He was attacked. -10
His friend died. -30
His pet died. -20
His pet goes unburied. -20
He eats a good meal. +10
He drinks a good drink. +10
He sleeps in an ok room.  0

All these events happened in the most recent calc cycle, so they get full value. Urist McEverydwarf is totally average (for the sake of simplifying), and none of these values get adjusted further by his personality.

So it's a net loss of 60. He's now at 65 happiness total.

The game checks. 125 becomes 65. Yes, there should be a shift. Urist McEverydwarf is now unhappy.

On the next calc cycle (say every Dwarf Mode day), the list looks like this.

He was attacked. -5
His friend died. -25
His pet died. -15
His pet was unburied. -15
He ate a good meal. +5
He drinks a good drink. +5
He slept in an ok room.  0

He admired some great art. +10
He was comforted by an animal in a cage. +5
He talked with a good friend. +10

The italicized events are older events, and they have a reduced impact on happiness that they once had. Urist McEverydwarf, for this calc, loses 25 happiness, putting him at 40 happiness.

The game checks. Urist should be at Upset, but he only lost a further 25 happiness and the magnitude of change isn't great enough to warrant a further shift. (Plus there are no personality traits to factor in.)

So Urist's happiness is lower than it was last calc, but it didn't drop dramatically enough to make him get really really upset. Of course, if more bad things than good things happen..or if he doesn't get enough happiness to make him forget all the really bad things that continue to hang on his soul...he may skip several levels of unhappiness and just go straight to angry in the next calc cycle.

I think this better captures the ebb and flow of emotions like real life better than a simple meter which becomes all too easy to max out. It takes into account long-term, major life events whose negative (or positive impact) degrades slowly rather than being applied once and forgotten. 

It also gives Toady another state to play off of, [MOOD STATE], which can be worked further into Strange Moods or other events.

Personality traits could directly alter the value/depreciation of happiness inputs.

So a dwarf who "Doesn't really care about anything anymore" might adjust ALL inputs to lose -50% value in every cycle. So no matter if a friend died, or they became elected mayor, how happy or unhappy that makes them over time is less than other dwarves, and they'll get over EVERYTHING quicker. But they'll still be vulnerable to becoming unhappy if enough bad stuff occurs at once.
« Last Edit: February 23, 2010, 09:01:09 pm by nenjin »
Logged
Cautivo del Milagro seamos, Penitente.
Quote from: Viktor Frankl
When we are no longer able to change a situation, we are challenged to change ourselves.
Quote from: Sindain
Its kinda silly to complain that a friendly NPC isn't a well designed boss fight.
Quote from: Eric Blank
How will I cheese now assholes?
Quote from: MrRoboto75
Always spaghetti, never forghetti

Atanamis

  • Bay Watcher
    • View Profile
Re: Happiness Suggestions
« Reply #4 on: February 23, 2010, 09:49:07 pm »

Why make up a system when we have a real life scale (below)? Each element takes 6 months to drop off the chart, and the higher the score the more chances of illness / depression. The main tantrum cycle problem is that tantruming is currently the only result from depression, but if it were more rare it wouldn't be QUITE as dangerous if your fortress went into a year of depression after half the population was killed by invaders. Increase rate of illness and "rest" requirements for individuals with high stress. Allow resting (not being assigned duty) to allow most to recover on their own, or with counseling from friends. Friendless individuals should be the main ones who tantrum, or those who lost all their friends at once. There needs to be more "well at least we still have each other" kind of groupings after a disaster, which should provide far more comfort than a masterpiece statue.

http://en.wikipedia.org/wiki/Holmes_and_Rahe_stress_scale
Life event  ? Life change units  ?
Death of a spouse 100
Divorce 73
Marital separation 65
Imprisonment 63
Death of a close family member 63
Personal injury or illness 53
Marriage 50
Dismissal from work 47
Marital reconciliation 45
Retirement 45
Change in health of family member 44
Pregnancy 40
Sexual difficulties 39
Gain a new family member 39
Business readjustment 39
Change in financial state 38
Change in frequency of arguments 35
Major mortgage 32
Foreclosure of mortgage or loan 30
Change in responsibilities at work 29
Child leaving home 29
Trouble with in-laws 29
Outstanding personal achievement 28
Spouse starts or stops work 26
Begin or end school 26
Change in living conditions 25
Revision of personal habits 24
Trouble with boss 23
Change in working hours or conditions 20
Change in residence 20
Change in schools 20
Change in recreation 19
Change in church activities 19
Change in social activities 18
Minor mortgage or loan 17
Change in sleeping habits 16
Change in number of family reunions 15
Change in eating habits 15
Vacation 13
Christmas 12
Minor violation of law 11

Score of 300+: At risk of illness.
Score of 150-299+: Risk of illness is moderate (reduced by 30% from the above risk).
Score 150-: Only have a slight risk of illness.
Logged

Pilsu

  • Bay Watcher
    • View Profile
Re: Happiness Suggestions
« Reply #5 on: February 24, 2010, 08:23:58 am »

I don't think minor things like miasma should lower happiness that dramatically.

I think the main problem is that dwarves kill each other too easily by accident and hardship immediately leads to insanity. Lowered productivity etcetera seem like more reasonable responses
Logged

nenjin

  • Bay Watcher
  • Inscrubtable Exhortations of the Soul
    • View Profile
Re: Happiness Suggestions
« Reply #6 on: February 24, 2010, 01:42:00 pm »

What are you having your dwarves doing? Mandatory sparring with obsidian swords on their days off? :P

From my own games, my experience has been that players can prevent most truly bad things from happening regularly. You micro your Orders, you watch your children, you enlist migrants into the Army so no one cares if they die.

So I lean toward "more death, more Fun." Productivity is, in the end, kind of boring isn't it? 'Oh noes, Urist McBeardWeave is sad so he's not making bandages quite as fast." Doesn't quite have the same impact as "Oh noes, Urist McBeardWeave is suicidally depressed because he's had a string of bad luck for the last three months....and he won't make bandages!"
Logged
Cautivo del Milagro seamos, Penitente.
Quote from: Viktor Frankl
When we are no longer able to change a situation, we are challenged to change ourselves.
Quote from: Sindain
Its kinda silly to complain that a friendly NPC isn't a well designed boss fight.
Quote from: Eric Blank
How will I cheese now assholes?
Quote from: MrRoboto75
Always spaghetti, never forghetti

Caledonian

  • Bay Watcher
  • Occluded Sun
    • View Profile
Re: Happiness Suggestions
« Reply #7 on: February 24, 2010, 01:54:29 pm »

I don't think tantrums should be the inevitable outcome of extreme unhappiness.

What about severe depressions, where a dwarf won't do work or take care of themselves properly?  What about becoming emotionally numb with shock, surviving the emotional trauma but become dead inside and not responding to positive bonuses?
Logged
I am Immortal:  I have inside me blood of kings.
I have no rival:  no man can be my equal.
Take me to the future of your world!

nenjin

  • Bay Watcher
  • Inscrubtable Exhortations of the Soul
    • View Profile
Re: Happiness Suggestions
« Reply #8 on: February 24, 2010, 02:04:18 pm »

I agree, personally. Whether they tantrum or get depressed, or just go homicidal, should be a function of their personality. Unfortunately, those states are reserved for dwarves with strange moods. I would like to see strange moods adapted to general behavior. I.e., an unhappy dwarf gets strange and reclusive, stops working, and sketches pictures of the things they lack to make them happy. (Like, sketching pictures of their dead wife.)
Logged
Cautivo del Milagro seamos, Penitente.
Quote from: Viktor Frankl
When we are no longer able to change a situation, we are challenged to change ourselves.
Quote from: Sindain
Its kinda silly to complain that a friendly NPC isn't a well designed boss fight.
Quote from: Eric Blank
How will I cheese now assholes?
Quote from: MrRoboto75
Always spaghetti, never forghetti