Lezort

Блог разработчиков от 23 января: сложение эффектов модификаторов

Recommended Posts

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

6239ac208310290032aba80bbad4.jpg


 

На данный момент, правила сложения модулей для всех, кроме модулей на сопротивление урону, едины.

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

 

1.ЕСЛИ mod < 0 ТОГДА newValue = baseValue / ( 1 - mod )
2. ЕСЛИ mod > 0 ТОГДА newValue = baseValue * ( 1 + mod )

 

mod - сумма значений модулей, в соответствии с графиком ниже (Характеристики модуля 1 +...+Характеристики модуля 3 + бонусы от имплантов + Бонусы к характеристикам корабля ).
newValue - итоговое значение
baseValue - базовое значение корабля, которое можно посмотреть в информации о корабле или в вики Стар Конфликт.

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

mod-value.jpg

Таким образом, если вы видите, что тот или иной модуль что-то снижает на 50%, то при расчетах реальное значение модификатора будет не -0.5, а -1.0 (см. график).

Самый популярный модификатор - щита или корпуса. Базовые значение их сопротивления можно найти  в таблице тактико-технических характеристик, которая есть у каждого корабля и опубликована в вики Star Conflict.
В качестве примера рассмотрим улучшения от Компенсатора столкновений. У нас есть три модуля одинаковой модификации, каждый из которых снижает урон от столкновений на 50%. Мы хотим знать, как изменятся характеристики корабля, когда все три компенсатора будут установлены.

 

Порядок действий:

  • Установим реальное значение параметра. -1.0.
  • Установим базовое значение, которые в данном случае будет равно 100% урона при столкновении.
  • Подставляем значение в формулу
  • Считаем.

Получается, что установка трех компенсаторов столкновений с характеристикой уменьшения урона на 50% снизит получаемый урон до 25%.

В целом, этот механизм подобен механике сопротивления урону.

При текущем сложении эффектов модификаторов удалось достичь того, что ухудшения характеристик не так сильны, как улучшения.
Приглядимся чуть внимательней: “потолок” улучшения параметров намного выше, чем их ухудшения. Благодаря описанному выше, нельзя бесконечно понижать характеристики, используя модификаторы с одинаковыми штрафами.

 

На сегодня - все.

Не могу не сообщить, серию будущих выпусков блога, мы планируем посвятить разработке дредноутов. Следите за новостями!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

 

Рассмотрим пример:

 

Базовое значение максимальной дальности ионного излучателя - 2950 м.

 

Есть 3 модификатора максимальной дальности

1. нейроконтроллер «Альбатрос» +20%

2. модуль горизонт +35,8%

3. дуговой рефлектор -50%

 

Расчитаем mod для каждого модификатора в отдельности:

1. нейроконтроллер «Альбатрос» 0.2

2. модуль горизонт 0.358

3. дуговой рефлектор -1

 

Суммируем mod

0.2 + 0.358 + (-1) = -0.442

 

Матчасть предписывает использовать формулу для варианта mod < 0

2950 / (1 - (-0.442)) = 2950 / 1.442 = 2045.76976

 

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

1. +50%

2. -50%

 

Расчитаем mod для каждого модификатора в отдельности:

1. 0.5

2. -1

 

Суммируем mod

0.5 + (-1) = -0.5

 

Таким образом, для того, чтобы скомпенсировать -50% нужен повышающий модификатор +100%.

 

 

Проблема проявляется только при одновременном использовании повышающих и понижающих модификаторов.

Возможное решение проблемы:

достаточно рассчитывать newValue отдельно для понижающих (newValue_negative) и повышающих (newValue_positive) модификаторов, а результирующее значение получать средним арифметическим:

newValue = ( newValue_negative + newValue_positive ) / 2

тогда и логика будет в порядке, и механика для понижающих модификаторов не будет сломана.

  • Вверх 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Суммируем mod

0.2 + 0.358 + (-1) = -0.442

Матчасть предписывает использовать формулу для варианта mod < 0

2950 / (1 - (-0.442)) = 2950 / 1.442 = 2045.76976

Не правильно. Вы уже использовали правило и второй раз Вам не нужно это правило а просто значени mod нужно свалить в одну кучу. ( думаю понятно написал ;) )

P.S. Кстати прикольно выходит. + линейно, а - не линейно, но в реале то + может быть плохо и наоборот ;)

Изменено пользователем mx35097
  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кажется в этот пост закралась ошибка. До графика и включая все вроде окей. А дальше очень странно - то при расчетах реальное значение модификатора будет не -0.5, а -1.0 (см. график).  Вообще то график показывает работу формулы, т.е. не несет практической ценности. И вдруг мы начинаем по этому графику конвертировать модификаторы. При этом какой то идиотизм получается так как -50% превращается в в -1 а -100% в 0!

ВТФ?

Сдается мне что правильный расчет уменьшения дамага от 3х компенсаторов столкновений будет:

100 / (1 - (-0.5 - 0.5 - 0.5) = 100 / 2.5 = 40

Итого мы будем получать 40% дамага.

Нет это тоже не првильно потому что с одним компенсатором будет:

100/(1 + 0.5) = 66 

А должно быть 50 процентов дамага. Тут как раз и получается что нужно сделать из -05 -1.

Но как это делается я не понимаю!

Кто нибудь может разъяснить что такое "реальное значение параметра"  и как его получить?

Изменено пользователем barsandcat
  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 А эта статья понятна в основном тем, кто уже все это знает)

Изменено пользователем NikOff
  • Вверх 15

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

И тут блог разрабов вылезает, будто патч скоро. Но нет же - ничего нового.

  • Вверх 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Нет это тоже не првильно потому что с одним компенсатором будет:

100/(1 + 0.5) = 66

1 компенсатор с эффектом -50% повреждений: 100/(1 - (-1)) = 100/2 = 50 - значит будешь получать 50% повреждений.

2 компенсатора с эффектом -50% повреждений: 100/(1 - (-1 + -1)) = 100/3 = 1/3 - значит будешь получать 1/3 повреждений.

3 компенсатора с эффектом -50% повреждений: 100/(1 - (-1 + -1 + -1)) = 100/4 = 25 - значит будешь получать 25% повреждений.

 

Вот возьмем фиоловые компенсаторы -59% повреждений, у них уже mod будут давать не -1, надо считать.

Значение при -59% станет 41% - это newValue. Берём формулку: newValue = baseValue/(1-mod). Отсюдова: mod = 1 - baseValue/newValue.

mod = 1 - 100/41 = -1.439

Теперь можно это заюзать:

2 компенсатора с эффектом -59% повреждений: 100/(1 - (-1.439 + -1.439)) = 100/3.878 = 25.786 - значит будешь получать 25.786% повреждений.

3 компенсатора с эффектом -59% повреждений: 100/(1 - (-1.439 + -1.439 + -1.439)) = 100/5.317 = 18.808 - значит будешь получать 18.808% повреждений.

2 компенсатора, один с эффектом -50%, другой -59% повреждений: 100/(1 - (-1 + -1.439)) = 100/29.078 - значит будешь получать 29.078% повреждений.

 

Сча посчитаю антиконтроль и тему даж запилю))

  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот возьмем фиоловые компенсаторы -59% повреждений, у них уже mod будут давать не -1, надо считать.

Значение при -59% станет 41% - это newValue. Берём формулку: newValue = baseValue/(1-mod). Отсюдова: mod = 1 - baseValue/newValue.

mod = 1 - 100/41 = -1.439

я считаю более простым способом, где меньше вычислений: для -59% имеем

-59/41=-1.439

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

График соответствия понижающего модификатора и, необходимого для его компенсации, повышающего модификатора.

например:

для компенсации понижающего модификатора 20% нужен повышающий 25%

для компенсации понижающего модификатора 30% нужен повышающий 43%

для компенсации понижающего модификатора 50% нужен повышающий 100%

для компенсации понижающего модификатора 80% нужен повышающий 400%

 

post-1091108-0-13509700-1422080401_thumb

 

С текущей методикой расчёта вы всегда в "минусе" при одновременном использовании повышающего и понижающего модификатора. Учитывая, что очень многие полезные модули имеют понижающий модификатор, вы получаете менее быстрый, менее маневренный, более просаживающийся по энергии корабль.

 

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

Гальванизированная броня

Тяжелая обшивка
Разветвитель проекции щита
Импульсный разрядник
Иридиевый теплоотвод
Мост силовой установки
Дуговой рефлектор
Дефлектор «Сверхновая»
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ДаешЪ равноправие плюсов и минусов в характеристиках корабля!!! Скажем нет скрытым модификаторам и сложным формулам! Пилоты заслуживают честный обмен!!!

  • Вверх 7

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дело в том что я уже писал что минус и плюс, когда хорошо когда плохо это дело относительное.

Во вторых вы указали 1 против другого. А попробуйте нарисовать график 3 против трёх.

3 полюса то сложаться а с минуссми будет уже пофигу сколько у вас 1 модуль или 3.

Надеюсь я понятно пишу.

  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Нет это тоже не првильно потому что с одним компенсатором будет:

100/(1 + 0.5) = 66

1 компенсатор с эффектом -50% повреждений: 100/(1 - (-1)) = 100/2 = 50 - значит будешь получать 50% повреждений.

2 компенсатора с эффектом -50% повреждений: 100/(1 - (-1 + -1)) = 100/3 = 1/3 - значит будешь получать 1/3 повреждений.

3 компенсатора с эффектом -50% повреждений: 100/(1 - (-1 + -1 + -1)) = 100/4 = 25 - значит будешь получать 25% повреждений.

 

Вот возьмем фиоловые компенсаторы -59% повреждений, у них уже mod будут давать не -1, надо считать.

Значение при -59% станет 41% - это newValue. Берём формулку: newValue = baseValue/(1-mod). Отсюдова: mod = 1 - baseValue/newValue.

mod = 1 - 100/41 = -1.439

Теперь можно это заюзать:

2 компенсатора с эффектом -59% повреждений: 100/(1 - (-1.439 + -1.439)) = 100/3.878 = 25.786 - значит будешь получать 25.786% повреждений.

3 компенсатора с эффектом -59% повреждений: 100/(1 - (-1.439 + -1.439 + -1.439)) = 100/5.317 = 18.808 - значит будешь получать 18.808% повреждений.

2 компенсатора, один с эффектом -50%, другой -59% повреждений: 100/(1 - (-1 + -1.439)) = 100/29.078 - значит будешь получать 29.078% повреждений.

 

Сча посчитаю антиконтроль и тему даж запилю))

 

остаётся только 1 вопрос, на примере компенсаторов, возьмем 3 по 50%(считать проще и в итоге у нас получится 12,5% урона

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Я подозреваю, что вы о том, что компенсатор -50% и -59% будут считаться отдельно. Если да, то это не так.

Запомните правило: сначала ВСЕ модификаторы складываются (да-да, и импланты с модулями тоже), а только потом применяются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Стоит учесть еще что импланты, некоторые боевые модуля, которые поднимают характеристики исключительно в бою в зависимости от каких либо условий активации(скорость меньше 50% 12тый или домаг 13тый или же поднятия урона или скорости на команднике). Не следует их складывать с уже существующим бонусами на тот или иной параметр. Они применяются "сверху" к уже посчитанным параметрам. Исключение составляют лишь резисты.

Изменено пользователем Kopo6

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Исходя из пояснений модераторов и содержания темы, представленные формулы к графику никакого отношения не имеют, так, только глядя на график я могу сказать, что значение mod, подставляемое в знаменателе при mod<0, = -1, а не -0,5, как я предполагал при расчете компенсаторов столкновения, таким образом без графика я не смогу использовать предоставленные формулы. Отсюда - графикообразующие функции в студию, поскольку, как я понял, именно они определеяют эффективность модулей и реальные значения показателя mod

Изменено пользователем Nezgibaem

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Исходя из пояснений модераторов и содержания темы, представленные формулы к графику никакого отношения не имеют, так, только глядя на график я могу сказать, что значение mod, подставляемое в знаменателе при mod<0, = -1, а не -0,5, как я предполагал при расчете компенсаторов столкновения, таким образом без графика я не смогу использовать предоставленные формулы. Отсюда - графикообразующие функции в студию, поскольку, как я понял, именно они определеяют эффективность модулей и реальные значения показателя mod

Да все там правильно.

Просто прикалывает другое :

Получается, что установка трех компенсаторов столкновений с характеристикой уменьшения урона на 50% снизит получаемый урон до 25%.

В целом, этот механизм подобен механике сопротивления урону.

При текущем сложении эффектов модификаторов удалось достичь того, что ухудшения характеристик не так сильны, как улучшения.

Типа уменьшение урона это ухудшение характеристики ;)

Изменено пользователем mx35097

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А теперь скажите как будут работать  адаптивные щиты в 3, 2 экземпляра!

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А теперь скажите как будут работать  адаптивные щиты в 3, 2 экземпляра!

 

Спасибо.

А что тут сложного то ?

"Добавляет сопротивление щита и корпуса всем видам урона в количестве 27/33/39/42.9 ед."

Добавляет т.е. 42.9*3 при т3х щитах.

P.S.

Кстати а кто с адаптивками летает меня всегда мучил вопрос, оно

42.9 и на щит и корпус ( т.е. 42.9/2 на щит и 42.9/2 на корпус ) или на каждый по 42.9 ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

А теперь скажите как будут работать  адаптивные щиты в 3, 2 экземпляра!

 

Спасибо.

А что тут сложного то ?

"Добавляет сопротивление щита и корпуса всем видам урона в количестве 27/33/39/42.9 ед."

Добавляет т.е. 42.9*3 при т3х щитах.

P.S.

Кстати а кто с адаптивками летает меня всегда мучил вопрос, оно

42.9 и на щит и корпус ( т.е. 42.9/2 на щит и 42.9/2 на корпус ) или на каждый по 42.9 ?

 

 

Спасибо. Но что то мне подсказывает что тут сложением не прокатит )

Адаптивка работает на все!!!!! Фига я думал тока на щит.

Изменено пользователем Kanaliya

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Нет это тоже не првильно потому что с одним компенсатором будет:

100/(1 + 0.5) = 66

1 компенсатор с эффектом -50% повреждений: 100/(1 - (-1)) = 100/2 = 50 - значит будешь получать 50% повреждений.

2 компенсатора с эффектом -50% повреждений: 100/(1 - (-1 + -1)) = 100/3 = 1/3 - значит будешь получать 1/3 повреждений.

3 компенсатора с эффектом -50% повреждений: 100/(1 - (-1 + -1 + -1)) = 100/4 = 25 - значит будешь получать 25% повреждений.

 

Вот возьмем фиоловые компенсаторы -59% повреждений, у них уже mod будут давать не -1, надо считать.

Значение при -59% станет 41% - это newValue. Берём формулку: newValue = baseValue/(1-mod). Отсюдова: mod = 1 - baseValue/newValue.

mod = 1 - 100/41 = -1.439

Теперь можно это заюзать:

2 компенсатора с эффектом -59% повреждений: 100/(1 - (-1.439 + -1.439)) = 100/3.878 = 25.786 - значит будешь получать 25.786% повреждений.

3 компенсатора с эффектом -59% повреждений: 100/(1 - (-1.439 + -1.439 + -1.439)) = 100/5.317 = 18.808 - значит будешь получать 18.808% повреждений.

2 компенсатора, один с эффектом -50%, другой -59% повреждений: 100/(1 - (-1 + -1.439)) = 100/29.078 - значит будешь получать 29.078% повреждений.

 

Сча посчитаю антиконтроль и тему даж запилю))

 

Я не хочу вас оспаривать, но присмотритесь к графику, значение -1.439 получится если значение модуля будет МЕНЬШЕ 50%, а если больше, то значение уже меньше единицы. Я понимаю, что вы получили ваши выводы логически, поскольку если нам удалось получить 50% при одном 50% модуле, то при одном 59% модуле мы получим 41%, но порой законы математики не подчиняются законам логики, а точнее подчиняются ДРУГИМ законам логики, порой не совсем логичным для нас с вами, и график тому доказательство, а поскольку график является официальным представлением данных, то ему я поверю больше. 

Изменено пользователем Nezgibaem

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

...

Но что то мне подсказывает что тут сложением не прокатит )

...

Не много не так. Сами резы ( как они косят урон ) уже считаются как модификаторы минусовые.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо большое разработчикам за данную тему. Очень полезна. Жаль, тут свои сообщения удалять нельзя.

Изменено пользователем Nezgibaem

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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