Originally posted by Quandary
TheNiceOne mentioned
While I agree that trading gold for gold is dumb and not strictly needed, it could bring us closer to a trade system where the AI considers only value verses value, and that would be a giant step in the right direction.
The reputation, or even current income, modifiers, for one thing, make little sense in many situations. Such as offering gpt paid for luxuries received. If I stop paying the gpt (war or trade embargo), they stop giving me that luxury, so who loses?
None (or both) lose, so this trade should be ok regardless of reputation, but this trade
will actually be accepted by the AI regardless of your reputation. The AI already functions as you say it should here.
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.
The problem (for many) is that if you have a trade of type 2) that the AI will accept, and then add 1gpt, the AI will suddenly stop accepting it, even if the deal is now better for the AI. The reason is that the AI now sees the trade as type 4) since it gives some instant and receives some per turn, and it ignores that it also receives enough instant goods to make the trade acceptable.
I think it would be an improvement if the AI accepted such a trade, but a very minor, since you can make the accepted trade first, and then give the AI 1gpt as a separate deal if you want to.
[/B][/QUOTE]Yes, if they got it all up front they wouldn't have to "worry" about the human reneging, so that's what they'd prefer. But asking for more gpt than lump sum gold would compensate. Pay over 20 turns and it'll cost you 1000 gold. Pay lump sum and get it for 600.[/B][/QUOTE]
I agree with you of course. In trades of type 4), the AI shouldn't simply not accept it as is the situation now, but it 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) is 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.
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 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 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.
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.
