Гайд по модификации поведения ИИ - Учебники по моддингу - Strategium.ru Перейти к содержимому

Гайд по модификации поведения ИИ

Рекомендованные сообщения

Lazarka

Оригинальная статья находится здесь: Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

Здесь будет не просто перевод, но и пояснения как это применяется на практике, с конкретными примерами.

 

Разделы и папки отвечающие за поведении ИИ, как отдельных стран, так и всех сразу:
ai_areas - названия областей включающих в себя список регионов, которые используются для приоретизации размещения войск для ИИ.

ai_equipment - шаблоны для проектировки кораблей, и приоритеты для разных стран, какие чаще использовать.

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. - приоритеты для последовательности изучения технологий.

ai_peace - поведение ИИ во время мирных конференций, предпочтения - аннексировать, сделать марионеткой, забрать регион и т.д.

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. - общая стратегия оказывающая влияние на множество аспектов (подробнее ниже)

ai_strategy_plans - последовательность изучения нац.фокусов, технологий и приоритеты для советников, и других идей (призыв,экономика, конструктор)

ai_templates - шаблоны армии каким ИИ будет отдавать приоритет.

 

Также не забываем про файл defines, где также существует множество параметров отвечающих за общее поведение ИИ.

 

AI_strategy подробно:

Спойлер

 

Общая структура: примеры можно найти в common/ai_strategy
 

Спойлер

 

GER_industry_we_are_the_baddies = {  # название любое задаем произвольно (без пробелов)
    allowed = { # указываем тэг страны, для которой будет доступна стратегия. Ничего другого кроме страны здесь указывать нельзя
        original_tag = GER
    }
    enable = { # условия когда эта стратегия станет активной. Германия будет придерживаться этой стратегии после заданной даты. Условия могут быть и любыми другими. Полный список условий(триггеров) можно посмотреть здесь: Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.
        date > 1937.8.1
    }
    abort={ # условия когда эта стратегия деактивируется
        date > 1940.1.1
    }

    ai_strategy = { # собственно сама стратегия. В конкретном случае Германия после 1937 года будет желать построить больше военных заводов, по отношению к количеству гражданских фабрик
        type = added_military_to_civilian_factory_ratio
        value = 50
    }
    ai_strategy = { # увеличение кол-ва заводов используемых для производства самолетов
        type = air_factory_balance
        value = 100
    }

  # можно указать сколько угодно много дополнительных стратегий
}

 

 

Для уменьшения объема текста я буду использовать сжатую конструкцию, также можно использовать и в самом коде:

ai_strategy = { type = added_military_to_civilian_factory_ratio value = 50 }

 

Строительство:

Спойлер

added_military_to_civilian_factory_ratio - соотношение военных заводов к гражданским фабрикам

ai_strategy = { type = added_military_to_civilian_factory_ratio value = 50 }

 

dockyard_to_military_factory_ratio  - соотношение верфей к военным заводам

ai_strategy = { type = dockyard_to_military_factory_ratio  value = 50 }

 

building_target - задать цель построить определенное кол-во зданий(включая те что уже есть)

ai_strategy = { type = building_target  id = arms_factory value = 20 }

полный список зданий находится здесь: Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

 

build_building - построить здания в указанной области или провинции (target) и до какого уровня(value)

ai_strategy = { type = build_building id = naval_base target = 13003 value = 8 }       

 

factory_build_score_factor - задаем приоритет на постройку фабрик в указанном стейте(области)

ai_strategy = {  type = factory_build_score_factor  target = 613 value = 300 }

target = 613, это номер стейта,  (Нанкин, Китай)

 

Производство:

Спойлер

air_factory_balance - бонус к кол-ву военных заводов задействованных для производства авиации, в соотношении с сухопутным производством

ai_strategy = { type = air_factory_balance value = 50 }

 

equipment_production_factor <unit type> - приоритет для производства определенного снаряжения

например если мы не хотим(отрицательное значение) что бы первые два года страна производила тактические бомбардировщики

ai_strategy = { type = equipment_production_factor id = tactical_bomber value = -30  }

 

equipment_variant_production_factor <equipment> - приоритет для производства определенного снаряжения

Похоже на equipment_production_factor, только применяется к более конкретным типам снаряжения.

Не просто к истребителям, а к истребителям к первого, второго или третьего поколения?

ai_strategy = { type = equipment_variant_production_factor id = fighter_equipment_1 value = 50  }

 

equipment_production_min_factories <unit type> - задать минимальное количество заводов используемых для производства определенного снаряжения

Например если у нас есть 10 заводов (num_of_military_factories > 9), и мы хотим чтобы как минимум два завода было задействовано в производстве истребителей

ai_strategy = { type = equipment_production_min_factories id = fighter value = 2 }

 

production_upgrade_desire_offset <equipment> - желание производить более новое снаряжение, если оно уже исследовано.

Например такое прописано для СССР, что бы они не спешили производить новые винтовки, потому что предыдущие производить дешевле,

а у СССР много МП который нужно укомплектовать.

ai_strategy = {  type = production_upgrade_desire_offset id = infantry_equipment_2 value = -100 }

 

equipment_stockpile_surplus_ratio - объемы запасов снаряжения на складах, в % соотношении с количеством снаряжения на поле боя

например если у нас есть 100000 винтовок в дивизиях, то ИИ будет стремиться иметь запас в 10%(10000) винтовок на складе, прежде чем захочет вербовать новые дивизии

ai_strategy = {  type = equipment_stockpile_surplus_ratio value = 10 }

 

save_equipment  <equipment> - если мы хотим чтобы ИИ стремился иметь запас конкретного снаряжения на складе. Например 500 винтовок. И пока этого запаса нет, новые дивизии не будут вербоваться.

ai_strategy = { type = save_equipment  id = infantry_equipment value = 501  }

 

role_ratio <unit role> - это % соотношение юнитов какое должно быть в армии. Оказывает прямое влияние на производство.

ai_strategy = { type = role_ratio id = naval_capital_bc value = -100 } # меньше линкоров
ai_strategy = { type = role_ratio id = naval_carrier value = 25 } # больше авианосцев

ai_strategy = { type = role_ratio id = infantry value = 100 } # больше пехоты

ai_strategy = { type = role_ratio id = armor value = -10 } # меньше танков

 

unit_ratio <unit_type> - принцип тот же что и role_ratio, применимо в основном для производства авиации.

ai_strategy = { type = unit_ratio id = fighter value = 100 } # больше истребителей

ai_strategy = { type = unit_ratio id = strategic_bomber value = -10 } # меньше стратегических бомбардировщиков

 

force_build_armies - Заставить ИИ вербовать больше дивизий. Например для подготовки Китая к войне с Японией.

ai_strategy = {  type = force_build_armies value = 100 }

 

ignore_army_incompetence - Разворачить армию до того как её подготовка завершена на 100%.

ai_strategy = {  type = ignore_army_incompetence value = 100 }

 

template_prio <unit_type> - изменить приоритет для использования определенных шаблонов в дивизиях.

ai_strategy = {  type = template_prio id = infantry value = 100 } больший приоритет для шаблонов с преобладанием пехоты

ai_strategy = {  type = template_prio id = light_armor value = 30 }

 

Дипломатия:

Спойлер

befriend<tag> - заставляет ИИ быть более дружелюбным по отношению к определенной стране. Не начинать оправдание цели войны, акцептировать дипло запросы и т.д.

ai_strategy = { type = befriend  id = "GER" value = 1000 } # дружить с Германией

 

antagonize<tag> - заставляет ИИ быть более агрессивно настроенным по отношению к определенной стране.

ai_strategy = { type = antagonize id = "GER" value = 1000 }

 

в таком сочетании ИИ гарантированно начнет оправдывать цель войны против заданной страны и начнет войну по завершении оправдания.

ai_strategy = { type = befriend  id = "GER" value = -1000 }

ai_strategy = { type = antagonize id = "GER" value = 1000 }

 

alliance<tag> - побуждает ИИ присоединиться к альянсу возглавляемому этой страной или пригласить в свой альянс.

ai_strategy = { type = alliance id = "GER" value = 1000 }

 

contain<tag> - дословно сдерживать. Предпринимать дипломатические шаги направленных на сдерживание агрессивной экспансии указанной страны, например если Япония начинает оправдывать цель войны против Индии, то США стремятся гарантировать её независимость, а если война уже идет, то они будут стремится посылать лендлиз в страны воюющие против Японии.

ai_strategy = { type = сontain id = "JAP" value = 1000 }

 

ignore<tag> - ИИ будет всячески игнорировать эту страну. Например не объявит ей войну, даже если у него уже есть клайм, и не будет распологать войска возле границ с этой страной и вообще не будет придпринимать никаких положительных/отрицательных действий в отношении этой страны, как будто её не сущетсвует.

ai_strategy = { type = ignore id = "CZE" value = 1000 }

 

consider_weak<tag> - Япония будет считать Китай слабым, и не будет боятся объявить войну, даже если у неё меньше дивизий.

ai_strategy = { type = consider_weak id = "CHI" value = 1000 }

 

ignore_claim<tag> - ИИ не будет объявлять войну указанной стране, даже если у него уже есть клайм, полученный через фокус например.

Принимает значение 1(правда)

ai_strategy = { type = ignore_claim id = "CZE" value = 1 }

 

protect<tag> - побуждает ИИ гарантировать независимость указанной страны.

ai_strategy = { type = protect id = "POL" value = 1000 }

 

support<tag> - ИИ помогает в случае гражданской войны.

ai_strategy = { type = support id = "SAF" value = 1000 }

 

send_volunteers_desire <tag> - повышает желание отправить добровольцев в указанную страну.

ai_strategy = { type = send_volunteers_desire id = "ENG"  value = 1000 }

 

send_lend_lease_desire <tag> - повышает желание помочь ленд-лизом указанной стране.

ai_strategy = { type = send_lend_lease_desire id = "ENG"  value = 1000 }

 

diplo_action_desire  id = <tag>, target = <diplomatic action type> -

повышает или понижает желание выполнить те или иные дипломатические действия.

ai_strategy = { type = diplo_action_desire id = SOV target = military_access value = -5000 } # предоставить проход войск

ai_strategy = { type = diplo_action_desire id = SOV target = docking_rights value = -5000 } # предоставить доступ на стоянку в портах

ai_strategy = { type = diplo_action_desire id = POL target = guarantee value = 5000 } # гарантировать независимость

ai_strategy = { type = diplo_action_desire id = SOV target = declare_war value = 5000 } # объявить войну 

ai_strategy = { type = declare_war id = "SOV"  value = 1000 } # объявить войну

ai_strategy = { type = diplo_action_desire id = ENG target = improve_relation value = 5000 } # улучшить отношения

ai_strategy = { type = diplo_action_desire id = ENG target = call_allies value = 5000 } # призвать к оружию союзников

ai_strategy = { type = diplo_action_desire id = ENG target = join_allies value = 5000 } # присоединиться к войне союзников

 

diplo_action_acceptance id = <tag>, target = <diplomatic action type> -

Желание ИИ акцептировать дипломатические запросы от других стран.

ai_strategy = { type = diplo_action_acceptance id = BUL target = join_allies value = -99999 } # если Болгария зовет нас на помощь, - мы морозимся

 

dont_join_wars_with id = <tag>, target_country - не присоединятся к войне указанного союзника, против указанного врага

ai_strategy = { type = dont_join_wars_with id = "ENG" target_country = "SOV" value = 99999 }

 

 

Война. Управление дивизиями и флотом. Батлпланы.

 

Спойлер

area_priority Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. - приоретизация регионов куда ИИ будет стремиться направить больше флотов и армий.

Списки регионов находятся в common/ai_areas. Можно создавать собственные списки.

ai_strategy = { type = area_priority id = sea_around_japan value = -100 }

ai_strategy = { type = area_priority id = europe value = 100 }

 

strike_force_home_base <region> - приоритезация регионов с портами для морских операций

ai_strategy = { type = strike_force_home_base id = 105 } # 105 region ID - Пёрл Харбор

 

naval_mission_threshold <mission type> - приоритезация видов морских операций

ai_strategy = { type = naval_mission_threshold id = "MISSION_PATROL" value = 20000 }  # Патрулирование 

ai_strategy = { type = naval_mission_threshold id = "MISSION_STRIKE_FORCE" value = 20000 }  # Ударное соединение

ai_strategy = { type = naval_mission_threshold id = "MISSION_CONVOY_ESCORT" value = 20000 }  # Сопровождение конвоев

ai_strategy = { type = naval_mission_threshold id = "MISSION_CONVOY_PLANTING " value = 20000 }  # Охота на конвои
ai_strategy = { type = naval_mission_threshold id = "MISSION_NAVAL_INVASION_SUPPORT" value = 20000 }  # Поддержка морского вторжения

 

naval_avoid_region <strategic region> - избегать указанный морской регион(боевые корабли и конвои)

ai_strategy = { type = naval_avoid_region id = 51 value = 10000 }   

 

prepare_for_war<tag> - Подготовиться к войне. ИИ приготовит баттлплан против указанной страны раньше времени.

ai_strategy = { type = prepare_for_war id = "ROM" value = 1000 }

 

invade<tag> - Морской десант. Вторгаться или не вторгаться с моря в указанную страну.

ai_strategy = { type = invade id = "ENG" value = -1000 }

 

conquer<tag> - Завоевать указанную страну.

ai_strategy = { type = conquer id = "CZE" value = 1000 }

 

front_armor_score<tag> - кол-во брони необходимое задействовать на фронте с указанной страной

ai_strategy = { type = front_armor_score id = "POL" value = 100 } # больше танков на фронт с Польшей

ai_strategy = { type = front_armor_score id = "FRA" value = -100 } # меньше танков на фронт с Францией

 

occupation_policy <tag> - Определяет оккупационную политику в отношении указанной страны. Значения 0-3

ai_strategy = { type = occupation_policy id = "HOL" value = 3 }

 

garrison <integer> (scale of 100) - процент от общего кол-ва войск который должен быть задействован для обороны внутренней территории

ai_strategy = { type = garrison value = -50 } # США не держит дома много войск, если состоит в союзе с ВБ и если нет войны с Канадой или Мексикой.

 

dont_defend_ally_borders <tag> - ИИ не будет распологать свои войска вдоль фронтов указанного союзника.

ai_strategy = { type = dont_defend_ally_borders id = "ITA" value = 100 }

 

spare_unit_factor - Отправлять больше войск на фронты своих союзников, нежели чем на оборону собственной территории.

ai_strategy = { type = spare_unit_factor value = 100 }

 

 

Теперь более точечное управление войсками:


put_unit_buffers. ИИ расположит заданное кол-во войск в указанных регионах, которые могут быть использованны для военных операций в этих регионах или просто как гарнизоны/оборона территории.

Спойлер

ai_strategy = {
   type = put_unit_buffers
   # процент от общего кол-ва всех войск, который будет задействован в этом приказе (0.4 - 40%)
   ratio = 0.4
   # можно указать ID приказа. Если несколько приказов будут иметь одинаковы ID, то они будут использовать один и тотже процент армии.
   order_id = 2
   # номера стейтов где следует расположить войска (если хотя бы один из стейтов не принадлежит стране, то приказ не активируется)
   states = {
        125
        126
        127
    }
    # регионы в которых могут быть задействованны войска из этого приказа. Если у вас там будет фронт или высадка, то войска из этого гарнизона будут              # задействованы на фронте(только если вы разрешите ниже)
     area = europe
     area = asia
    
     # разрешить использовать войска из этого гарнизона(буфера) для фронтов или для десантных операций?
     subtract_invasions_from_need = yes # запретить брать отсюда войска для морского десанта
     subtract_fronts_from_need = no # разрешить задействовать войска из этого гарнизона для фронтовых операций (в указанных выше регионах(area))

}

ai_strategy = {
   type = put_unit_buffers
   ratio = 0.2
   order_id = 1
   states = { 125 126 127 }
   area = europe
   area = asia
   subtract_invasions_from_need = no
   subtract_fronts_from_need = no

}

 

 

front_unit_request / invasion_unit_request - используется для увелечения/уменьшения кол-ва юнитов задействованных на фронте/десанте

Спойлер

 

ai_strategy = {
    # использовать один из них:
    type = front_unit_request
    type = invasion_unit_request

    #invasions will check invasion target, fronts will check provinces at front
    tag = GER                 # province of a specific country
    state = 42                 # province on a state
    strategic_region = 65    # province on a strategic region
    area = europe            # province on a specific ai area
    country_trigger = { always = no }     # a trigger to check agaisnt a specific country. scope is enemy country from scope is our country
    state_trigger = { always = no }     # a trigger to check agaisnt a state. scope is state. from scope is enemy country from.from scope is our country

    value = 40                # will be added as a factor over regular requests
}

примеры использования

ai_strategy = { # ИИ не будет создавать никаких фронтов вдоль границ с указанными странами, если они также управляются ИИ, а не являются игроком.
      type = front_unit_request

      country_trigger = {
            is_ai = yes

            OR = {
                tag = CHI
                tag = XSM
                tag = PRC
                tag = YUN
                tag = GXC
                tag = SHX
            }
        }

        value = -1000

}

ai_strategy = {
      type = front_unit_request

        state_trigger = {
            OR = {
                region = 143
                region = 144
            }
            NOT = { state = 597 }
        }

        value = 1000

}

ai_strategy = {
        type = front_unit_request
        # norway
        state = 110
        state = 142
        state = 143
        state = 144

        value = -1000
 }

 

ai_strategy = { type = front_unit_request state = 28 value = 50  } # расположить больше юнитов перед линией Мажино

ai_strategy = { type = front_unit_request tag="POL" value = -200  } #никаких фронтов на границе с Польшей

ai_strategy = { type = inavasion_unit_request tag="ENG" value = -200  } #никаких десантов в Англию

ai_strategy = { #никаких морских вторжений ни в одну из стран
        type = invasion_unit_request
        country_trigger = { always = yes }

        value = -100
}

 

front_control - используется для регулирования морских вторжений или фронтов

Спойлер

 

#ai_strategy = {
#     type = front_control
#
#    #you can define a target in following ways. you can define more than one
#
#    tag = GER                 # target against a specific country
#    state = 42                 # target on a state
#    strategic_region = 65    # target on a strategic region
#    area = europe            # target on a specific ai area
#    country_trigger = { always = no }     # a trigger to check agaisnt a specific country. scope is enemy country from scope is our country
#    state_trigger = { always = no }     # a trigger to check agaisnt a state. scope is state. from scope is enemy country from.from scope is our country
#
#    ratio = 0.7 # стратегия активируется если у нас достаточно войск чтобы закрыть хотя бы 70% длины фронта
#
#    priority = 0 # default 0, higher prio strats will override lower # если активируется приказ с высшим приоритетом, то этот будет игнорироваться
#    ordertype = front # front or invasion. if set this strategy will only apply to that specific order type # фронт или морской десант
#    execution_type = careful # one of careful balanced rush rush_weak. if set will override the execution type of front (only for front orders)
#    execute_order = yes # yes or no. if set will override execute or not decision of front
#    manual_attack = yes # default yes. if no ai will not do manual pokes at enemy (only for front orders)
#}

Примеры использования

    ai_strategy = {
        type = front_control
        tag = "FRA"
        priority = 1 
        ordertype = front # front or invasion
        execution_type = rush # one of careful balanced rush rush_weak (осторожно, сбалансированно, агрессивно, прорыв)
        execute_order = yes # испольнять приказ или нет, если нет то просто будут стоять в обороне
        manual_attack = yes # точечные атаки, если нет, то ИИ не будет совершать никаких отдельных атак, кроме батлплана (да да ИИ тоже умеет ручками)
    }

    ai_strategy = {
        type = front_control

        area = europe
        ordertype = invasion
        execute_order = yes
    }

 

Пример того как США и ВБ синхронизируют морские вторжения в Европу.

Спойлер

 

USA_ENG_sync_invasions_on_europe = {
    allowed = {
        OR = {
            tag = USA
            tag = ENG
        }
    }
    # only allow invasion on europe on every third month
    enable = {
        set_temp_variable = { days = global.num_days }
        modulo_temp_variable = { days = 90 }
        check_variable = { days < 60 }
    }   
    abort_when_not_enabled = yes
    ai_strategy = {
        type = front_control

        area = europe
        ordertype = invasion
        execute_order = no
    }
}

 

 

 

AI_strategy семантика:

Спойлер

 

Спойлер

SOV_dont_upgrade_to_weapons_2_too_early = {
    allowed = { original_tag = SOV } # allowed ипользуется для уменьшения нагрузки на производительность. То что написано здесь проверяется только один раз сразу после запуска игры. Поэтому здесь можно указывать только статические условия, например tag = GER или is_historical_focus_on = yes
    enable = {

          date < "1943.1.1" # До 43-го

    }
    abort_when_not_enabled = yes # когда стратегия перестанет соответствовать условиям прописанным в enable, то она перестанет выполняться.

    # В противном случаем, если не указано abort_when_not_enabled и нет никаких условий в abort = { }, то стратегия будет выполняться вечно, даже после  43-го года.

    # до 43-го производим больше дешевых винтовок, потому что у нас есть много МП
    ai_strategy = { type = production_upgrade_desire_offset id = infantry_equipment_2 value = -100  }
}

Спойлер

SOV_dont_mess_with_volunteers_for_european_democratic_nations = { # Reverse strategy

# Если мы хотим что бы стратегия прописанная здесь, для Сов.Союза, применялась им к большему кол-ву стран, и не указывать тэг каждой страны явно, то мы используем reversed
    reversed = yes
    allowed = { original_tag = SOV  }
    enable = { # тригер для активации данной стратегии. Так как мы используем reversed, то условия проверяются по отношению к другим странам
        has_government = democratic # если в стране есть демократический режим
        SOV = { has_government = communism } # если в Сов.Союзе коммунизм
        NOT = { original_tag = SPR  } # и если эта страна не является Испанией
        capital_scope = {  is_on_continent = europe  } # и если столица этой страны находится в Европе
    }

    abort_when_not_enabled = yes

    # то Сов. Союз не изъявит желания отправить в эту страну(которая прошлая условия в enable) волонтеров

    ai_strategy = { type = send_volunteers_desire  id = "SOV" value = -500 }
}

 

 

Изменено пользователем Lazarka
Ссылка на комментарий

Закреплённые сообщения
Lazarka

Используя все эти команды, теоритечески, можно научить ИИ делать котлы, а можно научить избегать котлов. Можно научить делать морские вторжения более осознанными и продуманными. Можно научить защищать свою территорию более правильно и своевременно. Можно научить не сливать своё мп в бесконечных самоубийственных атаках, если не хватает снаряжения или если противник имеет преимущество.

 

Также можно лучше координировать действия между 2-3 союзными ИИ. Например Германия больше заточена на атаку, Италия на оборону и прикрытие тыла. Можно синхронизировать атаки и морской десант. Такой союз был бы намного эффективнее, даже без добавления различных эльфийских бонусов и усилений.

 

И мне кажется что против такого союза ИИ было бы гораздо интереснее играть. Но одна из главных составляющих, это непредсказуемость действий ИИ. Ведь отыграв несколько партий, даже против улучшенного ИИ, мы понимаем как он действует, что будет делать, а чего не будет. И используем эти знания в свою пользу. Потому важно менять поведение ИИ, чтобы игроку было труднее понять чего ожидать в каждой новой партии.

Ссылка на комментарий

Али Гарх

Идея хорошая. Можно начать с простого, с обучения ИИ делать котлы.

Спойлер

Долгосрочное планирование:

- выбор типа танков для прорыва (случайным образом?),

- проверка на доступность ресурсов для постройки танков и при необходимости оказание влияния на торговых партнёров для доступа к нужному ресурсу, при невозможности добыть ресурсы через торговлю подготовка вторжения в целевые регионы,

- форсированное изучение танков и соответствующих доктрин,

- создание шаблонов танковых дивизий,

- постройка танков,

- создание 2 танковых армий.

 

Краткосрочное планирование и использование:

- определение слабых мест, как минимум 2, в обороне противника,

- проверка местности на допустимость танкового прорыва в глубину (не горы, не болота),

- проверка наличия припасов,

- проверка погоды,

- расположение танковых армий и резерва,

- концентрация авиации на указанном направлении,

- быстрая подготовка танковых армий через пожимание соответствующего приказа и атака.

 

Предусмотреть возможность отмены задания при определённых условиях, как то недостаток припасов, плохая погода или концентрация войск противника на указанных направлениях.


Потом прогнать обученный ИИ в сингле, определить слабые места и сделать его лучше.

Ссылка на комментарий

Lazarka

Ai_focuses - Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. + Список ИИ модификаторов.

Приоритеты для последовательности изучения технологий.

 

Спойлер

 

Типы фокусов:

Defensive(Оборонительный) - увеличивает порог для выполнения батл-планов. Увеличивает приоритет для исследования технологий: Радара, строительства и артиллерии.

По умолчанию значение 50% во время мира, 100% во время оборонительной войны, и 0% во время агрессивно-захватнической войны. У Франции 50% бонус, потому что у Édouard Daladier есть черта(trait) "Защитник".

Aggressive(Агрессивный) - уменьшает порог для исполнения батл-планов, ИИ предпочитает исполнять рискованные планы атаки. Технологии: Синтетические ресуры, Моторизированная, Броня(Танки). 50% во время мира(фашисты 75%), 0% во время оборонительной войны, и 100% во время агрессивной войны. У Италии 50% бонус из-за идеи Vittoria Mutilata.

War production(Военное производство) - Технологии: Промышленность и электроника. По умолчанию 10% в мирное время(фашисты 30%) и 100% во время войны.

Military advancements(Военные улучшения) - Технологии: Приоритет для различных улучшенных военных технологий, таких как Реактивные технологии, Атомные исследования, приборы ночного видения и др. По умолчанию, кол-во ячеек исследования *25, максимум 100% во время войны, и уменьшается на 25% в мирное время.

Peaceful(Мирный фокус) - Технологии: Промышленность и электроника. 100% в мирное время, 0% во время войны.

Naval(Морской фокус) - Технологии: В большей степени увеличивает приоритет изучения Морской доктрины, и в меньшей степени - технологии десанта и кораблей.

Формула для стран с наличием верфей: кол-во верфей + (конвои в использовании + кол-во импортируемых ресурсов)/5, максимум 100%. Для стран без верфей -999%.

Naval air(Морская авиация) - Технологии: Приоритет для исследования морской авиации.

Формула по умолчанию: кол-во авианосцев* 20, максимум 100%. Для стран без авианосцев -999%.

Aviation(Авиация) - Технологии: В большей степени увеличивает приоритет изучения Воздушной доктрины, и в меньшей степени - парашютисты и самолеты.

Формула по умолчанию: кол-во аэродромов* 10, максимум 100%. Уменьшено на 25% в мирное время. Для стран без аэродромов -999%.

Military equipment(Военная техника) - Технологии: В большей степени увеличивает приоритет изучения технологий пехоты, и в меньшей степени - артиллерия и поддержка.

75% в мирное время, 100% во время войны.

 

ИИ фокусы могут быть изменены через модификаторы ai_focus_<x>_factor, добавляемые в идеи или трейты лидеров страны.

Бонусы к технологиям могут быть модифицированы в файлах ai_focuses, используя тэг страны, например ai_focus_aviation_GER

Спойлер

ai_focus_aggressive_USA = {
    research = {
        offensive = 5.0
        synth_resources = 1.0
        motorized_equipment = 2.0
        armor = 2.0
    }
}

 

Полный список ИИ модификаторов, которые могут быть добавлены через идеи или трейты национальных лидеров:

ai_focus_defense_factor (Defensive). Например ai_focus_defense_factor = 0.5 добавляет 50% бонус для Оборонительного фокуса.

ai_focus_aggressive_factor (Aggressive)

ai_focus_war_production_factor(War production)

ai_focus_military_advancements_factor(Military advancements)

ai_focus_peaceful_factor(Peaceful)

ai_focus_naval_factor(Naval)

ai_focus_naval_air_factor(Naval air)

ai_focus_aviation_factor(Aviation)

ai_focus_military_equipment_factor(Military equipment)

 

Дополнительные ИИ модификаторы:

ai_badass_factor  восприимчивость к угрозам Number with 1 decimal places
ai_desired_divisions_factor  как много дивизий страна желает иметь
ai_get_ally_desire_factor  желание состоять в союзе или пригласить новыз союзников Number with 0 decimal places
ai_call_ally_desire_factor  желание пригласить союзников
ai_join_ally_desire_factor  желание присоединиться к союзникам
ai_license_acceptance  желание поделиться лицензией на производство

 

 
Изменено пользователем Lazarka
Ссылка на комментарий

AlexMercerIV

помогите понять как делать шаблоны производства кораблей ai_equipment 

Ссылка на комментарий

В 21.11.2021 в 13:41, Lazarka сказал:

Ai_focuses - Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. + Список ИИ модификаторов.

Приоритеты для последовательности изучения технологий.

 

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. Типы фокусов + модификаторы (Открыть)

 

Типы фокусов:

Defensive(Оборонительный) - увеличивает порог для выполнения батл-планов. Увеличивает приоритет для исследования технологий: Радара, строительства и артиллерии.

По умолчанию значение 50% во время мира, 100% во время оборонительной войны, и 0% во время агрессивно-захватнической войны. У Франции 50% бонус, потому что у Édouard Daladier есть черта(trait) "Защитник".

Aggressive(Агрессивный) - уменьшает порог для исполнения батл-планов, ИИ предпочитает исполнять рискованные планы атаки. Технологии: Синтетические ресуры, Моторизированная, Броня(Танки). 50% во время мира(фашисты 75%), 0% во время оборонительной войны, и 100% во время агрессивной войны. У Италии 50% бонус из-за идеи Vittoria Mutilata.

War production(Военное производство) - Технологии: Промышленность и электроника. По умолчанию 10% в мирное время(фашисты 30%) и 100% во время войны.

Military advancements(Военные улучшения) - Технологии: Приоритет для различных улучшенных военных технологий, таких как Реактивные технологии, Атомные исследования, приборы ночного видения и др. По умолчанию, кол-во ячеек исследования *25, максимум 100% во время войны, и уменьшается на 25% в мирное время.

Peaceful(Мирный фокус) - Технологии: Промышленность и электроника. 100% в мирное время, 0% во время войны.

Naval(Морской фокус) - Технологии: В большей степени увеличивает приоритет изучения Морской доктрины, и в меньшей степени - технологии десанта и кораблей.

Формула для стран с наличием верфей: кол-во верфей + (конвои в использовании + кол-во импортируемых ресурсов)/5, максимум 100%. Для стран без верфей -999%.

Naval air(Морская авиация) - Технологии: Приоритет для исследования морской авиации.

Формула по умолчанию: кол-во авианосцев* 20, максимум 100%. Для стран без авианосцев -999%.

Aviation(Авиация) - Технологии: В большей степени увеличивает приоритет изучения Воздушной доктрины, и в меньшей степени - парашютисты и самолеты.

Формула по умолчанию: кол-во аэродромов* 10, максимум 100%. Уменьшено на 25% в мирное время. Для стран без аэродромов -999%.

Military equipment(Военная техника) - Технологии: В большей степени увеличивает приоритет изучения технологий пехоты, и в меньшей степени - артиллерия и поддержка.

75% в мирное время, 100% во время войны.

 

ИИ фокусы могут быть изменены через модификаторы ai_focus_<x>_factor, добавляемые в идеи или трейты лидеров страны.

Бонусы к технологиям могут быть модифицированы в файлах ai_focuses, используя тэг страны, например ai_focus_aviation_GER

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. пример (Открыть)

ai_focus_aggressive_USA = {
    research = {
        offensive = 5.0
        synth_resources = 1.0
        motorized_equipment = 2.0
        armor = 2.0
    }
}

 

Полный список ИИ модификаторов, которые могут быть добавлены через идеи или трейты национальных лидеров:

ai_focus_defense_factor (Defensive). Например ai_focus_defense_factor = 0.5 добавляет 50% бонус для Оборонительного фокуса.

ai_focus_aggressive_factor (Aggressive)

ai_focus_war_production_factor(War production)

ai_focus_military_advancements_factor(Military advancements)

ai_focus_peaceful_factor(Peaceful)

ai_focus_naval_factor(Naval)

ai_focus_naval_air_factor(Naval air)

ai_focus_aviation_factor(Aviation)

ai_focus_military_equipment_factor(Military equipment)

 

Дополнительные ИИ модификаторы:

ai_badass_factor  восприимчивость к угрозам Number with 1 decimal places
ai_desired_divisions_factor  как много дивизий страна желает иметь
ai_get_ally_desire_factor  желание состоять в союзе или пригласить новыз союзников Number with 0 decimal places
ai_call_ally_desire_factor  желание пригласить союзников
ai_join_ally_desire_factor  желание присоединиться к союзникам
ai_license_acceptance  желание поделиться лицензией на производство

 

 

Подскажите, возможно ли передать управление армией, флотом и авиацией ИИ, а остальное остается на игроке с помощью мода? Если да, куда копать помогите)

Ссылка на комментарий

Maraniro
В 04.09.2023 в 10:19, MrBorC сказал:

управление армией

 

В 04.09.2023 в 10:19, MrBorC сказал:

авиацией ИИ

Авиацию можно привязать к дивизиям, а дивизии к фрону. Но эта игра требует ручного управления в многих аспектах.

Ссылка на комментарий

Присоединиться к обсуждению

Вы можете оставить комментарий уже сейчас, а зарегистрироваться позже! Если у вас уже есть аккаунт, войдите, чтобы оставить сообщение через него.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Ваша ссылка автоматически преображена.   Отображать как простую ссылку

×   Предыдущее содержимое было восстановлено..   Очистить текст в редакторе

×   You cannot paste images directly. Upload or insert images from URL.

  • Ответы 7
  • Создано
  • Последний ответ
  • Просмотры 4261

Лучшие авторы в этой теме

  • Lazarka

    3

  • Али Гарх

    1

  • ___svb___

    1

  • MrBorC

    1

  • Maraniro

    1

  • AlexMercerIV

    1

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу


Copyright © 2008-2024 Strategium.ru Powered by Invision Community

×
×
  • Создать...