Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"What do you want for this?" trading option #1925

Closed
LeGend172 opened this issue Feb 13, 2020 · 10 comments
Closed

"What do you want for this?" trading option #1925

LeGend172 opened this issue Feb 13, 2020 · 10 comments

Comments

@LeGend172
Copy link

When trading with the AI in Civ, by clicking on "What do you want for this?", it was possible to ask how much the AI values certain items and then perform the trade on the same turn.
This enabled making multiple trades on the same turn without giving the AI more items than you needed to.
For examples, in peace, the AI values Open Borders for (Open Borders/100 good).

If you offered an item for a certain price to the AI and they rejected, you will have wasted a turn without the trade.
If you offered the item for a lower price and the AI rejected the trade again, you would have wasted 2 turns.
If you repeat offers for lower prices and the AI keeps rejecting, that will waste even more turns and the AI might eventually never accept your offer for a reasonable price.

Examples of needing the feature:
You conquered an enemy city that has no importance to you and is causing you unecessary unhappiness, you might want to sell it.
If you don't need a strategic resource (like iron), you might sell an amount of it.
If you have extra happiness and are desperate for gold, you might sell duplicate/single luxury resources for gold.

This feature, in my opinion, is very fundamental for Civ.

@Whistler11
Copy link

I agree that it would be a great feature to have for any game that has trading with AIs. I also think it's a starting point for exploitative trading to abuse the AI. I don't think AIs are smart enough to handle the complexities of trade, e.g. some items situationally have a higher or lower value, knowing that someone wants something from you by saying "what do you want for this" immediately increases its value (knowing it has a demand).

By making it easier for players to know the exact thresholds of how an AI values something, we're setting up a system to be abused.

I love the idea, and in the past wished something like it existed, but I would never use it and believe it would be difficult to balance.

@r3versi
Copy link
Contributor

r3versi commented Feb 14, 2020

How about the AI would respond with a value 20% higher than it would have accepted without the request? Also, to avoid this feature to be abused, we could set it to have a chance of success of say 50%?

@Whistler11
Copy link

Whistler11 commented Feb 14, 2020

Oooh, I kinda like that! A good starting point! It would have to be a random increase of % I think, otherwise, next time trade time comes, I'll take what I asked for last time and reduce it by around 15% to be safe, and would be pretty confident it would work. Also, the 50% fail rate means that if I did the exact same trade next round there is a chance it would just suddenly go through. Albeit, you've "wasted" time, but if I can save hundreds of gold for trade spamming, then I would abuse that instead.

Would this system allow you to make trades that normally would be out of your reach? I have enough money right now to buy every city around me and then burn it to the ground. Should I be able to? Can I keep trading cities, albeit at a loss, to scramble to locations of civilisations? If I have enough money, why can't I?

The trade and diplomacy AI is a weird beast. I think there are a lot of inconsistencies in the system already, and they need ironing out to give players the semblance of a sensible trade/diplomacy system before we put in systems that let you semi-bypass the negotiations.

An example:
In my current game, I am trying to pump money into a foreign country on the opposite side of the continent so they'll declare war on their neighbours and stir up chaos. I dragged them out of the middle ages to the modern age, solved their ongoing money problem, sent them thousands of gold. They still don't like me because of "my warmongering ways" (i am nowhere near them) and "your so called "friendship" is useless to us" (u wot m8?). I am still getting what I want (chaos) but I have no idea WHAT motivates them, and I feel that that is okay. they're a different country with their own internal and political junk going on. But also like... Come on. You would be wiped out without me. Trade your unused luxury resources with me.

@RealGrouchy
Copy link

I just left a comment on this in the "missing Civ V features" thread, before seeing this discussion here.

I think that the fact that you have to wait a turn to find out if your trade offer is accepted really changes the balance of this. If we could find out immediately then I agree there would be chance for abuse, but the way it is now it's so difficult to figure out what a reasonable trade is worth that I just don't bother trading.

@LeGend172 LeGend172 reopened this Mar 3, 2020
@LeGend172
Copy link
Author

I think that allowing trades with the AI to be done in 1 turn would step towards better trading with the AI.

I agree that it will allow easier AI abuse, but I think it's necessary because sometimes it is quite diffficult to estimate how much the AI values certain trades (for example, how much the AI values a city or how much the AI is willing to pay you to war another civ).

You will either waste turns trying to find the optimal trade, accept a smaller amount or not bother trading.

@JoshDM
Copy link

JoshDM commented Apr 6, 2020

Randomize the mark-up from -15% to 100%, though it should also consider what the nation already has. If a nation is at -5 gold/turn and you offer it 5 gold/turn, I think it might value that more than a new technology.

@refola
Copy link

refola commented Jul 3, 2020

Regarding AI abuse, much worse is possible. But even before I figured out that exploit, I was roughly keeping track of how much AIs wanted for similar items and trading accordingly. It's already something you can calculate from the item type, your relationship with the AI, and the difficulty level. This feature request just provides a transparent mechanism to use it.

That said, I do like the idea of randomizing how much an AI wants for something. The statistical distribution should probably be a bell curve (with a mean at the current formula's valuation, at least until someone comes up with better formulae), with a standard deviation based on how disparate the traded items are.

E.g., you can currently get an AI's second copy of a luxury for 250 gold and sell a wanted luxury for the same. If you're trading a luxury for a luxury, then it's fair to set the standard deviation to zero. But if you're trying to buy their luxury with gold, then they might want randomly require 300 gold … or accept the trade for only 200.

Copy link

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 15 days.

@yairm210
Copy link
Owner

Since this discussion, our policy regarding this has solidified - we intentionally didn't add this due to the guiding principal of "the AI plays to win".
We want player-AI interaction to be as close to player-human interaction as possible, to be as unabuseable as possible. Both are better served by this not existing.
In an ideal world, when you played Unciv, you wouldn't be able to tell if you're playing against a human or not.

@yairm210 yairm210 closed this as not planned Won't fix, can't repro, duplicate, stale Mar 18, 2024
@davisbrandon02
Copy link

I think this should be considered as an advanced setting, like raging barbarians. I consider this more of a quality of life feature than anything, and without it civilizations that are centered around trade (ex: Arabia) are much more tedious to play, as well as being overall worse because of how much longer it takes to organize trade deals.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants