TheNiceOne
Emperor
Hi, after several discussion threads about trade, I think I've got a solution that should be so easy to implement that Firaxis could fix it in the next patch.
The suggested solution will adress two issues. One is that people don't understand why the AI "will never accept" a trade, and the other is the fact that your per turn goods is simply makes any trade unacceptable if the AI is to give something instant and you have a bad reputation.
The first issue can be fixed by a better advisor. They simply need to change the advisor text so that it says something else than "they will never accept such a deal" in the following cases:
1) If you offer more gpt than your income, it should say something like "They will not accept since they don't think you can pay this for 20 turns."
2) If you ask for more gpt than their income, it should say something like "They will not accept since they're afraid of going bancrupt".
The second issue has been discussed in several threads lately, and I've just given a suggested solution in this thread, but I thought it deserved its own thread here, so I repeat it:
If I have screwed an AI, afterwards I can still make three of the four base trade types. I can:
1) Give per turn goods (resource, gpt) and receive per turn goods.
2) Give instant goods (gold, tech, map) and receive instant goods.
3) Give instant goods and receive per turn goods.
But the only thing the AI will never accept is that I:
4) Give per turn goods and receive instant goods.
The latter is the only way that the AI can be screwed, and is also the only trade type the AI will not accept after having been screwed once.
However, there is also combinations of these trade types, where one side (or both) gives both instant and per turn goods.
The problem is that when you have broken one deal, your per turn goods are considered worse than worthless in any deal where the AI gives instant goods.
This should be fixed by instead of just not accepting such a deal, the AI should modify your per turn goods by a multiplier between 0 and 1, depending on your reputation.
This is something Firaxis could (should?) do relatively easily, but its important that only trades of type 4) (and combinations) are modified this way. The problem arises when both sides gives instant goods and per turn goods. In that case they need to compute the difference in per turn goods given, and only modify this difference by the reputation modifier - not modify all of the per turn goods.
Ex:
Civ A and B wants to make a trade. A's reputation is 0.5 and B's reputation is 0.9.
1) If both trades per turn goods only, the values are unmodified.
2) If both trades instant goods, the values are unmodified.
3) If A gives instant goods and B gives per turn goods, B's goods is multiplied by 0.9, so B need to pay an interest rate of 11.1%.
4) If A gives per turn goods and B gives instant goods, A's goods is multiplied by 0.5, so A needs to pay an interest rate of 100%.
5) If A gives instant goods and per turn goods and B gives instant goods, the per turn goods from A is multiplied by 0.5, but the instant goods is unmodified.
6) If A and B both give per turn goods and instant goods, the following must be done. First must the difference of the unmodified trade values of the per turn goods be computed. Say that A gives 10gpt and B gives a luxury worth 8 gpt. This means that A gives 2gpt more than B. So this deal will be treated as 5), whith A's additional 2gpt multiplied by 0.5.
Let me do an even clearer example for 6.
B has a tech worth 500 gold and a luxury worth 8gpt. A has 400 gold and will pay the rest by gpt, i.e. enough gpt to pay for the remaining 50 gold for the tech and for the luxury. The gpt needed will then be 18 gpt, in addition to the 400 gold.
The computation is: (18gpt - 8gpt)*0.5 (A's modifier) = 5gpt.
So A is considered paying 400 gold and 5gpt for B's tech worth 500 gold, which is exactly the same sum. This is in addition to the 8gpt A pays for B's luxury.
If A's reputation was spotless (a modifier of 1), it would only have to pay 13 gpt, since (13gpt-8gpt)*1 = 5gpt as well.
So Firaxis, listen up, I've outlined the code for you. Now you implement it in your next patch.
The suggested solution will adress two issues. One is that people don't understand why the AI "will never accept" a trade, and the other is the fact that your per turn goods is simply makes any trade unacceptable if the AI is to give something instant and you have a bad reputation.
The first issue can be fixed by a better advisor. They simply need to change the advisor text so that it says something else than "they will never accept such a deal" in the following cases:
1) If you offer more gpt than your income, it should say something like "They will not accept since they don't think you can pay this for 20 turns."
2) If you ask for more gpt than their income, it should say something like "They will not accept since they're afraid of going bancrupt".
The second issue has been discussed in several threads lately, and I've just given a suggested solution in this thread, but I thought it deserved its own thread here, so I repeat it:
If I have screwed an AI, afterwards I can still make three of the four base trade types. I can:
1) Give per turn goods (resource, gpt) and receive per turn goods.
2) Give instant goods (gold, tech, map) and receive instant goods.
3) Give instant goods and receive per turn goods.
But the only thing the AI will never accept is that I:
4) Give per turn goods and receive instant goods.
The latter is the only way that the AI can be screwed, and is also the only trade type the AI will not accept after having been screwed once.
However, there is also combinations of these trade types, where one side (or both) gives both instant and per turn goods.
The problem is that when you have broken one deal, your per turn goods are considered worse than worthless in any deal where the AI gives instant goods.
This should be fixed by instead of just not accepting such a deal, the AI should modify your per turn goods by a multiplier between 0 and 1, depending on your reputation.
This is something Firaxis could (should?) do relatively easily, but its important that only trades of type 4) (and combinations) are modified this way. The problem arises when both sides gives instant goods and per turn goods. In that case they need to compute the difference in per turn goods given, and only modify this difference by the reputation modifier - not modify all of the per turn goods.
Ex:
Civ A and B wants to make a trade. A's reputation is 0.5 and B's reputation is 0.9.
1) If both trades per turn goods only, the values are unmodified.
2) If both trades instant goods, the values are unmodified.
3) If A gives instant goods and B gives per turn goods, B's goods is multiplied by 0.9, so B need to pay an interest rate of 11.1%.
4) If A gives per turn goods and B gives instant goods, A's goods is multiplied by 0.5, so A needs to pay an interest rate of 100%.
5) If A gives instant goods and per turn goods and B gives instant goods, the per turn goods from A is multiplied by 0.5, but the instant goods is unmodified.
6) If A and B both give per turn goods and instant goods, the following must be done. First must the difference of the unmodified trade values of the per turn goods be computed. Say that A gives 10gpt and B gives a luxury worth 8 gpt. This means that A gives 2gpt more than B. So this deal will be treated as 5), whith A's additional 2gpt multiplied by 0.5.
Let me do an even clearer example for 6.
B has a tech worth 500 gold and a luxury worth 8gpt. A has 400 gold and will pay the rest by gpt, i.e. enough gpt to pay for the remaining 50 gold for the tech and for the luxury. The gpt needed will then be 18 gpt, in addition to the 400 gold.
The computation is: (18gpt - 8gpt)*0.5 (A's modifier) = 5gpt.
So A is considered paying 400 gold and 5gpt for B's tech worth 500 gold, which is exactly the same sum. This is in addition to the 8gpt A pays for B's luxury.
If A's reputation was spotless (a modifier of 1), it would only have to pay 13 gpt, since (13gpt-8gpt)*1 = 5gpt as well.
So Firaxis, listen up, I've outlined the code for you. Now you implement it in your next patch.
