Неверная калькуляция дальности с дуговым рефлектором

Снаряд (пусть будет А) срезает 40% дальности. Имплант 2-2 (Б) дает 20%. Горизонт (В) дает 29,5%. По отдельности все цифры сходятся. Горизонт с имплантом - тоже все нормально. Но давно заметил такую волшебную вещь: как только А комбинируешь с Б или В, или Б+В, математика тут же сдает позиции. Результирующая дальность явно меньше положенной. Как такое возможно? Замучил свой калькулятор, испробовал все возможные “базы” - не сходится и все, хоть убей. Да и без калькулятора по логике же очевидно, что (при Б+В=49,5%) в комбинации А+Б+В пушка должна стрелять чуть дальше базового значения, а не ближе.

[http://forum.star-conflict.ru/index.php?/topic/44534-blog-razrabotchikov-ot-23-ianvaria-slozhenie-effekto/](< base_url >/index.php?/topic/44534-blog-razrabotchikov-ot-23-ianvaria-slozhenie-effekto/)

 

tl;dr

Калькуляция верная, но одновременное использование повышающих и понижающих модификаторов вызывает нестыковки в “логике”. Мы ожидаем, что -50% и +50% дадут друг на друга 0%, но по факту снижение некоторого параметра на 50% есть уменьшение в 2 раза , но повышение на 50% это увеличение всего лишь в 1,5 раза

Снаряд (пусть будет А) срезает 40% дальности. Имплант 2-2 (Б) дает 20%. Горизонт (В) дает 29,5%. По отдельности все цифры сходятся. Горизонт с имплантом - тоже все нормально. Но давно заметил такую волшебную вещь: как только А комбинируешь с Б или В, или Б+В, математика тут же сдает позиции. Результирующая дальность явно меньше положенной. Как такое возможно? Замучил свой калькулятор, испробовал все возможные “базы” - не сходится и все, хоть убей. Да и без калькулятора по логике же очевидно, что (при Б+В=49,5%) в комбинации А+Б+В пушка должна стрелять чуть дальше базового значения, а не ближе.

А теперь введи в эту формулу переменную X. где X это хардкор.

Как уже писали выше, учите [матчасть](< base_url >/index.php?/topic/44534-blog-razrabotchikov-ot-23-ianvaria-slozhenie-effekto/)

Как уже писали выше, учите [матчасть](< base_url >/index.php?/topic/44534-blog-razrabotchikov-ot-23-ianvaria-slozhenie-effekto/)

Ну вот я прочел: ЕСЛИ mod > 0 ТОГДА newValue = baseValue * ( 1 + mod )

Выходит следующее: мод = -0.4 + 0.2 + 0.295 = 0.095

Пусть х - искомая величина, а у - базовая, тогда х = у * (1+0.095), и если у нас у (дальность стрельбы, например) равен 4000, то получаем: х = 4000 * 1.095 = 4380. Т.е. больше исходной величины. Это если посчитать без графика.

 

Теперь считаем, отталкиваясь от него: mod - сумма значений модулей, в соответствии с графиком ниже

100 - 40 + 20 + 29.5 = 109.5%

Получается, если верить графику выше нуля однозначно, примерно 0.05 а, значит, применима формула та же, что и выше ЕСЛИ mod > 0 ТОГДА newValue = baseValue * ( 1 + mod )

Возьмем опять пресловутые 4000 метров. х = 4000 * (1 + 0.05) = 4200. Скорей всего те же, 4380, просто график мелковат.

 

Теперь вопрос по самой матчасти, что вытекает из нее:

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

 

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

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

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

Так как боеприпас снижает дальность на 40%, то  это отрицательный модификатор. И если по графику глянуть, то у него выходит значение -1.5

Если mod < 0, тогда newValue = baseValue / ( 1 - mod) = базовое / ( 1 - (-1.5) = 4000 / 2.5 = 1600.

 

Офигенно получается. Т.е. снарядом на -40% в прописанных ттх, я на самом деле понижаю дальность с 4000 м до 1600, это если верить вашим графикам и формулам. А 1600 по отношению к 4000 - это понижение никак не на 40%, но на 60%.

 

Вывод: либо ваш график просто для наглядности, и не предназначен для вычислений, либо это туфта вообще полная.

 

Объясните мне ход действий полностью, пошагово, пожалуйста, если несложно.

Посчитайте сами при модификаторах -40%, +20%, +29,5%.

 

В той теме я также попросил об этом Серакса.

Выходит следующее: мод = -0.4 + 0.2 + 0.295 = 0.095

Неверно, для модуля дающего -40% к характеристике, mod будет равен не -0,4 а примерно -0,6 (примерно, потому что график мелковат), соответственно mod = -0,6 + 0,2 + 0,295 = -0,105 (примерно)

 

График в статье предназначен именно для расчета mod и его следует читать так - представляем newValue, как значение в процентах после применения модификатора к характеристике, затем сопоставляем с графиком и получаем значение mod для этого модификатора.

Пример: патроны дают -40% к дальности, значит получим 100%-40%=60% от исходного. Ищем 60% на шкале newValue, переносим на график, затем на шкалу mod, получаем те самые примерные -0,6. Еще модификаторы для примера - mod(-50%)=-1; mod(-60%)=-1.5 mod(-25%)=-0.3 (опять же, примерно)

 

Также, см. второй пост к статье от eshkrig’ а

Как уже писали выше, учите [матчасть](< base_url >/index.php?/topic/44534-blog-razrabotchikov-ot-23-ianvaria-slozhenie-effekto/)

 

  Я отлично помню ту статью с тремя компенсаторами. И помню, что ЕСЛИ mod > 0 ТОГДА newValue = baseValue * ( 1 + mod ). И формула прекрасно работает, когда лучевуха т5 (3350м база) с горизонтом и 2-2 выдает 3350*(1+(0,295+0,2))=5008м. А вот с отрицательным эффектом все гораздо хуже. Если стоит только дуга, то в реальности мы видим значение дальности 2010, т.е. подходит формула newValue = baseValue х ( 1 - mod ), где mod - это именно модуль суммы, т.е. |-0,4|=0,4. Тогда 3350*(1-0,4)=2010. Иначе говоря, это в чистом виде 3350-40%. Вот даже без плюсовых модификаторов как к реальному значению 2010 припахать формулу ЕСЛИ mod < 0 ТОГДА newValue = baseValue / ( 1 - mod )? Каак??

  Дальше можно, совершенно, справедливо повторить рассуждения rus_Stigmat’a:

mod = -0.4 + 0.2 + 0.295 = 0.095 > 0 => newValue = baseValue * ( 1 + mod ) = 3350 * (1 + 0,095) = 3668м - это то, что мы должны бы увидеть. А видим откуда-то 2859м. Откуда??

Если стоит только дуга, то в реальности мы видим значение дальности 2010

Давайте так.

Вы приведете пример конкретного модуля/оружия и конкретного модификатора, укажете что не так, а мы его рассмотрим.

Не цепляясь к терминологии матчасти

    условия:

        базовая дальность орудия - 1000 м.

        с рассеивающей насадкой дальность орудия - 500 м.

        с фокусирующей насадкой дальность орудия - 1500 м.

    вопрос:

        какова дальность орудия с рассеивающей и фокусирующей насадкой?

 

В нашей Вселенной правильный ответ - 1000 м.

 

Задачка по арифметике для 3-го класса церковно-приходской школы конца 19-го - начала 20-го веков.

  1. Условия поставлены некорректно: вместо “с фокусирующей насадкой дальность орудия - 1500 м” надо писать “Фокусирующая насадка меняет дальность на х%”

  2. Давайте рассматривать реальные игровые модули и модификаторы

Нет, условия именно такие и они корректны. Зачем мне выражать что-то в процентах? Чтобы Вам было к чему придраться? Я ищу способ донести до Вас - почему игроки видят проблему.

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

Итак: базовая дальность 1000 м

Дальность с РН - 500 м

Т.к. насадки действуют как коэффициенты, то Крн = 500/1000 = 0,5

Аналогично, Кфн = 1500/1000 = 1,5

Итоговая дальность таким образом, получается: 1000*Крн*Кфн = 1000*0,5*1,5 = 750 м

 

С учетом

В нашей Вселенной правильный ответ - 1000 м.

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

 

Нет, условия именно такие и они корректны. Зачем мне выражать что-то в процентах? Чтобы Вам было к чему придраться? Я ищу способ донести до Вас - почему игроки видят проблему.

Вы не понимаете, что изменения параметра никогда не работают, как сумма. Это всегда коэффициенты и они всегда перемножаются.

 

Задачка по арифметике для 3-го класса церковно-приходской школы конца 19-го - начала 20-го веков.

И очевидно, вы ее решить не можете, увы

Задачка по арифметике для 3-го класса церковно-приходской школы конца 19-го - начала 20-го веков.

И очевидно, вы ее решить не можете, увы

 

Ну, ok.

 

Не цепляясь к терминологии матчасти

    условия:

        базовая дальность орудия - 1000 м.

        с рассеивающей насадкой дальность орудия - 500 м.

        с фокусирующей насадкой дальность орудия - 1500 м.

    вопрос:

        какова дальность орудия с рассеивающей и фокусирующей насадкой?

Мне лишь любопытно, как решат задачу другие.

Не цепляясь к терминологии матчасти

    условия:

        базовая дальность орудия - 1000 м.

        с рассеивающей насадкой дальность орудия - 500 м.

        с фокусирующей насадкой дальность орудия - 1500 м.

    вопрос:

        какова дальность орудия с рассеивающей и фокусирующей насадкой?

Мне лишь любопытно, как решат задачу другие.

Не поверите, но мне - тоже

Два модификатора, уменьшающих и увеличивающих характеристику на одинаковую величину, дадут друг на друга ноль только если они выражены в абсолютных значениях (например: уменьшает дальность орудий на 500м, увеличивает время до перегрева на 5с), а в игре все модификаторы (вроде же все, да?) изменяют характеристики в относительных (в процентах)

 

От того, что на модификаторах напишут не “уменьшает характеристику на 50%”, а “уменьшает характеристику в 2 раза” вам понятнее не станет, а смысл и расчеты не изменятся никак.

Только ради истины.

 

Ссылка на оригинальную [матчасть](< base_url >/index.php?/topic/36273-voprosy-razrabotchikam-igry-star-conflict-za-avgust-2013-g/?p=765835#entry765835) была указанаSkula1975 в [комментарии](< base_url >/index.php?/topic/43950-bag-s-dalnostiu-ataki-lazera-s-dugovym-reflekt/#entry908187)

 

В ней упоминается следующий немаловажный момент

 

  1. Правила сложения влияния модулей (кроме модулей на сопротивление урону) таковы: сначала все модификаторы складываются , а затем к результату применяется одна из формул:

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

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

 

Так с какой радости мы видим умножение коэффициентов (т.е. применение их один поверх другого)?

Решил рассмотреть вашу задачу безотносительно к правилам нашей игры
Итак: базовая дальность 1000 м
Дальность с РН - 500 м
Т.к. насадки действуют как коэффициенты, то Крн = 500/1000 = 0,5
Аналогично, Кфн = 1500/1000 = 1,5
Итоговая дальность таким образом, получается: 1000 *Крн*Кфн = 1000*0,5*1,5 = 750 м

 

 

Выражать в процентах или кратно - ничего не меняет:

[http://forum.star-conflict.ru/index.php?/topic/44534-blog-razrabotchikov-ot-23-ianvaria-slozhenie-effekto/](< base_url >/index.php?/topic/44534-blog-razrabotchikov-ot-23-ianvaria-slozhenie-effekto/)

 

tl;dr

Калькуляция верная, но одновременное использование повышающих и понижающих модификаторов вызывает нестыковки в “логике”. Мы ожидаем, что -50% и +50% дадут друг на друга 0%, но по факту снижение некоторого параметра на 50% есть уменьшение в 2 раза , но повышение на 50% это увеличение всего лишь в 1,5 раза

 

Чтобы в этом убедиться, попробуйте решить небольшую арифметическую задачу (не связывая её с реалиями СК):

Не цепляясь к терминологии матчасти

    условия:

        базовая дальность орудия - 1000 м.

        с рассеивающей насадкой дальность орудия - 500 м.

        с фокусирующей насадкой дальность орудия - 1500 м.

    вопрос:

        какова дальность орудия с рассеивающей и фокусирующей насадкой?

 

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

Два модификатора, уменьшающих и увеличивающих характеристику на одинаковую величину, дадут друг на друга ноль только если они выражены в абсолютных значениях (например: уменьшает дальность орудий на 500м, увеличивает время до перегрева на 5с), а в игре все модификаторы (вроде же все, да?) изменяют характеристики в относительных (в процентах)

 

От того, что на модификаторах напишут не “уменьшает характеристику на 50%”, а “уменьшает характеристику в 2 раза” вам понятнее не станет, а смысл и расчеты не изменятся никак.

Ошибка в Ваших рассуждениях в том, что Вы пытаетесь применить один коэффициент поверх другого, в то время как оригинальная матчасть гласит иначе.

 

P.S.: неудачно я упомянул “базовую дальность орудия” в условиях задачи )

Выражать в процентах или кратно - ничего не меняет:

[http://forum.star-conflict.ru/index.php?/topic/44534-blog-razrabotchikov-ot-23-ianvaria-slozhenie-effekto/](< base_url >/index.php?/topic/44534-blog-razrabotchikov-ot-23-ianvaria-slozhenie-effekto/)

 

tl;dr

Калькуляция верная, но одновременное использование повышающих и понижающих модификаторов вызывает нестыковки в “логике”. Мы ожидаем, что -50% и +50% дадут друг на друга 0%, но по факту снижение некоторого параметра на 50% есть уменьшение в 2 раза , но повышение на 50% это увеличение всего лишь в 1,5 раза

О чем я сам же и написал:

От того, что на модификаторах напишут не “уменьшает характеристику на 50%”, а “уменьшает характеристику в 2 раза” вам понятнее не станет, а смысл и расчеты не изменятся никак.


 

В ней упоминается следующий немаловажный момент

 

  1. Правила сложения влияния модулей (кроме модулей на сопротивление урону) таковы: сначала все модификаторы складываются , а затем к результату применяется одна из формул:

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

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

 

Так с какой радости мы видим умножение коэффициентов (т.е. применение их один поверх другого)?

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

Итак: базовая дальность 1000 м

Дальность с РН - 500 м

Т.к. насадки действуют как коэффициенты, то Крн = 500/1000 = 0,5

Аналогично, Кфн = 1500/1000 = 1,5

Итоговая дальность таким образом, получается: 1000 *Крн*Кфн = 1000*0,5*1,5 = 750 м

Сначала просишь решать задачу безотносительно правил игры, а затем удивляешься что модификаторы применены не по формулам СК?

 


 

Что касается самой задачи - с обоими насадками итоговая дальность будет 1000м только в том случае, если насадки имеют характеристики соответственно +500м и -500м к дальности. А это абсолютные значения. Какой смысл в этом примере, если в СК нет аналогичных модулей? Если считать насадки как относительные модификаторы, то в отрыве от условий СК получится тот результат, который показал Скула. Если считать насадки относительными модификаторами и применяя правила сложения модификаторов СК , получится что для модификатора -50% mod=-1, для модификатора +50% mod=0.5, итого mod=-0.5, затем применяем формулу для отрицательного модификатора и получаем что дальность с двумя модификаторами 1000 / (1-(-0.5))=1000 / 1.5 = 666.6

 

Думаю вся проблема сводится к тому, что формула для расчета из статьи со стороны кажется “нелогичной”, но она такова, какова она есть, не вижу смысла спорить на эту тему. График расчета mod имеется, математически все абсолютно верно.

Вот более удачный пример:

    танк едет со скорость 1000 м/с и стреляет снарядами со скорость 1000 м/с

    скорость снаряда относительно мишени - 2000 м/с

    теперь уменьшим скорость танка на 50% и увеличим скорость снаряда на 50%

    теперь, танк едет со скорость 500 м/с и стреляет снарядами со скорость 1500 м/с

    скорость снаряда относительно мишени - 2000 м/с

Верно, вот только скорость танка и снаряда это две независимых величины и модификаторы применяются пропорционально, и только потом скорости снаряда и танка складываются, поэтому пример мимо

Как уже писали выше, учите [матчасть](< base_url >/index.php?/topic/44534-blog-razrabotchikov-ot-23-ianvaria-slozhenie-effekto/)

Можно узнать точную формулу приведенного в статье графика (расчет mod)?

Верно, вот только скорость танка и снаряда это две независимых величины и модификаторы применяются пропорционально, и только потом скорости снаряда и танка складываются, поэтому пример мимо

Как уже писали выше, учите [матчасть](< base_url >/index.php?/topic/44534-blog-razrabotchikov-ot-23-ianvaria-slozhenie-effekto/)

Можно узнать точную формулу приведенного в статье графика (расчет mod)?

Не могу найти ссылку на wiki, где расписывались правила сложения. ЕМНИП, там было сказано, что понижающий и повышающий коэффициенты просчитываются по отдельности и не оказывают влияния друг на друга (за исключением финального сложения) - отсюда и пример с танком. По той-же ссылке были формулы вычисления отдельных mod.