(4-NS) Change Deal Price for Human-AI Trades

Status
Not open for further replies.

azum4roll

Lost the game
Joined
Jul 17, 2018
Messages
4,010
Location
Somewhere
Glossary:
buy price = the maximum value the buyer is willing to offer for the resource
sell price = the minimum value the seller is willing to sell the resource for
deal price = the actual value that the resource is being traded for

The proposal:
AI offers to buy something from human at the average of their buy price and the perceived sell price of the human. This price CANNOT be increased (AI treats this as their actual buy price for deal purposes). Both AI and human gain trade opinion modifier with each other based on the difference of deal price and buy/sell price.

When human wants to buy something from AI, AI should charge them the average of AI's sell price and the perceived buy price of the human. This price CANNOT be decreased (AI treats this as their actual sell price for deal purposes). Both AI and human gain trade opinion modifier with each other based on the difference of deal price and buy/sell price.

Something includes everything that's not gold or gold per turn. Technically it can also include gold which always has the same buy/sell price, but for the sake of implementation, we're not counting it.

Example 1:
Civ A, a human player, is trying to sell Cotton to Civ B, an AI player. Using resource valuation, the AI is willing to pay 72GPT for the Cotton, and it thinks the human wants to receive at least 6GPT from selling it.
CURRENT behaviour: AI offers the deal at 72GPT, and the human happily accepts it.
PROPOSED behaviour: AI offers the deal at 39GPT, the human cannot increase the price but still happily accepts it, and the AI likes the human more now as if the human just gifted it 33GPT.
Note that if this was an AI-AI trade instead, the deal would have gone through at the same price, and both sides gain the positive opinion.

Example 2:
CIv A, a human player, wants to buy Silk from Civ B to start WLTKD. Using resource valuation, the AI is willing to part with the Silk for 4GPT, and it thinks the human is willing to pay at most 32GPT for it.
CURRENT behaviour: AI offers to sell at 4GPT, and the human happily accepts it.
PROPOSED behaviour: AI offers to sell at 18GPT. If the human accepts it, the AI likes the human more as if the human just gifted it 14GPT.
Note that if this was an AI-AI trade instead, the deal would have gone through at the same price, and both sides gain the positive opinion.

Rationale:
1. The human is gaining a lot from luxury deals as sell price and buy price differ too much. This is unsolvable through changing the valuation formula since a duplicated luxury really does worth nothing 99% of the time.
2. This reduces human gold income and may make working merchants and building gold buildings viable again.
3. Both sides of trade gain positive opinion of each other because
i) a positive opinion reduces the incentive to war and end the deal early, which is not beneficial to both sides;​
ii) positive opinion is already gained through trade routes, and trade deals should work the same;​
iii) both sides really do gain the equivalent of GPT from the deal.​

Note:
1. This is a copy of the non-sponsored change in the last congress session. Let's hope @Recursive or someone else have time to pick it up this time.
2. This proposal does not affect AI's valuation of resources/votes/etc. in any way.
 
I like the idea that trade would be more expensive overall for the human player, I think it's still too easy to be swimming in gold, even in the last version.

The one thing I would worry about is the boost to positive relations. Wouldn't that make the game too easy?
 
It's relatively minor compared to territory disputes, religious disputes, being friends with their enemies etc. Plus it shares a cap with trade route opinion modifier.
 
I'm not going to sponsor this because I cannot commit to having it done by the end of May, but it's a good idea and I'll add it when I can.
 
Ok, I checked the code and there's no way in hell I can do this :lol:
 
I sponsor this if you won't. Go ahead and implement it.

Big reason is that it's MOSTLY tech trades that are VERY unstable. When asking the AI what they'd offer for your tech, or vice versa, is usually about 10~20% more than what they're willing to pay. So for every civ, for every tech, it's a big headache to constantly adjust the trade cost by 10 gold until it's acceptable and not "-28" and this for EVERY TURN, so you CONSTANTLY have to check if any civ has unlocked a tech you can buy.

You need to add a feature where it shows a little blue symbol under a civ if they're selling a tech you don't have. And while you're at it, fix it so it actually shows all luxuries they have for sale, because I have to check that every turn too, it often doesn't show up even if they're selling a luxury they have 1 copy of even though the price is very low.
 
@Slyceth Do you have the C++ and Lua coding experience necessary?
 
Because the UI is NOT intended to show luxuries they only have one copy of? Hovering above the WLTKD resource should show you who have the luxury available for trade.
 
Proposal failed due to lack of sponsorship.
 
Status
Not open for further replies.
Top Bottom