Results 1 to 14 of 14

Thread: AI vassal

  1. #1

    Default AI vassal

    I've tinkered around with descr_diplomacy and descr_campaign_ai_db but haven't managed to make the AI accept being a protectorate of player faster. Please help.

  2. #2
    z3n's Avatar State of Mind
    Moderator Emeritus

    Join Date
    Aug 2011
    Posts
    4,640

    Default Re: AI vassal

    If you put it so that the AI wants to be a vassal under most situations in the descr_campaign_ai_db that will accomplish what you want.
    The AI Workshop Creator
    Europa Barbaroum II AI/Game Mechanics Developer
    The Northern Crusades Lead Developer
    Classical Age Total War Retired Lead Developer
    Rome: Total Realism Animation Developer
    RTW Workshop Assistance MTW2 AI Tutorial & Assistance
    Broken Crescent Submod (M2TW)/IB VGR Submod (BI)/Animation (RTW/BI/ALX)/TATW PCP Submod (M2TW)/TATW DaC Submod (M2TW)/DeI Submod (TWR2)/SS6.4 Northern European UI Mod (M2TW)

  3. #3

    Default Re: AI vassal

    I'm trying, but this does not make sense to me.
    Code:
                <decision_entry>                <!--
                        if we're at war && he borders all our groups && his frontline strength is more than thrice as large as ours &&
                        his free strength is more than four times as large as ours, AND IS NOT OUR SHADOW FACTION >>> propose become protectorate
                    -->
                    <min_entry    stance="AtWar" borders_all_our_regions="true"/>
                    <max_entry    frontline_balance="0.3" free_strength_balance="0.3" production_balance="0.5" target_is_shadow="false"/>
                    <faction_attitude    defense="defend_deep" want_peace="true" want_be_protect="true" alliance_against="7"/>
                </decision_entry>
    I well exceeded the 'max_entry' seiging down Scotland's last town with 10 units to their last 1. They still considered being a protectorate very demanding.

  4. #4
    z3n's Avatar State of Mind
    Moderator Emeritus

    Join Date
    Aug 2011
    Posts
    4,640

    Default Re: AI vassal

    Why do you have production balance in there? That is for producing units I thought, were you producing units?

    Try moving that decision to the top as well, since those first entries are evaluated before the others.
    The AI Workshop Creator
    Europa Barbaroum II AI/Game Mechanics Developer
    The Northern Crusades Lead Developer
    Classical Age Total War Retired Lead Developer
    Rome: Total Realism Animation Developer
    RTW Workshop Assistance MTW2 AI Tutorial & Assistance
    Broken Crescent Submod (M2TW)/IB VGR Submod (BI)/Animation (RTW/BI/ALX)/TATW PCP Submod (M2TW)/TATW DaC Submod (M2TW)/DeI Submod (TWR2)/SS6.4 Northern European UI Mod (M2TW)

  5. #5

    Default Re: AI vassal

    Thanks, i thought production was something about economy. Unfortunately after deleting it i get the same result.

  6. #6
    z3n's Avatar State of Mind
    Moderator Emeritus

    Join Date
    Aug 2011
    Posts
    4,640

    Default Re: AI vassal

    Did you move the decision to the top?

    I would go bare bones instead. Remove the front line and free strength, front line relates to your actual border with them amd free strength to armies outside your town.

    Military balance is probably better for what you want.

    You also have borders all regions which means you surround them. You have something in about shadow targets (rivals) which is overcomplicating things since Im not sure you are aware shadow is set in another file.
    The AI Workshop Creator
    Europa Barbaroum II AI/Game Mechanics Developer
    The Northern Crusades Lead Developer
    Classical Age Total War Retired Lead Developer
    Rome: Total Realism Animation Developer
    RTW Workshop Assistance MTW2 AI Tutorial & Assistance
    Broken Crescent Submod (M2TW)/IB VGR Submod (BI)/Animation (RTW/BI/ALX)/TATW PCP Submod (M2TW)/TATW DaC Submod (M2TW)/DeI Submod (TWR2)/SS6.4 Northern European UI Mod (M2TW)

  7. #7
    bitterhowl's Avatar Campidoctor
    Join Date
    Feb 2011
    Location
    Russian Feodality
    Posts
    1,695

    Default Re: AI vassal

    Here is the way through campaign_script
    http://www.twcenter.net/forums/showthread.php?642934

    My sister, do you still recall the blue Hasan and Khalkhin-Gol?
    Russian warship is winning. Proofs needed? Go find yourself!

  8. #8
    bitterhowl's Avatar Campidoctor
    Join Date
    Feb 2011
    Location
    Russian Feodality
    Posts
    1,695

    Default Re: AI vassal

    One little tale about vassals that ltgd.log tells - MTW2 engine restricts invasion_decisions calculations for vassal faction, only defend_decisions allowed. Such a pity thing for game in medieval timeframe. So probably you don't want to have too many passive factions on campaign map.

    Vassal through descr_campaign_ai_db works just fine, just set clear and strait conditions, borders_all_our_regions sometimes fires at strange times, so military_balance and num_settlements are your choice.

    My sister, do you still recall the blue Hasan and Khalkhin-Gol?
    Russian warship is winning. Proofs needed? Go find yourself!

  9. #9
    z3n's Avatar State of Mind
    Moderator Emeritus

    Join Date
    Aug 2011
    Posts
    4,640

    Default Re: AI vassal

    Huh. Interesting find, confirms with hard evidence what most people talked about (vassals not really doing anything).
    The AI Workshop Creator
    Europa Barbaroum II AI/Game Mechanics Developer
    The Northern Crusades Lead Developer
    Classical Age Total War Retired Lead Developer
    Rome: Total Realism Animation Developer
    RTW Workshop Assistance MTW2 AI Tutorial & Assistance
    Broken Crescent Submod (M2TW)/IB VGR Submod (BI)/Animation (RTW/BI/ALX)/TATW PCP Submod (M2TW)/TATW DaC Submod (M2TW)/DeI Submod (TWR2)/SS6.4 Northern European UI Mod (M2TW)

  10. #10
    bitterhowl's Avatar Campidoctor
    Join Date
    Feb 2011
    Location
    Russian Feodality
    Posts
    1,695

    Default Re: AI vassal

    Well, it's not quite right. Defend_decisions are still executed as I mentioned here https://www.twcenter.net/forums/show...1#post15997091

    Seems that trusted_ally_enemy condition not used often in ai_labels. Vassal and his master are Allied and always are trusted_allies. I got defend_frontline for trusted_ally_enemy in my code, so I got those behavior of vassal as described by link above.

    I wonder if defend_raids orders to raid own territory or enemy? If so, we got a window of possibilities to script proactive vassals.

    My sister, do you still recall the blue Hasan and Khalkhin-Gol?
    Russian warship is winning. Proofs needed? Go find yourself!

  11. #11
    bitterhowl's Avatar Campidoctor
    Join Date
    Feb 2011
    Location
    Russian Feodality
    Posts
    1,695

    Default Re: AI vassal

    Here is the proof from ltgd.log Last defend decision for faction and next line about invasion part.

    Code:
    [ai.ltgd] [info] <28> LTGD: decision parameters 'aztecs' (ai_label:default) vs faction 'saxons':
     [ai.ltgd] [info] <28>       military: frontline_balance 1, military_balance 0.576006, military_balance_plus_enemies 0.224507, alliance_military_balance 0.576006, free_strength_balance 3.29229e-005
     [ai.ltgd] [info] <28>       faction standing: faction_standing -0.0705402, target_faction_standing -0.115176, global_standing 0.987761, target_global_standing 0.775444
     [ai.ltgd] [info] <28>       diplomacy: stance Neutral, num_enemies 1, target_num_enemies 1, has_alliance_against 0, num_turns_allied 0, num_turns_ceasefire -1
     [ai.ltgd] [info] <28>       trusted_allies: trusted_ally 0, trusted_ally_enemy 0, trusted_ally_protectorate 0
     [ai.ltgd] [info] <28>       protectorate: is_protectorate 0, is_protectorate_of_catholic 0
     [ai.ltgd] [info] <28>       papal: excommunicated 0, enemy_excommunicated 0, has_ceasehostilities 0
     [ai.ltgd] [info] <28>       neighbour: is_neighbour 0, target_weakest_neighbour 0, strongest_neighbour 0, borders_all_our_regions 0
     [ai.ltgd] [info] <28>       win conditions: is_faction_to_outlive_target 0, is_target_faction_to_outlive 0
     [ai.ltgd] [info] <28>       misc: production_balance 8.34314, target_religion 0, target_faction saxons, num_settlements 2
     [ai.ltgd] [info] <28>             rand 0.141789, difficulty hard, turn_number 90
     [ai.ltgd] [info] <28>             most_desirable 0, target_human 0, target_is_shadow 0
     [ai.ltgd] [info] <28> LTGD: (default) defend decision: defend = defend_normal, defend_priority = -1, at_war = 0, want_peace = 0, want_ally = 0, want_be_protect = 0, alliance_against = 0, pts_alliance = 0
    [ai.ltgd] [info] <28> LTGD: we (aztecs) we are a protectorage of (cumans) and hence invasions are disallowed

    My sister, do you still recall the blue Hasan and Khalkhin-Gol?
    Russian warship is winning. Proofs needed? Go find yourself!

  12. #12
    bitterhowl's Avatar Campidoctor
    Join Date
    Feb 2011
    Location
    Russian Feodality
    Posts
    1,695

    Default Re: AI vassal

    Interesting findings during CAI tests for BC 6.3 local submod.

    Here we see Galich (golden lion on blue field sigil) is vassal of Cumans

    When Cumans at the same time are vassals of Hungary.

    And old rule "my vassal's vassal is not my vassal" works here - Galich is not ally of Hungary.

    But anyway this is useless because of invasion restrictions for vassal faction.

    My sister, do you still recall the blue Hasan and Khalkhin-Gol?
    Russian warship is winning. Proofs needed? Go find yourself!

  13. #13
    Jadli's Avatar The Fallen God
    Gaming Emeritus

    Join Date
    Dec 2013
    Location
    Czech Republic
    Posts
    8,528

    Default Re: AI vassal

    Yea, found out the same thing a year ago.. I suppose will be easier for ppl to understand if its done in english, hence my pic below

    (https://www.moddb.com/mods/unofficia...abled#imagebox)

    Well, I suppose for now we have to stick the papacy, as the only way to represent something resembling the vasal mechanics.


    Though, also figured that perhaps using the give_settlement mission could be used to represent vassal mechanics a bit... AI can accept/deny these as well, so the one giving the mission could be the ruler/emperor/king to his historical/lore vassals, so sometimes they would give him land...

    BTW, have anyone actually ever succeded in creatig some reliable scripted vassal mechanics (withot using the actual vassals)? I suppose its not entirely impossible, but would require a lot modification to AI label and diplomacy/faction standings? I suppose using trusted_ally as the liege it cold work well? Using the link_mission_id we could also kind of create vassals throughout the game, but would require a lot of variations for more factions...
    Last edited by Jadli; March 26, 2021 at 05:00 AM.

  14. #14

    Default Re: AI vassal

    I've had some minimal luck with vassals defending their lord's lands. They won't attack per-say but they will attack enemy armies in their territories.
    Make "military_access" cheap in descr_diplomacy, this usually results in allied (or vassal) factions giving each other military access, so they enter each other's land without an invade decision.
    defense type to "defend_raid" in the ai_db.
    Works best with script-link faction ai to a "vassal" setting so all defend defense is set to "raid" and make sure they don't want any alliances, except, perhaps, "trusted_ally_protectorate"
    Not ideal, but at least vassals are generally useful and somewhat active. Only somewhat though, since a vassal gives all it's excess income to their lord faction, they don't have much to work with.

    The problem with scripting in a specific vassal behavior would be the AI's ability to recognize it's own vassal without them actually BEING a vassal. Unless you make alliances air-tight there is the likely event that an AI faction will attack it's own vassal because of it's weakness.

    Major downside of making military_access too cheap is human exploit and for all I know it's automatic with vassals, so maybe that part isn't even needed. A better alternative would be using Withwnar's method to ask for access when a faction becomes another's vassal if that part is needed.

    I have not really dedicated a lot to vassals, so that's as far as I've gotten, I might re-visit the subject in the future, but am currently working on other projects.
    Last edited by CavalryCmdr; June 02, 2021 at 05:11 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •