1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Capitulation decisions

Discussion in 'Civ4 - Better AI' started by jdog5000, Jan 21, 2009.

  1. jdog5000

    jdog5000 Revolutionary

    Joined:
    Nov 25, 2003
    Messages:
    2,601
    Location:
    California
    I've been looking into the AI logic regarding capitulation when losing a war. The main issue is that the winning side of a war seem all to willing to accept capitulation, the AI never seems to press for complete destruction. Here's what I've found:

    CvPlayerAI::AI_doPeace has two sections, a long one dealing with making peace in war and a short one handling capitulation. For capitulation, there are a couple of checks about whether the war has been going on long enough and teams have the right techs, but the actual AI logic is in CvTeamAI::AI_surrenderTrade. This function determines whether a team is losing badly enough and willing to surrender. There, however, seems to be no AI code at all for whether a player should want to accept a vassal.

    For the peace process there are clearly checks for whether the deal makes sense for both sides, but for capitulation there is just one call to CvPlayer::canTradeItem ... once the losing side is willing to surrender, capitulation happens immediately. The fact that there's no check for whether the winning side wants the vassal is pretty surprising to me.

    So the question then becomes under what circumstances should the AI go one way or the other? What are the factors that should be taken into account?
     
  2. jdog5000

    jdog5000 Revolutionary

    Joined:
    Nov 25, 2003
    Messages:
    2,601
    Location:
    California
    Perhaps another way to approach the same issue is what are the circumstances under which the AI should accept capitulation ... at least some of those are easier to define:

    Accept capitulation if:
    - In other wars. The AI's troops are freed from one front and it also gains a (weak) war ally.
    - Out of offensive troops to make further gains.
    - High war weariness.
     
  3. PieceOfMind

    PieceOfMind Drill IV Defender Retired Moderator

    Joined:
    Jan 15, 2006
    Messages:
    9,319
    Location:
    Australia
    Good question. Usually for the human player it is better to continue capturing cities if they have a sufficient power advantage, because the human player is better at managing the captured cities than the AI would be as a vassal. When the master and vassal are AIs however, they're both probably as good as each other. On that basis, I can see why it is fairly reasonable to just have the AI automatically accept capitulation. But since you asked...

    Some things that I think could influence whether or not the AI should accept a vassal.

    • Does the capitulating civ have many resources that would be useful to me?
    • Is the capitulating civ on another continent to my palace? If so, it should be more tempting to accept the capitulation because of maintenance costs that would be incurred through further conquest.
    • Similar to the last point, are the capitulating civ's cities mostly very far away from my palace? If so, make accepting capitulation more likely, again because of distance costs.
    • How much power does the capitulating civ have? (Maybe this affects whether capitulation is possible in the first place, between AIs - I'm not sure) If we have not wiped them out too severely they could still serve well under my rule. If they are too weak due to the current war, they may take too long to catch up again.
    • Would accepting the capitulation put me over the domination threshold? If yes, or if very close, accept the capitulation in the hope of achieving victory sooner.
    • Am I losing momentum? If the rate of conquest in the current war has slowed, perhaps accepting the capitulation is a good way to ensure some gains are made with the alternative being a possibly lengthy and damaging end to the war.
     
  4. PieceOfMind

    PieceOfMind Drill IV Defender Retired Moderator

    Joined:
    Jan 15, 2006
    Messages:
    9,319
    Location:
    Australia
    Other things...

    Is the capitulating civ at war with other parties? If so, accepting capitulation means those other parties won't get to have any more of the prize if those parties are at peace with you.

    If it is late in the game, third party culture could be so significant around the cities of the capitulating civ that taking the cities yourself would ensure they get culturally drowned. As a vassal, their culture will still stand strong against other rivals and so those cities will still remain useful to someone on your side.

    Is the capitulating civ building the spaceship? If so, the war should continue to ensure they do not win the game as the AI's vassal. (I think that's how the game works)

    Is the remaining civ small enough, and possibly spread out enough over little islands etc., that accepting the capitulation for the +1:) is more valuable than actually owning those few cities (and going to the effort to capture them)? If so, accept capitulation.
     
  5. Headlock

    Headlock Nomnomnomnom

    Joined:
    Sep 1, 2007
    Messages:
    128
    Location:
    Over there!
    Very interesting topic.

    PieceofMind, good points- you last lines up nicely with JDogs also.

    However, i personally often take a vassal simply in order to deny territory to a rival, witout the hassle of managing the cities. Naturally this is later in the game, when i have say 15+ cities. I also often take a vassal in order to act as a buffer to a rival, so thati have a warning time/space in case of attack, and can suffer the loss of some of 'my' cities without losing any actual money/production. Also, i wil deny a captitualtion if i am near, but have not captured, a high value city, eg one with an apostolic palace, or the Pyramids, or with a vital resource, etc.

    NB- I use only the Revolution mod, so rebellion is always a concern.

    I think this list can be broken down in to 4 categories, with elements of some overlapping:

    Strategic:
    1. Am I at war with another Civ? (2 front wars should be deeply undesirable to any AI)
    2. Is the capitulating civ at war with other parties?
    3. Would accepting the capitulation put me over the domination threshold?
    4. Is the capitulating civ building the spaceship?
    5. Will they act as a buffer between us and another, stronger than us, civ?
    6. Or, If we conquer them will we be close to more, weaker civs? (ie further conquest)

    Economic:
    1. Do they have strategic resources that we do not have, or only 1 of? (bronze/horse/iron/coal/oil)
    2. Do they have valuable financial resources?
    3. Do they have valuable Financial wonders? eg Colossus, Great Lighthoise, etc.

    Domestic:
    1. Do they have valuable Happiness resources?
    2. Is their culture strong? Ie how likely are they to rebel?
    3. Do they have valuable happiness/Culture wonders? eg Notre Dame, Eiffel Tower, etc
    4. Will it be more expensive and dangerous (rebellion) to conquer than to leave as a vassal?

    Military:
    1. Do we need the troops to fight another, more powerful enemy we are already at war with?
    2. Are the potential vassal spread out over islands, thus making a slow, awkward conquest?
    3. How much power does the capitulating civ have? (ie are they useful as a War Ally?)
    4. Conversely, if they rebel, will they be dangerous?
    5. Do they have a high value city left, that is weakly defended? Also converse is true- are their remaining cities strongly defended?
    5. Have they rebelled before? ie if this is say, the 3rd time theyve made a full blown non-barbarian rebellion, then maybe better to just raze their civ and build on its ashes.. :devil:
    6. Will they act as a buffer between us and another, stonger than us, civ?

    HDK
     
  6. PieceOfMind

    PieceOfMind Drill IV Defender Retired Moderator

    Joined:
    Jan 15, 2006
    Messages:
    9,319
    Location:
    Australia
    Nice way to categorise the thoughts Headlock!

    There is one thing that caught my attention though...

    How should this influence the decision do you think?

    As a human player having AIs as buffers can be useful because we don't mind abusing other AIs for this purpose and the AIs are generally less effective than we are at defending cities and defending borders. However, I would wonder whether it's worth it for an AI to take on another AI as a capitulated AI because the vassal would serve as a buffer.

    It's just that I get the feeling for AIs it would be more useful to genuinely help their capitulated vassals rather than use them solely for fodder. I would imagine that because AIs are no smarter than their vassals, it's probably more effective, in terms of likeliness of winning the game, to help them out as much as possible.

    Another thing... Can AIs actually tell their vassals what to research like we can tell our vassals what to research? If so, it could be worth it for the AI to see how strong the capitulating civ's beaker economy is so it can research techs in parallel to assist in tech trades. I'm always telling my vassals to go for techs that I don't consider priority techs, but still want to trade for. Considering the research-strengh of the capitulating civ should perhaps be even more important if the master is starting to struggle with tech pace, possibly because of all this conquest he's doing.:)
     
  7. scu98rkr

    scu98rkr Prince

    Joined:
    Nov 2, 2004
    Messages:
    463
    As PieceOfMind says I think the most important check is

    Is the capitulating civ at war with other parties? If so, accepting capitulation means those other parties won't get to have any more of the prize if those parties are at peace with you.

    I this instance you should always accept the capitulation.
     
  8. PieceOfMind

    PieceOfMind Drill IV Defender Retired Moderator

    Joined:
    Jan 15, 2006
    Messages:
    9,319
    Location:
    Australia
    I think the most important checks will actually be the ones where the result would be the decision to not take the vassal. As I said at the start, I think automatic accepting of capitulated vassals is reasonable enough that it could very well have been intended by the developer. In the vast majority of situations it is probably more beneficial to take the vassal.

    Situations where the AI should consider not taking the vassal:
    • Is the capitulating civ building the spaceship?
    • If yes, consider not taking the vassal.
     
  9. scu98rkr

    scu98rkr Prince

    Joined:
    Nov 2, 2004
    Messages:
    463
    I think that the possibility of the vassal wining a spaceship/cultural victory are special cases and the only time that this could be over riden ->

    Is the capitulating civ at war with other parties ? If so, accept.

    After playing many LAN games it always very important to try and get capitulation before my housemate.

    Even if the potential vassal does have a high value city it is very important the Civ doesnt vassalise to someone else and generally isnt worth going after.
     
  10. PieceOfMind

    PieceOfMind Drill IV Defender Retired Moderator

    Joined:
    Jan 15, 2006
    Messages:
    9,319
    Location:
    Australia
    A very important point. I'll add it to the previous post of mine.
     
  11. Headlock

    Headlock Nomnomnomnom

    Joined:
    Sep 1, 2007
    Messages:
    128
    Location:
    Over there!
    what the- are you serious? We can????
    Ive NEVER seen this!!

    tell tell tell!!

    bloody hell, this is gonna seriously affect how i look at vassals from now on!

    HDK
     
  12. PieceOfMind

    PieceOfMind Drill IV Defender Retired Moderator

    Joined:
    Jan 15, 2006
    Messages:
    9,319
    Location:
    Australia
    Go to speak with the leader, then We would like to discuss something else, then We would like you to research...
     
  13. Headlock

    Headlock Nomnomnomnom

    Joined:
    Sep 1, 2007
    Messages:
    128
    Location:
    Over there!
    Well well well.

    you think you know a game inside out, but this little beauty just keeps throwing a surprise at me. I ahve no idea how i missed this.

    well that Does change things a bit- the ai should be able to recognise that having another, smaller civ researching short techs (eg drama, while you beeline for gunpowder), is a good thing.

    So maybe add this to Domestic Interests

    Cheers,
    HDK
     
  14. BobTheTerrible

    BobTheTerrible Just Another Bob

    Joined:
    Jan 5, 2003
    Messages:
    927
    Location:
    Middle of Nowhere
    My thoughts are that capitulation should really only occur if the stronger civ can't likely capture the weaker civ's cities soon, the stronger AI is being bogged down by war or other pressing issues, the weaker civ's culture isn't going to completely swallow the captured cities, and the weaker AI would actually be useful for the stronger AI to have as a vassal (attempting conquest/domination victory, useful to supplement wars in the future, etc). Otherwise it seems in the AI's better interest to make peace and invade later (perhaps add a "mental note" to the AI that finishing the civ off is something it needs to do).

    In fact, perhaps add different types of wars for the AI, basically add an objective for each war (I'm pretty sure there's something like this already involved). In wars of defense, the AI would be content to make peace as soon as possible, unless it sees it can go on the offensive. In "bullying" wars, the AI's objective is to reduce the strength of a neighbor (extensive pillaging/sieging cities) and perhaps supplement its own strength. In "annexation" wars, the AI won't be content until the civ is completely wiped out (or at least wiped off of the continent) and would never accept capitulation. In "resource" wars, the AI's sole purpose is to capture a resource it wants that it would be difficult to otherwise obtain. And in "expansion" wars, the AI sees it might have a chance of pursuing Conquest/Domination, and wants to eliminate or capitulate the other civ. If the AI isn't seeing success with these strategies, it will be content to make peace and try again later, or attack another civ. Similarly, civs on the defensive might be content to capitulate if they think they can see freedom eventually down the road, or may adopt a "fight to the last man" behavior where it would never accept capitulation.

    As a side note, I think it would be cool to have capitulation toggleable as an option separately from vassals (I don't mind playing with vassals, but I dislike the current state of how capitulation works because civs rarely get wiped out in AI-AI wars).
     
  15. r_rolo1

    r_rolo1 King of myself

    Joined:
    May 19, 2006
    Messages:
    13,818
    Location:
    Lisbon, Portugal
    Just as a side note to this, maybe a look to the way that the AI is willing to acept voluntary vassals that are warring ( and losing ) someone else would be interesting. My impression is that the AI is too eager to acept this kind of vassals for their own good.....
     
  16. jdog5000

    jdog5000 Revolutionary

    Joined:
    Nov 25, 2003
    Messages:
    2,601
    Location:
    California
    Thanks for all the ideas guys!

    It's certainly true that the AI should accept capitulation if there's any threat of the enemy capitulating to another player. I've made sure that's in there as the second check right after the check for the other player being too close to victory.

    As I've got it right now, if the potential vassal can't surrender to anyone else, the AI will keep a war if it's about to capture a valuable city. The AI can also choose to keep the war if it's not busy or burdened and there are enough valuable or soon to be captured city targets left (where the bar for enough depends on how warmongerish the AI is).
     
  17. phungus420

    phungus420 Deity

    Joined:
    Mar 1, 2003
    Messages:
    6,296
    I would also add a clause to eliminate a civ if it is down to practically nothing. A vassal with 2 easily capturable tundra cities is more trouble then it's worth usually.
     
  18. bergee

    bergee Chieftain

    Joined:
    Apr 27, 2008
    Messages:
    5
    Gotta agree with that, although I might make it more general than that. That is, if the civilization is much smaller than most other civilizations, it might be useful to conquer it because it won't be a useful vassal.
     
  19. Yakk

    Yakk Cheftan

    Joined:
    Mar 6, 2006
    Messages:
    1,288
    Really, one of the big problems is that Vassals are nearly useless in general.

    I've hacked up the DLL in the past to make Vassals not suck, but never polished it.

    1> Vassal unit costs increased by 50% (1.5x). When a Vassal produced a unit, 50% of the time it would also produce a unit for it's master.

    2> Vassal research costs increased by 50% (1.5x) if working on a technology that the Master doesn't have (and the Master isn't further along on the research). That 50% would be deposited in the Master's research for that technology. Vassal research costs would be reduced by 50% (0.5x) if working on a technology the Master has or is further along on.

    3> Vassals cannot trade away technologies given to them by the Master if the Master lacks "child technologies" off of that technology (ie, Vassals are not allowed to trade away bleeding edge technologies given to them by the Master).

    Between the 3 above, having a Vassal would be helpful. You'd get units from the Vassal, you'd get research from the Vassal (if you didn't keep the Vassal in the dark), and you could give the Vassal technologies without losing your "Bleeding Edge" technologies to the Vassal trading them away.

    It would even be a good idea to build provinces out of Vassals (give them some of their conquered territory back, but not enough to break free).
     
  20. Palinathas

    Palinathas Chieftain

    Joined:
    Nov 28, 2008
    Messages:
    34
    That sounds pretty cool, I like the idea of vassals, but they always seem to suck actually having them in Civ. My only question is does it give too much to the vassal to halve his research into a tech the master has? Might make the vassal too powerful when they break free. I think that research should certainly flow from vassal to master somehow though.....
     

Share This Page