I took a look at how war weariness works.
My conclusion is that the whole system is very poorly designed, with many surprising and peculiar consequences, and needs an overhaul, or at least some major adjustments.
In rough terms, this is how it works.
war_weariness = war_damage * longest_war
war_damage is the highest damage you took in any current war.
It increases when:
- you lose military units, trade routes, cities, and tiles (to citadels, maybe also to America)
- when your tiles are pillaged
- when your cities are being razed
It's probably the same thing as war score, though this is just a guess.
It decays at 2% per turn while at war, and at 10% per turn while at peace.
longest_war is just the length of your longest current war, in turns.
Note that this can be any current war, not necessarily the one in which you lost the most.
The biggest problem I see with this has to do with "longest_war".
Until it reaches 50 turns, your war weariness will not go down, even if you stop taking losses entirely.
Not only will it not go down, it'll keep rising, and doing so very quickly if you're still early in the war.
For example between turn 10 and 11 of the war war weariness will increase by about 8%, even if you don't take any additional losses.
After 50 turns, the rate at which "longest_war" grows becomes less than 2% / turn, so war_damage decay starts outpacing it.
I did some math, and if you stop taking losses on turn 20 of the war, war weariness will not drop below the current value until turn 100.
This is a particularly big problem for multiplayer.
I guarantee that you will take more losses in one war against a strong human opponent than you will in an entire game against the AI.
This opponent can then lock you into essentially permanent war weariness even if your war reaches a stalemate and you both stop fighting.
There are a lot of legitimate reasons to avoid signing peace.
Maintaining control of city states is a big one.
So "just sign peace" isn't really a valid argument.
My contention is that "war_damage" should decay much much quicker than it does.
As of this writing, about 33% of respondents to a recent poll fall into the category that plays at least as much multiplayer as they do single player.
As multiplayer gets more stable, I expect that number to rise.
I hope that's a big enough fraction that balance decisions take multiplayer into account.
The fact that there is no connection between which two wars "war_damage" and "longest_war" come from also produces silly consequences.
- you have been in a fake war with civ A for 30 turns, and in a real war (in which you took losses) with civ B for 10 turns
signing peace with civ A will reduce your war weariness
I see absolutely no reason why it should, if all losses you took came from the war with B
- you declare war on some civ and quickly take some losses
your war weariness will be much higher if you have already been in a fake war with some other civ for many turns
again, I see no reason whatsoever why the length of one war should affect the effect on war weariness of damage sustained in any other war
There's actually more to the mechanics, but most of it doesn't really matter for this discussion, except one more thing.
Your current war weariness isn't actually just war_damage*longest_war.
That value is called "target war weariness".
Your actual war weariness is previous turn's war weariness plus about 30% of the difference to reach this turn's "target_war_weariness".
For example if target is 30 and your current war weariness is 10, next turn it'll be 16, then 20, then 23, etc.
Ignoring other changes like longest_war and war_damage decay, actual war weariness will get very close to target in no more than 10 turns, no matter how far away it is now.
What this does is prevent extreme sudden changes from turn to turn.
This doesn't really matter too much, except for one final mechanic.
Signing peace with a major civ immediately halves your current war weariness.
If there was no smoothing, it would jump back up to "target" immediately next turn, but instead it gives you a bit of breathing room.
If you're in a permanent war with an opponent who inflicted a lot of damage to you, signing peace with random unrelated enemies is really your only option of ever bringing war weariness down.
This is completely ridiculous.
There are frequently situations where some civ is sanctioned and the whole world fights them on and off forever.
I see no reason at all why these fake wars and fake peace treaties should have any effect at all on a real war you might be fighting.
The more I think about this system, the more issues I notice.
Here's a final example:
You're at war with two civs, taking similar losses from both.
Because only the highest war_damage counts, you're suffering from only half the war weariness that you would if you took the same total losses but from only one opponent.
I see absolutely no good reason to justify this.
Extend the logic to multiple opponents and it makes even less sense.
Losing 10 tanks to one guy is 5 times worse than losing 2 tanks each to 5 guys.
And when you're fighting 5 guys, you might be able to sign up to 5 peace treaties, halving your current war weariness each time.
Against one guy, you can only halve it once, IF they even let you.
The reasons that most of these issues aren't really that noticeable in single player:
- you generally don't lose too much
- you can generally peace out whenever you want
- you're often in a bunch of fake wars that have no real consequences, but give you a chance to halve your war weariness
In multiplayer most of those reasons fly out the window. You WILL lose a ton. You will NOT be given a peace treaty if they know you're hurting.
The current system is pretty big and complicated.
I don't have the time or expertise to design a new one from the ground up, nor to suggest concrete numeric tweaks for all the variables that go into the current system.
Given the sad state of it, perhaps it could be viewed as a "bug" and a lead developer can embark on fixing it without the whole formal proposal process.
My main suggestions would be:
- count total war damage from all wars, not just the highest
- much faster war damage decay even while at war
if we stop sending our men into the meatgrinder for 10 turns, shouldn't they be happy?
- get rid of multiplying by "longest_war" completely
- signing peace shouldn't affect war weariness from other wars
I think a big part of what the current system is trying to achieve is to prevent forever-wars.
A more elegant approach would be that losses taken later in the war contribute more to war_damage.
Note that this isn't the same thing as the current system.
Here we would multiply the damage caused by a unit loss by some factor only once, on the turn that it happens, instead of multiplying by a rising factor every single turn.
This way if your war has lasted 40 turns already, losing a handful of units will hurt more than if the war lasted 20.
But it wouldn't magically start hurting even more on turn 41.
PS:
There's actually more to war_damage.
Besides the losses inflicted on us, it also includes 50% of the losses we inflicted on the enemy.
This needs to go.
Why are we punishing successful warmongers so severely?
My conclusion is that the whole system is very poorly designed, with many surprising and peculiar consequences, and needs an overhaul, or at least some major adjustments.
In rough terms, this is how it works.
war_weariness = war_damage * longest_war
war_damage is the highest damage you took in any current war.
It increases when:
- you lose military units, trade routes, cities, and tiles (to citadels, maybe also to America)
- when your tiles are pillaged
- when your cities are being razed
It's probably the same thing as war score, though this is just a guess.
It decays at 2% per turn while at war, and at 10% per turn while at peace.
longest_war is just the length of your longest current war, in turns.
Note that this can be any current war, not necessarily the one in which you lost the most.
The biggest problem I see with this has to do with "longest_war".
Until it reaches 50 turns, your war weariness will not go down, even if you stop taking losses entirely.
Not only will it not go down, it'll keep rising, and doing so very quickly if you're still early in the war.
For example between turn 10 and 11 of the war war weariness will increase by about 8%, even if you don't take any additional losses.
After 50 turns, the rate at which "longest_war" grows becomes less than 2% / turn, so war_damage decay starts outpacing it.
I did some math, and if you stop taking losses on turn 20 of the war, war weariness will not drop below the current value until turn 100.
This is a particularly big problem for multiplayer.
I guarantee that you will take more losses in one war against a strong human opponent than you will in an entire game against the AI.
This opponent can then lock you into essentially permanent war weariness even if your war reaches a stalemate and you both stop fighting.
There are a lot of legitimate reasons to avoid signing peace.
Maintaining control of city states is a big one.
So "just sign peace" isn't really a valid argument.
My contention is that "war_damage" should decay much much quicker than it does.
As of this writing, about 33% of respondents to a recent poll fall into the category that plays at least as much multiplayer as they do single player.
As multiplayer gets more stable, I expect that number to rise.
I hope that's a big enough fraction that balance decisions take multiplayer into account.
The fact that there is no connection between which two wars "war_damage" and "longest_war" come from also produces silly consequences.
- you have been in a fake war with civ A for 30 turns, and in a real war (in which you took losses) with civ B for 10 turns
signing peace with civ A will reduce your war weariness
I see absolutely no reason why it should, if all losses you took came from the war with B
- you declare war on some civ and quickly take some losses
your war weariness will be much higher if you have already been in a fake war with some other civ for many turns
again, I see no reason whatsoever why the length of one war should affect the effect on war weariness of damage sustained in any other war
There's actually more to the mechanics, but most of it doesn't really matter for this discussion, except one more thing.
Your current war weariness isn't actually just war_damage*longest_war.
That value is called "target war weariness".
Your actual war weariness is previous turn's war weariness plus about 30% of the difference to reach this turn's "target_war_weariness".
For example if target is 30 and your current war weariness is 10, next turn it'll be 16, then 20, then 23, etc.
Ignoring other changes like longest_war and war_damage decay, actual war weariness will get very close to target in no more than 10 turns, no matter how far away it is now.
What this does is prevent extreme sudden changes from turn to turn.
This doesn't really matter too much, except for one final mechanic.
Signing peace with a major civ immediately halves your current war weariness.
If there was no smoothing, it would jump back up to "target" immediately next turn, but instead it gives you a bit of breathing room.
If you're in a permanent war with an opponent who inflicted a lot of damage to you, signing peace with random unrelated enemies is really your only option of ever bringing war weariness down.
This is completely ridiculous.
There are frequently situations where some civ is sanctioned and the whole world fights them on and off forever.
I see no reason at all why these fake wars and fake peace treaties should have any effect at all on a real war you might be fighting.
The more I think about this system, the more issues I notice.
Here's a final example:
You're at war with two civs, taking similar losses from both.
Because only the highest war_damage counts, you're suffering from only half the war weariness that you would if you took the same total losses but from only one opponent.
I see absolutely no good reason to justify this.
Extend the logic to multiple opponents and it makes even less sense.
Losing 10 tanks to one guy is 5 times worse than losing 2 tanks each to 5 guys.
And when you're fighting 5 guys, you might be able to sign up to 5 peace treaties, halving your current war weariness each time.
Against one guy, you can only halve it once, IF they even let you.
The reasons that most of these issues aren't really that noticeable in single player:
- you generally don't lose too much
- you can generally peace out whenever you want
- you're often in a bunch of fake wars that have no real consequences, but give you a chance to halve your war weariness
In multiplayer most of those reasons fly out the window. You WILL lose a ton. You will NOT be given a peace treaty if they know you're hurting.
The current system is pretty big and complicated.
I don't have the time or expertise to design a new one from the ground up, nor to suggest concrete numeric tweaks for all the variables that go into the current system.
Given the sad state of it, perhaps it could be viewed as a "bug" and a lead developer can embark on fixing it without the whole formal proposal process.
My main suggestions would be:
- count total war damage from all wars, not just the highest
- much faster war damage decay even while at war
if we stop sending our men into the meatgrinder for 10 turns, shouldn't they be happy?
- get rid of multiplying by "longest_war" completely
- signing peace shouldn't affect war weariness from other wars
I think a big part of what the current system is trying to achieve is to prevent forever-wars.
A more elegant approach would be that losses taken later in the war contribute more to war_damage.
Note that this isn't the same thing as the current system.
Here we would multiply the damage caused by a unit loss by some factor only once, on the turn that it happens, instead of multiplying by a rising factor every single turn.
This way if your war has lasted 40 turns already, losing a handful of units will hurt more than if the war lasted 20.
But it wouldn't magically start hurting even more on turn 41.
PS:
There's actually more to war_damage.
Besides the losses inflicted on us, it also includes 50% of the losses we inflicted on the enemy.
This needs to go.
Why are we punishing successful warmongers so severely?