Перемножение понижающего и повышающего опыт коэфициента

Ставь лайк если ты тоже обычный джун который решил прописать метод расчета множителя опыта при добавлении новой фичи (понижение опыта), но тоже прогулял 10-11 класс ради курсов в нетологии и теперь не знаешь почему коэфициенты не перемножаются, а складываются (ну если конечно мы не экспоненту хотим вместо линейной зависимости)
image

Передайте пориджу который решил, что коэфициенты должны пермножаться при линейной зависимости (а она именно линейная при множестве бустеров опыта)

7 лайков

Тю, сколько оскорблений…

Штраф применяется ко всему полученному опыту, включая бонусы, то есть:

• (X + Б)*Ш - вот так выглядит формула расчета, где Х - опыт, Б - Бонус (3Х в нашем случае), а Ш - штраф (1-20%=0.8 в нашем случае).
• из системы получим вот такую формулу
(Х + 3Х)*0.8
• раскроем скобки:
0.8Х + 2.4Х = 3.2Х

ч.т.д.

3 лайка

Теперь понятно. Вы реализовали это не как процентный бонус а как мультпликатор поверх системы бонусов.
Ну с точки зрения матана теперь более ясно, но с точки зрения UX это все равно шляпа, так как в интерфейсе этот штраф полностью идентичен в наименовании и описании стандатрным бонусам к опыту, хоть на самом деле им не является.
Ну или приведите формулу расчета бонусов опыта к такому же виду и тогда:
Х*((((2)*2)*2)*2) - при наличии 4 бустеров по 100% будешь получать Х16

1 лайк

Да жду, мг13 барабан, мг45

вот лайк
:heart:

2 лайка
кхм, кхм...пссс

Джун это не Джун. Джун от слова Junior - “младший” программист, т.е. начинающий.

2 лайка

Это сделало мой день

3 лайка

Я вроде не гуманитарий, но…
image

1 лайк

Да похрен что там написано,пусть даже жунмунфейхуя, верните отряд

Мне уже мерещится,потому что жду долго, дошло до того выдал за желаемое, так что потропитесь

Это обычная линейная или мультипликативная функция с процентами бонусов/штрафов, которые представлены понижающими и повышающими коэффициентами.
Вот для бонусов повышающих у нас система линейная (то есть каждый бонус — это фиксированная дельта) или аддитивная.
А вот для штрафа применили мультипликативную модель. Т.е. каждый новый штраф перемножается с текущим результатом (или выступает как множитель). Но при этом в UI (User Interface — буквально приложение, через которое пользователь взаимодействует с кодом) данный штраф указан идентично бонусам к опыту, из-за чего страдает UX (User eXperience — пользовательский опыт).

По формулам это выглядит так:
X — твой опыт

  • Ты получил бустер на 100% и еще на 30%:
    X * (1 + 1.0 + 0.3) = X * 2.3
    (на 100 делим, так как переводим процент в десятичные дроби для простоты записи)
  • Ты получил штраф в 20%:
    Ожидаемый игроком результат (аддитивно):
    X * ((1 + 1.0 + 0.3) - 0.2) = X * 2.1
    Реальный результат (мультипликативно):
    X * (1 + 1.0 + 0.3) * (1 - 0.2) = X * 2.3 * 0.8 = X * 1.84

То есть твой штраф растет «по мультипликативной схеме» относительно суммы бонусов — чем больше бонусов, тем больше абсолютное уменьшение от штрафа.

Для наглядности, если бы бонусы опыта работали бы так же (мультипликативно), 6 бонусов по 30% были бы гораздо больше, чем 2 бонуса по 100%:
X * 1.3^6 ≈ 4.82X, X * 2^2 = 4X

3 лайка

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

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

Если бонус r применяется n раз, мультипликативно:
X_n = X_0 * (1 + r)^n

При малом r и большом n это приближается к экспоненте:
X_n ≈ X_0 * e^(n * r)

Кстати, число Эйлера примечательно не только в этой связи: оно связывает почти все ключевые константы матана — число pi, 0 и -1 — в знаменитой формуле:
e^(i * pi) + 1 = 0

2 лайка

Если стало интересно, то вот отличная литература у нас по ней курсы были в бомонке, но я первые тома и просто брал Книга Зарубин В.С., Крищенко А.П. - Комплекс учебников из 21 выпуска: Математический анализ бесплатно 207235 - СтудИзба

1 лайк

вместо штрафа 0.8 к количеству очков, по аналогии 0.7 за лив, они написали -20%
выглядит так, что вместо перемножения, используют вычитание

1 лайк

Просто так совпало
1 * 0.8=0.8
2 * 0.8=1.6
4 * 0.8=3.2

Вы понимаете, что наука и образование - способ постоянного зомбирования землян?
Мне удалось объеденить так называемые счёт, физику, химию и остальные науки в единую систему знаний, которая не поддаётся вашей лженауке. Во первых свет это не луч и скорость его равна нулю. Вы понимаете что эти все бустеры выдумали учёные чтобы нас обманывать? Ваши формулы абсолютно неверны и их вам толдычили чтобы нас с вами регулярно обманывать. Короче единственный нормальный инструмент для подсчёта бустеров - это абак. Самой лучшей его версией были счёты русов. Вот и на основе вычислений на счётах вам и следует писать эту тему. Не нужно далее поощрять лженауку
fgh

1 лайк

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

какой то бред если честно.
реализована следующая функция
f(x,y) : {(x, y) \in \R^n \times \R^m | sum(y_j) <= 100} → \R_+
(x, y) → (1 + \sum(x_i) / 100) * (1 - \sum(y_j) / 100)
сопоставляющая столбцам из бонусов и штрафов коэффициент на который умножается заработанный опыт.
именно такое объяснение дал @JestersTM .

линейная ли это функция хоть по какому нибудь из аргументов? конечно нет.
положим x = (100); y = (0)
f(x, y) = (1 + 1) * 1 = 2
f(2x, y) = (1 + 2) * 1 = 3
2 f(x, y) != f(2x, y)
аналогично получаем контрпример для второго аргумента.
про мультипликативность вообще речи не идет.

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

а вот тут вообще весело.

линейность и аддитивность вообще не исчерпывают друг друга.
но смешно не это!

штрафы точно так же складываются, но бамоновская модель тут работает как то иначе, аддитивная модель неприменима!

это фарш господа! зато сколько слов сказано!

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