DeletedUser103370
Proposal
Gradual happiness bonuses instead of fixed pre-determined ones.
Have you Checked the Ideas section for the same idea posted by someone else? Is this idea similar to one that has been previously suggested?
NA.
Reason
More reasonable bonus for happiness.
Details
So first, this is the formula now:
Happiness Ratio / Population Mood / Productivity
Below 1.0 / Angry / 50 %
Between 1.0 and 1.4 / Content / 100 %
Above 1.4 / Enthusiastic / 120 %
My problem with this approach, that it doesn't differentiate between players, though their happiness ratio still can be quite far apart. If a player has 0 happiness, he gets the same bonuses as someone with a ratio 0.99. Or for example a player has 1.4, gets the same bonuses as someone with a ratio of 3!
A much better approach would be if the bonuses were not fixed, but completely dependent upon the exact ratio you got! You could still keep the terms used for different states of your happiness, but the bonuses should be calculated dynamically. For example:
Ratio 0.1 = 10% productivity
Ratio 0.2 = 20% productivity
Ratio 1.0 = 100% productivity
...
Ratio 4.0 = 400% productivity
etc.
Thanks to @Prinza the Hunter and @Strategy Master 101 for the logarithmic proposal (in simple words, the bonus modifier will decrease gradually as the happiness gets higher), here is a practical solution:
HPR = Happiness to Population Ratio, HM = Happiness Modifier, HM is a function of HPR
Going from HPR=0.99 to HPR=1.00 will cause HM to go from HM=0.717 to HM=1.00 (Δ=0.283)
Going from HPR=1.00 to HPR=1.50 will cause HM to go from HM=1.00 to HM=1.24 (Δ=0.24)
Going from HPR=1.50 to HPR=2.00 will cause HM to go from HM=1.24 to HM=1.45 (Δ=0.21)
Going from HPR=2.00 to HPR=2.50 will cause HM to go from HM=1.45 to HM=1.62 (Δ=0.17)
Visual Aids
N/A.
Balance
Actually it would be rather fair and balanced this way.
Concerns
Awaiting feedback.
Abuse Prevention
N/A.
Summary
Dynamic happiness bonus calculations.
Gradual happiness bonuses instead of fixed pre-determined ones.
Have you Checked the Ideas section for the same idea posted by someone else? Is this idea similar to one that has been previously suggested?
NA.
Reason
More reasonable bonus for happiness.
Details
So first, this is the formula now:
Happiness Ratio / Population Mood / Productivity
Below 1.0 / Angry / 50 %
Between 1.0 and 1.4 / Content / 100 %
Above 1.4 / Enthusiastic / 120 %
My problem with this approach, that it doesn't differentiate between players, though their happiness ratio still can be quite far apart. If a player has 0 happiness, he gets the same bonuses as someone with a ratio 0.99. Or for example a player has 1.4, gets the same bonuses as someone with a ratio of 3!
A much better approach would be if the bonuses were not fixed, but completely dependent upon the exact ratio you got! You could still keep the terms used for different states of your happiness, but the bonuses should be calculated dynamically. For example:
Ratio 0.1 = 10% productivity
Ratio 0.2 = 20% productivity
Ratio 1.0 = 100% productivity
...
Ratio 4.0 = 400% productivity
etc.
Thanks to @Prinza the Hunter and @Strategy Master 101 for the logarithmic proposal (in simple words, the bonus modifier will decrease gradually as the happiness gets higher), here is a practical solution:
HPR = Happiness to Population Ratio, HM = Happiness Modifier, HM is a function of HPR
Going from HPR=0.99 to HPR=1.00 will cause HM to go from HM=0.717 to HM=1.00 (Δ=0.283)
Going from HPR=1.00 to HPR=1.50 will cause HM to go from HM=1.00 to HM=1.24 (Δ=0.24)
Going from HPR=1.50 to HPR=2.00 will cause HM to go from HM=1.24 to HM=1.45 (Δ=0.21)
Going from HPR=2.00 to HPR=2.50 will cause HM to go from HM=1.45 to HM=1.62 (Δ=0.17)
Happiness Modifier> = 0.85 * log_2 ( <Happiness Population Ratio> + 1.26 ) - [0.283 if HPR < 1
courtesy of @Strategy Master 101!
courtesy of @Strategy Master 101!
Visual Aids
N/A.
Balance
Actually it would be rather fair and balanced this way.
Concerns
Awaiting feedback.
Abuse Prevention
N/A.
Summary
Dynamic happiness bonus calculations.
Last edited by a moderator: