Сообщество Империал: [Статья] PANTHEON UPDATES: MARS — Изменения доспехов и урона - Сообщество Империал




СоциоПат

[Статья] PANTHEON UPDATES: MARS — Изменения доспехов и урона

[Статья] PANTHEON UPDATES: MARS — Изменения доспехов и урона
Тема создана: 02 сентября 2026, 19:17 · Автор: СоциоПат
Просмотров:
 135

 СоциоПат
  • Imp
Imperial
 

Дата: 02 сентября 2026, 19:17



PANTHEON UPDATES: MARS — Изменения доспехов и урона



Imp



ФИНАЛЬНАЯ ВЕРСИЯ ДЛЯ БЕТЫ



Привет!


Обновлено 31 июля


Этот пост был обновлен 31 июля, и все обсуждения в этой теме до этой даты относятся к предыдущей версии, отличающейся от представленной ниже.

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

Давайте начнем с того, как броня и урон работают в Rome II прямо сейчас.

Rome II — текущая формула


Код начинает с проверки того, является ли атака попаданием. Для ближнего боя это означает оценку защиты в ближнем бою против атаки в ближнем бою, учитывается ли фактор щита, влияние усталости и т. д. При стрельбе, если снаряд попадает в кого-то, код проверяет, идет ли атака с фронта/слева, и блокируется ли она шансом блокирования стрел щита. Затем, если удар не заблокирован, код рассчитывает нанесенный урон, и именно здесь кроются главные изменения.

Раньше броня рассчитывалась как бросок случайного значения (ролл) между 0 и полным показателем брони отряда; затем этот результат вычитался из урона от оружия атакующего, при этом бронебойный урон (AP) всегда наносился независимо от значения брони. Это часто приводило к тому, что броня вела себя нелинейно по сравнению с большинством других характеристик, таких как защита в ближнем бою, где увеличение значения оказывает линейное влияние на шанс попадания.

Вот как выглядела старая формула урона — одно и то же оружие против разных значений брони (кривая показывает средний нанесенный урон). Из-за этого ролла от 0 до максимального значения все могло становиться немного странным.

Imp

(ось Y — средний нанесенный урон, ось X — значение брони целевого отряда, здесь показано среднее значение из 10 смоделированных роллов урона)


Текущая формула также в целом не дает шанса на то, чтобы любое попадание могло мгновенно убить солдата, как это было в боевых правилах до Rome II. Это значит, что редко можно увидеть гибель солдат от первого же залпа стрелков; но поскольку они все равно получают скрытый урон, позже происходит лавинообразный всплеск смертей, когда достаточное количество солдат накапливает критический урон для гибели.

Цели


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

  • Дать шанс на то, что урон будет полностью отражен (отклонен), если у солдата есть броня.
  • Сделать так, чтобы бронебойный урон (AP) был более эффективен против отрядов с высокой броней, чем обычный урон.
  • Дать шанс солдату погибнуть от любого попадания.
  • Позволить иметь больше вариативности в значениях базового урона и урона сквозь доспехи.
  • Встроить в систему элементы случайности.
  • Сохранить в целом такое же среднее время на убийство отряда (time-to-kill / TTK), как и при текущей формуле.
  • Сделать так, чтобы броня, урон и бронебойный урон менялись линейно по мере их увеличения. Например, переход от 10 к 20 единицам брони должен иметь точно такой же эффект, как переход от 50 к 60, чтобы привести их в соответствие с тем, как работают многие другие характеристики (атака в ближнем бою, защита в ближнем бою и бонус за натиск).

Единственное изменение со времен прошлой темы заключается в том, что я отказался от стремления сохранить саму формулу как можно более простой. Я думаю, что гораздо важнее простота итогового результата. До тех пор пока броня, урон и очки здоровья (HP) имеют понятное линейное влияние на то, как проходят сражения, не имеет значения, является ли формула для получения этих результатов чуть более сложной, поскольку то, что нужно знать игрокам, остается простым. Больше брони снижает урон, бронебойный урон лучше справляется с броней, очки здоровья позволяют солдатам жить дольше.

Идеал


Кое-чем из идеальных результатов, к которым я стремился, я уже делился ранее. График ниже показывает то, что я надеюсь увидеть: красивые линейные изменения по мере роста брони, при этом на оружие с высоким AP более высокая броня влияет меньше. Этот график может представлять средний урон или шанс убийства, важной частью является именно линейное изменение.

Imp


Теперь у меня есть формула, которая выдает результаты, соответствующие всем поставленным целям и максимально приближенная к этому идеалу.

Финальная формула


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

  • Теперь присутствует ролл урона, так что урон может варьироваться от удара к удару.
  • Бронебойный урон больше не игнорирует броню полностью, вместо этого броня влияет на него в меньшей степени, чем на обычный урон.
  • Изменяется то, как именно броня снижает урон и бронебойный урон.
  • Появляется шанс на то, что попадание окажется критическим, и этот шанс масштабируется в зависимости от того, сколько урона наносит удар.
  • Также появляется шанс (при условии, что у солдата есть хоть какая-то броня), что удар будет полностью отражен (срикошетит).

Вот результаты, которые выдает эта формула:

Imp

(Это средний урон до учета критических ударов или отражения)


Imp


Как вы можете видеть, она дает результаты, очень близкие к идеальным, и закрывает множество моих целей. Вы можете заметить, например, изменение, благодаря которому шанс критического удара масштабируется вместе с уроном. Эффективность оружия с высоким обычным уроном и низким AP падает по мере роста брони, в то время как оружие с более низким базовым уроном, но более высоким AP, остается гораздо более стабильным, нанося больше урона и совершая больше убийств в районе отметки в 40/50 единиц брони.

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

ImpImp


Эти результаты — именно то, чего я хочу, они соответствуют поставленным мною целям, и эта формула будет использоваться в первой бете MARS.

Влияние на игру


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

  • Урон оружия, ориентированного на бронебойность, будет скорректирован в сторону увеличения AP-компонента, так как теперь поддерживается более широкий диапазон значений.
  • Появляется пространство для большего разброса значений базового урона и урона сквозь доспехи, включая потенциальную возможность создания оружия с 0 бронебойного урона.
  • Будет увеличена задержка между атаками ближнего боя в kv_rules.
  • Добавится снижение урона для стрелковых попаданий в зависимости от дистанции (подобно тому, как это работало в Shogun 2): на максимальной дистанции снаряды будут наносить на 25% меньше урона.

Подробные детали


Для тех, кто любит тонкости того, как устроена финальная формула, вот она во всех деталях:

  • Сначала броня бросается (роллится) между нижним пределом ролла брони (установлен на 0) и ее полным значением.
  • Затем рассчитывается влияние этого ролла брони на обычный урон и бронебойный урон:
    • Для обычного урона высчитывается значение снижения урона, которое является МАКСИМУМОМ из: минимального фактора урона (0.1) ИЛИ формулы 1 - (ролл брони / нормализующее значение брони для урона (60)).
    • Для бронебойного урона высчитывается значение снижения AP-урона, которое является МАКСИМУМОМ из: минимального фактора бронебойности (0.2) ИЛИ формулы 1 - (ролл брони / нормализующее значение брони для бронебойности (180)).

  • Далее идет ролл для самого урона в пределах между нижним пределом ролла урона (50) и 100. Этот ролл будет применяться как к базовому урону, так и к бронебойному (он конвертируется в модификатор от 0.0 до 1.0 путем умножения результата ролла на 0.01).
  • Следовательно, высчитываются показатели модифицированного базового и модифицированного бронебойного урона:
    • Для обычного урона: базовый урон отряда * ролл урона * значение снижения урона.
    • Для бронебойного урона: бронебойный урон отряда * ролл урона * значение снижения AP-урона.

  • Эти показатели объединяются, чтобы сформировать базовый урон для конкретного попадания.
  • Полученное значение базового урона затем используется для расчета шанса критического удара и шанса отражения для этого попадания.
  • Для критических ударов сначала рассчитывается прибавка к шансу крита: базовый урон * нормализующее значение прибавки к критическому удару (0.66).
  • Это значение затем прибавляется к базовому шансу критического удара (3), чтобы получить финальный шанс крита. Это означает, что шанс критического удара теперь масштабируется линейно вместе с нанесенным уроном.
  • Для отражения (дефлекта) урона берется МЕДИАНА из: 0, формулы ролл брони * 1 - (( модифицированный бронебойный урон / 100 ) * нормализатор урона отражения (1)) и максимального шанса отражения (85).
  • Финальное значение отражения затем вычитается из 100, чтобы получить значение, против которого будет идти кубик (так как низкие роллы будут отвечать за шанс крита, а высокие — за шанс блокирования/отражения).
  • Затем игра совершает бросок от 0 до 100:
    • Если ролл меньше или равен шансу критического удара, то цели наносится полный урон оружия * модификатор критического удара (4).
    • Если ролл больше или равен значению отражения, то наносится 0 урона.
    • В противном случае, если ролл находится между этими двумя значениями, наносятся расслышанные модифицированный обычный и модифицированный бронебойный уроны.

Все вышеперечисленные графики были рассчитаны для отрядов, имеющих 50 очков здоровья (HP).

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


С уважением, Джек Ластед


    Перевести Страницу
    Напишите сообщение используя ваш аккаунт в:
    Сообщество ИмпериалИмперский Атриум Имперский Атриум Статьи Библиотеки Обратная Связь
    Стиль:Language: 
    Условия · Ответственность · Конфид. · Визитка · 10 сен 2026, 04:28 · Зеркала: Org, Site, Tech, Onl