Diplomacy AI Development

@Recursive
Can you pls explain Netherlands behavior ? In some games he is buying luxes for good prices, like 10gpt or sometimes even more. In other games he pays only 4 gpt even if Friendly to me all game long. I think offering better prices is the correct behavior as it benefits him so much.

He probably pays less if he already has/is nowhere close to monopoly, AND already has that lux imported.

To be fair, he should outright value it at 0 for the "already monopoly and imported" case, to avoid exploit. Not sure if he already does that.

Not sure how it's calculated, but often for resources he already has a copy of they are valued at a very low value. Not zero, but close to it (5 gold in cases I've seen). Which seems as intended, to me.

He pays 5 gold, note it's not gpt, when he doesn't need it. In my case it's like 4-5gpt and generally comparable to other civs. Which means I don't have the incentive to sell to him and to him only, except for a diplo bonus (if I need it at all). Actually when it happens, there are multiple civs who pay much more (6gpt is very common).
It looks like some games he wants to push the UA to the max, and other games he forgots he has it at all.
Could it be because of Goddess of Festivals ?

I edited the code a while back so that they would value duplicate luxury resources that don't give them a monopoly at 5 Gold rather than 0 for humans (and IMPOSSIBLE for other AIs, just to prevent any exploits).

Netherlands does have code to handle duplicate resources that do give them monopoly bonuses.

Can't comment further as I'm unable to read the code on my phone (which is all I have for this vacation), but it's in CvDealAI.cpp if anyone wants to check.
 
I noticed same behavior with Indonesia and I now strongly suspect it's the GoR. It's kinda sad if his UA only works as a side effect of his pantheon :)
 
Is it possible to implement outright capitulation for civs with vassals or at least some equivalent? (e.g. Releasing or taking all their vassals) Such civs are a massive pain to deal with as a warmonger because you need more than 1 war to "neutralize" them unless you wipe them out. Plus it breaks the deal value balance when warscore is high enough to make a regular civ sue for vassalisation. In this case civs with vassals offering peace will have their deal value drop from 10,000+ to just a few hundred without offering capitulation, which punishes the player for getting a high enough warscore. This mechanic feels wrong and adds to the unfun side of dealing with civs with vassals.
 
AI peace deal offers are too low (I play April's version). Is it fixed in the recent betas ?
When an AI is about to lose a city, he offers so little so it's never worth accepting. And then you take his city and suffer warmonger penalty. It's a part of a much bigger issue where if you lose Terracotta as a peaceful player, defensive wars bring too little value so the only way to compensate army costs is to capture cities.

Also, there should be a way for the winning side to enforce a long lasting peace, other than becoming a warmonger. Can we implement a longer than 10 turn peace treaty in addition to the 10 turn one ? Thus it won't be possible to exploit (grab a huge peace deal and DoW asap). Basically it would be a "pay me a tribute and leave me alone" kind of a deal.
 
Last edited:
AI peace deal offers are too low (I play April's version). Is it fixed in the recent betas ?
When an AI is about to lose a city, he offers so little so it's never worth accepting. And then you take his city and suffer warmonger penalty. It's a part of a much bigger issue where if you lose Terracotta as a peaceful player, defensive wars bring too little value so the only way to compensate army costs is to capture cities.

Also, there should be a way for the winning side to enforce a long lasting peace, other than becoming a warmonger. Can we implement a longer than 10 turn peace treaty in addition to the 10 turn one ? Thus it won't be possible to exploit (grab a huge peace deal and DoW asap). Basically it would be a "pay me a tribute and leave me alone" kind of a deal.

AI peace deals haven't been modified for a while, but I can investigate the code when I get back home.

Not currently possible to implement an ingame option for longer peace deals. I could look into it in the future, but it does sound exploitable.
 
AI peace deals haven't been modified for a while, but I can investigate the code when I get back home.
Thanks anyway! I think I'm not the first one to complain about this.

Not currently possible to implement an ingame option for longer peace deals. I could look into it in the future, but it does sound exploitable.
The current system is already exploitable (by the player - AIs don't do it on purpose): offer huge gpt to settle for peace, then DoW in 10 turns. 10 turns can buy some important time.
 
Another issue: Vassals should avoid hostile actions towards their master, if he treats them well. In my current game I vassalized France who then citadeled me 4 times. He had many positive diplo modifiers with me and I didn't even set taxes for him. Even using 1 citadel is a very hostile action that can lead to war but 4 ? That's straight suicida

UPD: Actually I think citadeling in general is a broken feature diplomatically. AI tends to overuse it, even if super friendly some of AI personalities will citadel you and then expect to maintain friendly relationship. AI treats citadeling as a minor offense (when they do it) but not when they are the receiving side.
 
Last edited:
Another issue: Vassals should avoid hostile actions towards their master, if he treats them well. In my current game I vassalized France who then citadeled me 4 times. He had many positive diplo modifiers with me and I didn't even set taxes for him. Even using 1 citadel is a very hostile action that can lead to war but 4 ? That's straight suicida

UPD: Actually I think citadeling in general is a broken feature diplomatically. AI tends to overuse it, even if super friendly some of AI personalities will citadel you and then expect to maintain friendly relationship. AI treats citadeling as a minor offense (when they do it) but not when they are the receiving side.

Which version are you using? I banned them from using citadels against their master recently.
 
I tend to focus on WC a lot in my games, and I think people are sleeping on the “Open Door:” proposal. It’s available before Sphere of Influence, it deprives another Civ of a vote down the line, it’s likely to be supported by multiple civs when it’s time to vote, and it doesn’t go away with Decolonization. It also indirectly makes your votes more valuable since there are less total votes available after it passes.

I like using it on CS’s that are on the other side of the map that I have no hope of allying. It’s pretty good during those lulls in WC when there isn’t a lot of good stuff to propose.
 
I tend to focus on WC a lot in my games, and I think people are sleeping on the “Open Door:” proposal. It’s available before Sphere of Influence, it deprives another Civ of a vote down the line, it’s likely to be supported by multiple civs when it’s time to vote, and it doesn’t go away with Decolonization. It also indirectly makes your votes more valuable since there are less total votes available after it passes.

I like using it on CS’s that are on the other side of the map that I have no hope of allying. It’s pretty good during those lulls in WC when there isn’t a lot of good stuff to propose.

I have mixed feelings about it because if the AI knows it can't control a particular city-state it will re-route diplo units to another. Less city-states means more competition for remaining city-states. That said, I'm happy to use it from time to time to remove an ally from a rival. I dislike that Open Doors tend to stick around for a long time though because the number of city-states seems to tend downwards over time, such that at the end of the game there aren't all that many allyable city-states left.
 
When someone spies on you, and you catch them, you can click the notification and it gives you several options, IIRC, it was "let this transgression slide", "denonce", or "declare war". what if a similar thing happened when someone stole tiles, but if you hit "declare war", it would ignore DP?
@Recursive would this be possible for when someone plants a citadel on you or takes a CS you protected?

I think this change would help DPs, because that way they don't protect you for everything. They protect you from offensive watmongers, but they don't allow you to bully without counter.
 
@Recursive would this be possible for when someone plants a citadel on you or takes a CS you protected?

I think this change would help DPs, because that way they don't protect you for everything. They protect you from offensive watmongers, but they don't allow you to bully without counter.

Rather difficult to code, considering a citadel could technically steal territory from up to six different civs. In multiplayer there are additional difficulties, because the AI can't pop up in MP.

If I'm able to figure out the code, though, I'm willing to make citadels, spying and attacking protected City-States give the victim an option to immediately declare war without triggering Defensive Pacts or warmongering (but without cancelling them).

I think this would make everyone happy.
 
Rather difficult to code, considering a citadel could technically steal territory from up to six different civs. In multiplayer there are additional difficulties, because the AI can't pop up in MP.

If I'm able to figure out the code, though, I'm willing to make citadels, spying and attacking protected City-States give the victim an option to immediately declare war without triggering Defensive Pacts or warmongering (but without cancelling them).

I think this would make everyone happy.
For MP the usual forced interaction during the human's turn would work.
 
I'm having issues on continents maps where, soon after making contact with the other continent, most/all of the other civs will declare war on me and proceed to not make any attempt at actually taking cities or invading. This happens even if I am not doing much warmongering
 
Back
Top Bottom