Сообщество Империал: Усталость от войны (War Weariness) и ее последствия - Сообщество Империал

rawhide

Усталость от войны (War Weariness) и ее последствия

И другие игровые механики в Age of Charlemagne
Тема создана: 12 декабря 2015, 15:01 · Автор: rawhide
  • 11 Страниц
  • Первая
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
 rawhide
  • Imperial
Imperial
Форумчанин

Дата: 12 декабря 2015, 15:01

Imp

Камрады гадали и в самой игре изучали - что такое усталость от войны, как с ней жить и что на нее влияет.
В принципе, гадать не нужно. Усталость от войны регулируется скриптом, в нем же прописаны все условия: как накапливается War Weariness (далее WW) и за счет чего ее можно снизить.
Поехали)

Максимальное значение WW - 110 единиц.
Минимальное - 0. Усталость от войны не может иметь отрицательное значение. По условиям сеттинга, люди не могут устать от долгого мира, потому "запаса" очков для будущей войны не сделать.
За каждый ход в состоянии войны +1 единица WW.
Затем значение WW меняется в зависимости от результата битв

valiant defeat +2 ед.
close defeat +4 ед.
decisive defeat +6 ед.
crushing deferat +10 ед.

Раз АИ весьма чувствителен к настроениям народа, связанным с WW, то после пары чувствительных поражений должно быть достаточно легко навязать железке мир на своих условиях. Давно бы так)

Теперь факторы, которые уменьшают WW:

Уровень WW можно понизить, ведя сугубо оборонительную войну. Если все войска находятся только на своей территории, то WW снижается на 1 единицу за ход. так как при этом WW все равно растет от того, что государство находится в состоянии войны, то таким способом можно "заморозить" рост WW. Без дополнительных факторов уровень усталости не будет ни расти, ни уменьшаться.
Дополнительными факторами для снижения WW являются победы ваших армий:

pyrric victory -1
close victory -2
decisive victory -3
heroic victory -4

Подписание мирного соглашения уменьшает WW сразу на 5 единиц.
Затем WW будет снижаться на 3 единицы каждый ход мира.

NB! В скрипте, похоже, нет указаний на количество войн. Нет каких-либо мультипликаторов. То есть неважно, с каким количеством фракций воюет ваше государство. Есть только два состояния - мир или война. Неважно с кем. Так что если вы ведете войну с тремя фракциями, то WW накапливается по 1 единице за ход: точно также, как если бы вы воевали только с одним противником. Соответственно, если игрок воюет с тремя государствами, то заключение перемирия с одним из противников сразу уменьшает WW на 5 единиц (но WW продолжает накапливаться). Зато можно заключить мир по очереди со всеми тремя (в этом примере) противниками и получить сразу -15 ед WW.


WW накапливается в зависимости от уровня сложности.
На легком уровне WW накапливается по 0,5 ед за ход.
На всех других уровнях сложности выдается по единице (но это легко изменить. например, для мазохистов-любителей играть на легенде можно задать по 2-3 ед WW за ход, хехе).

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

Действие WW на фракции разделено на 10 уровней. Каждый уровень скриптом привязан к определенному эффекту в effect_bundles_...
(эффекты весьма жестокие)
Спойлер (раскрыть)

Таким образом, War Weariness - это реинкарнация механики, действовавшей еще в MTW и MTW:VI. Только более управляемая. Теперь также, как и в первом МТВ, после нескольких разгромных поражений можно навязать противнику мир. Или сокрушительное поражение может вызвать гражданскую войну. Сражения (даже мелкие) приобретают большее значение: нет больше бессмысленного перемалывания тонн доспешного мяса). Даже казалось бы незначительная стычка за пограничный хутор может оказаться решающей в войне и послужить поводом к ее завершению (с выгодой для победителя). Или наоборот - отсрочить казалось бы неминуемое поражение в войне. А "маленькая победоносная война" может благотворно сказаться на благосостоянии государства и настроении поданных, опечаленных недавними внешнеполитическими неудачами :006:

:ps: Судя по тому, как работает War Weariness в "Шарлемане", очень жаль, что CA не активировали эту функцию в большой кампании. Там бы эти вещи пригодились. С WW дипломатия стала бы еще более гибкой. Нельзя было бы вести многочисленные фиктивные войны, легче было бы принудить к миру империи (вспомните мучения с Сасанидским Ираном - его никак не умиротворить, только после порой десятилетий изматывающей войны можно победить эту страну, захватив все города и истребив всех сателлитов). И у игрока появился бы дополнительный челлендж: долой бездумное объявление войны лишь потому, что игрок пожелал "вкусный" регион))
     Pinator
    • Imperial
    Imperial
    Форумчанин

    Дата: 30 декабря 2015, 11:39

    Ну нет антибонусов усталости от войны у фракции ИИ. Начал заново. Снова воюю против Карла. Я и мой союзник. Больше не с кем Франки не воюют и не воевали. Союзник его громит, я громлю. Города захватываем. Но с моралью всё норм у юнитов франков. Единственно Карл на мир готов с радостью, хотя территорий дофига у него ещё. Кто-нибудь видел отрицательную мораль у юнитов ИИ?
       rawhide
      • Imperial
      Imperial
      Форумчанин

      Дата: 30 декабря 2015, 12:11

      Для просмотра ссылки ЗарегистрируйтесьPinator

      Кто-нибудь видел отрицательную мораль у юнитов ИИ?
      некоторые модификаторы для юнитов показываются только в бою, в инфокарточке. если навести курсор на значение морали, в выпадающем списке будет показан список факторов, повышающих или понижающих этот параметр. правда, если этих факторов слишком много, то выводится лишь их сумма - не помещаются они в интерфейс.
         papeion
        • Imperial
        Imperial
        Форумчанин

        Дата: 26 февраля 2016, 15:01

        rawhide, ну что, патч изменил что-нибудь в "усталости войны"?
           rawhide
          • Imperial
          Imperial
          Форумчанин

          Дата: 26 февраля 2016, 15:07

          Для просмотра ссылки Зарегистрируйтесь, а бог его знает, некогда было изучить обновленный скрЫпт.
             papeion
            • Imperial
            Imperial
            Форумчанин

            Дата: 27 февраля 2016, 17:02

            За два проигрыша битв (сдача городков) подряд мне дали 1 лвл "Усталости войны". Долгожданное сообщение выскочило!

            Сейчас запущу респаун "Возмездие Империи" из элиты+регуляры. Задача сделать так, чтобы этот вызов моему Велизарию-сепаратисту дал просраться. Маркером "силы вызова игроку" будет уровень (лвл) "Усталости войны" до которого я докачусь.
               papeion
              • Imperial
              Imperial
              Форумчанин

              Дата: 29 февраля 2016, 09:59

              Обновление скрипта "Усталость от войны" (WW)

              В скобках буду указывать старые значения.

              Максимальное значение WW 100 (110) единиц.
              Минимальное -5 (0)

              Тут мы видим, что изменились максимум\минимум значения усталости от войны. Не знаю, как это может повлиять.

              Степень воздействия WW можно регулировать по уровням сложности
              WW_EASY_MOD = 0.8;
              WW_NORMAL_MOD = 1.0;
              WW_HARD_MOD = 1.2;
              WW_VERY_HARD_MOD = 1.4;
              WW_LEGENDARY_MOD = 1.6;

              Ранее было, как писал rawhide:
              На легком уровне WW накапливается по 0,5 ед за ход.
              На всех других уровнях сложности выдается по единице
              Сейчас же, как видим, всё сильно подросло (для самой популярной верихард на 40%).

              В зависимости от результата битв:

              Снижение усталости войны за победы:
              ["heroic_victory"] = -5 (-4),
              ["decisive_victory"] = -3 (-3),
              ["close_victory"] = -1 (-2),
              ["pyrrhic_victory"] = 0 (-1),

              Повышение усталости из-за поражений:
              ["valiant_defeat"] = 4 (2),
              ["close_defeat"] = 6 (4),
              ["decisive_defeat"] = 8 (6),
              ["crushing_defeat"] = 10 (10)

              Как видим, усталость от войны (WW) из-за поражений будет расти быстрее (+2+2+2=(в целом на +6)).
              При этом победы медленнее снижают WW (+1-2=(в целом на -1)).


              Другие штрафы:

              На -3 (-3) WW будет уменьшаться каждый ход, если фракция со всеми в мире
              На 0,5 (1) WW будет увеличиватся за каждую фракцию с которой в состоянии войны на данном ходу.

              На -5 (-5) усталость от войны уменьшается, если фракция заключает мир с кем-то
              На -1 (-1) за ход количество усталости от войны уменьшится, если игрок сохранил свои войска в домашних условиях.

              Тут одно изменение: в два раза замедлили рост усталости от войны (WW) за каждую новую войну (+0,5 вместо +1 на данном ходу).

              Не знаю, изменились ли условия всех 10 уровней WW. Они прописаны не в скрипте, а где-то в таблицах.
                 rawhide
                • Imperial
                Imperial
                Форумчанин

                Дата: 29 февраля 2016, 10:12

                спасибо, это очень полезное дело!

                Для просмотра ссылки Зарегистрируйтесьpapeion

                Не знаю, изменились ли условия всех 10 уровней WW. Они прописаны не в скрипте, а где-то в таблицах.
                в effeсt_bundles_to_effect_junctions

                кстати, вы не смотрели Для просмотра ссылки Зарегистрируйтесь в скрипте? в нем есть изменения по сравнению со прежней версией, которую здесь обсуждали?
                   papeion
                  • Imperial
                  Imperial
                  Форумчанин

                  Дата: 29 февраля 2016, 10:15

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


                  А по поводу того куска кода:

                  Это обновлённый код:

                  Для просмотра ссылки ЗарегистрируйтесьЦитата

                  if player:name() ~= current_faction:name() then
                  if player:at_war_with(current_faction) then
                  warCount = warCount + 1;
                  if current_faction:is_horde() == false and current_faction:has_home_region() then
                  if Does_Faction_Border_Faction(player:name(), current_faction:name()) then
                  -- Player is at war with a non-horde faction
                  borderWar = true;
                  warCountScore = warCountScore + TURN_AT_WAR;
                  else
                  warCountScore = warCountScore + (TURN_AT_WAR / 2);
                  end


                  TURN_AT_WAR означает 0,5 за ход
                  А TURN_AT_WAR / 2 видимо удваивает это число.



                  Напоминаю старый код:

                  Для просмотра ссылки ЗарегистрируйтесьЦитата

                  if player:name() ~= current_faction:name() then
                  if player:at_war_with(current_faction) then
                  warCount = warCount + 1;
                  if current_faction:is_horde() == false and current_faction:has_home_region() then
                  if Does_Faction_Border_Faction(player:name(), current_faction:name()) then
                  -- Player is at war with a non-horde faction
                  borderWar = true;
                  warCountScore = warCountScore + 0.5;
                  else
                  warCountScore = warCountScore + 0.25;
                  end


                  Как видите, да, есть изменения в этом куске кода.
                     papeion
                    • Imperial
                    Imperial
                    Форумчанин

                    Дата: 29 февраля 2016, 10:51

                    Хм. ))) Похоже теперь не 10 уровней WW, а 100 )))
                    Впрочем, сейчас сравнил условия, всё-таки наверное 10 уровней (вариантов условий), т.к. условия неизменны для 1-10 лвл, для 11-20 лвл и т.д.
                    Однако получается, что можно сделать больше вариантов условий WW, вплоть до 100.
                       rawhide
                      • Imperial
                      Imperial
                      Форумчанин

                      Дата: 29 февраля 2016, 10:56

                      Для просмотра ссылки Зарегистрируйтесьpapeion

                      TURN_AT_WAR означает 0,5 за ход

                      хм, откуда вы это вывели? выше в коде было указание на это? или вы сопоставили с прежним кодом, где на этом месте значилось 0,5?

                      сначала речь идет о войсках во время войны на своей территории или на территории третьих стран.
                      warCount = warCount + 1; - это получаемое кол-во очков WW за 1 ход в состоянии войны +1 очко WW (войска на чужой территории)
                      затем, если фракция является ордой (кочевники или переселенцы), то это на нее не действует, для них вся карта - home region
                      если фракция, с которой война - соседская, то идет обычное накопление очков WW + это самое TURN_AT_WAR
                      если фракция на другом конце света, то итоговое начисление WW идет по формуле базовое значение WW для состояния войны + половина от дополнительного модификатора TURN_AT_WAR, а не удвоенное его значение

                      - - - Сообщение автоматически склеено - - -

                      Для просмотра ссылки Зарегистрируйтесьpapeion

                      Хм. ))) Похоже теперь не 10 уровней WW, а 100 )))

                      чтоп каждому гарантированно прилетело :041: :006:

                      Для просмотра ссылки Зарегистрируйтесьpapeion

                      Впрочем, сейчас сравнил условия, всё-таки наверное 10 уровней, т.к. условия неизменны для 1-10 лвл, для 11-20 лвл и т.д.
                      зато будут постоянно приходить оповещения об изменении уровня WW и игроки перестанут ныть, что фишка не работает. хоть реально меняться ничего не будет. CA играют на психологии ширнармасс :0182:
                        • 11 Страниц
                        • Первая
                        • 6
                        • 7
                        • 8
                        • 9
                        • 10
                        • 11
                         Похожие Темы
                        И"Бургундские Войны" - обсуждение мода
                        "Бургундские Войны" - обсуждение мода
                        Автор L LEZVIE
                        Обновление Вчера, 13:47
                        КПропаганда и информационные войны.
                        Как подача информации влияет на сознание человека и мировые процессы.
                        Автор С Старый
                        Обновление 17 апреля 2024, 19:22
                        ВМиг войны.
                        фотохроника
                        Автор С Старый
                        Обновление 17 апреля 2024, 10:44
                        Воспользуйтесь одной из соц-сетей для входа
                        РегистрацияВход на форум 
                        Сообщество ИмпериалTotal War: Attila Total War: Attila Total War: Attila - Age of Charlemagne Обратная Связь
                        Стиль:Language: 
                        «Империал» · Условия · Ответственность · Визитка · 19 апр 2024, 22:39 · Зеркала: Org, Site, Online · Счётчики