ОбщийПорядок применения эффектов (advanced)

Вернуться к списку темОтветить в теме Страницы:   12   

Автор Сообщение
Вначале вкратце расскажу, как устроен бой.

У игрока есть показатели силы, ловкости, выносливости, минимального и максимального урона, защиты, крита и уворота, мастерства и устойчивости (не будем пока про стихии).

Перед каждым разменом ударами игра рассчитывает, какой урон нанесут друг другу все стороны размена. Для этого игра применяет эффекты.

Под эффектом здесь и далее будем понимать воздействие баффа или таланта или способности (с точки зрения игры они все просто "сдают" свои эффекты и ничем не отличаются друг от друга).

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

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

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

Давайте разберем пример. В размене участвуют Антон и Надя. У Антона есть талант, дающий бафф "уворот плюс 30%" и он воспользовался способностью "Соперник наносит вам только половину урона в этот размен". У Нади есть бафф от оружия "плюс 15% урона".

На самом деле с точки зрения движка игры описанные эффекты выглядят так:
У Антона:
"-100" : "мой_уворот = мой_уворот * 1.3"
"50" : "урон_соперника = урон_соперника / 2"
У Нади:
"60" : "мой_урон = мой_урон * 1.15"

Как игра рассчитывает бой? Очень просто! Так же, как и ты, глупышка. Она применяет к имеющимся у нее данным все эффекты по порядку по их "номерам" на "временной шкале". Поэтому сначала она увеличит шанс уворота Антона в момент "-100". Дойдя до отметки "0", игра рассчитает урон и шанс увернуться. Затем игра "порежет" урон Нади вдвое, а только затем полученный результат увеличит на 15%. Ну и когда все расчеты окончены, произойдет размен.

И тут начинается самое интересное. Как уже догадались внимательные читатели, все это я написал, чтобы показать: если бы у способности Антона была временная метка не 50, а 70, то сначала сработала бы способность Нади, увеличив ее урон на 15%, а только затем способность Антона, что дало бы другое значение итогового урона.

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

Рассуждения о том, в каком порядке должны работать эффекты.
Какая тут логика? Если из "духа" эффекта примерно понятно, когда она должна применяться, он тогда и должен применяться. Например "уменьшает базовый урон вдвое" должен примениться сразу после расчета урона, чтобы именно воздействовать на "базу", раньше всех.

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

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

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

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

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

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

Также я надеюсь отметить усилия тех, кто поможет в этой работе, например Лаббитами.
Leo20: p.s. кто осилил тот крут!
И здесь же предлагаю сообщать об эффектах, которые стакаются или не стакаются, хотя вам кажется, что это неправильно.
Стакаются два вида кровотечения (обычное и из талантов пути тигра), хоть в понимании выглядит это довольно странно.
Так же у обычного кровотечения механика абсолютна иная вотличи
В отличии от прокаченного талантом(при повторном нажатии обычного кровотечения) дебафф падает с врага и кровотек наносит урон*2
У выкаченного в таланте тигра(при повторном нажатии) дебафф на противнике просто обновляется, а не сбрасывается
По-разному(если память не подводит) кровотечения работают так же в механиках исцеления, в частности "Жака" и его "банки".
И тут начинается самое интересное. Как уже догадались внимательные читатели, все это я написал, чтобы показать: если бы у способности Антона была временная метка не 50, а 70, то сначала сработала бы способность Нади, увеличив ее урон на 15%, а только затем способность Антона, что дало бы другое значение итогового урона.

применение процентов(ака множителей) коммутативно.
"Раскол брони" и "Тотальный раскол брони" не продлеваются если наложить их когда на противнике уже висит этот дебафф.

Хотелось бы чтоб эффект "обновлялся" при каждом применении.
Огромное спасибо за такой детальный пост! Теперь всё встало на свои места.
TL;DR
1. Прошу способность "рывок" привести в соответствие с описанием и установить ей временную метку равную текущему значению временной метки МКВ или УСУ.
2. С целью устранения дисбаланса, а именно того, что путь тигра вчистую проигрывает пути слона, прошу способности "доминация" установить временную метку равную текущему значению временной метки МКВ или УСУ.
Описание при этом заменить на "наносит дополнительный урон"
3. С целью уравнивания возможностей легендарных баффов, прошу баффам Баньши и Блейда (если последний, не возражает, конечно) установить временную метку равную текущему значению временной метки баффа Делен.

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

Другая механика это, в терминах описаний, "дополнительный урон". Он делает то, что и подсказывает здравый смысл - наносит дополнительный урон. Очень чётко видно по боссу в пещере на пляже, который вешает себе "Over 9000" защиты. Простой удар (и увеличивающий базовый урон тоже) по нему 0, а МКВ, например, согласно формулы из описания, может быть в пределах 350.

Особняком стоят баффы легендарных предметов. Они наносят физический урон даже при увороте противника.

В общем, порядок применения примерно следующий.

1. Базовый урон
2. Способности, увеличивающие базовый урон
- "жестокость"
- эффект настоев силы
- "доминация" (согласно описанию)
- "рывок" (противоречит описанию).
- "удар щитом" (дополнительно устанавливает уворот противника в 0)
3. Защита/устойчивость
4. Способности, наносящие дополнительный урон
- УСУ
- МКВ
- смертоносный удар
- последний шанс
- реванш (противоречит описанию) Тут я не 100% уверен, но по ощущению так, по логике вещей он тут и должен быть.

5. Уворот
6. Легендарный бафф Делен
7. Эффекты от "насилия" и "ярости" (таланты пути тигра)
8. Легендарный бафф Баньши, предположительно легендарный бафф Блейда
9. %урона в ПВП, % защиты в ПВП, %урона
10. Таланты МЖПСО, мобов в пещере на пыльном и т. д.

Из этой таблицы видно, что самые сильные эффекты находятся где-то в районе 4-8. При чем, в данный момент, для эффекта выгоднее иметь временную метку ближе к баффу Делен, чем к баффу Баньши, потому что он будет масштабироваться эффектом "насилия", которое вы или ваш союзник на себя повесите.

Также вполне понятно, что эффекты, увеличивающие базовый урон, при текущем положении дел на хай-лвл бесполезны. Взять тот же "рывок". От базового урона 1000-1500 до противника "доходит" в лучшем случае 200 и тратить яру, заряд, ждать условий для того, чтобы увеличить это число на 30-40 просто бессмысленно, если лоу-левельный МКВ нанесет +200-350 урона при крите/увороте. А вот если бы "рывок" соответствовал описанию, он бы нанес примерно в 1.5 раза больше урона, чем МКВ, но с КД и другими условиями. По-моему, это справедливо.

Как мне кажется, будущее талантов "базового урона" зависит от позиции Администрации: планируется ли активное использование их хаями или нет. Если да, то одной из идей было бы те способности, которые увеличивают базовый урон сделать зависящими от общих показателей силы, ловкости или выносливости. Но это, мне кажется, тема для отдельного топика.

Спасибо еще раз за внимание к этой теме!
Captain Bot20 писала:

И тут начинается самое интересное. Как уже догадались внимательные читатели, все это я написал, чтобы показать: если бы у способности Антона была временная метка не 50, а 70, то сначала сработала бы способность Нади, увеличив ее урон на 15%, а только затем способность Антона, что дало бы другое значение итогового урона.

применение процентов(ака множителей) коммутативно.

комутативно? это ты предлагаешь мне переписать движок игры чтобы оно было комутативно или утверждаешь это? если утверждаешь, то это может быть верно только для некоторых способностей, но 100% не для всех.
Баньши20 писала:

Спасибо еще раз за внимание к этой теме!

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

Тут я скорее указывал на то что пример не самый удачный подобран был =)

(a/2)*1.15 == (a*1.15)/2

а вот было бы + и * тогда действительно, перемена мест играла бы роль.

(a*b) + c != (a+c)*b
Но мне кажется вы не поняли что я имею в виду под "базовым уроном".

Как я понимаю, "базовый урон" - это урон персонажа до всех вычетов/мультипликаторов, он указывается в окошке персонажа в графе "урон". Вот у меня он 669-1107, именно столько (если пренебречь показателем "бонус к урону") я нанесу простым некритовым ударом по мобу с защитой и устойчивостью 0, не использующему никаких способностей.

Если я использую способность, увеличивающую базовый урон (из пункта "2" в моём списке), то этот урон будет увеличен, согласно описанию. Протестировано много раз и сходится как минимум для настоев силы и удара щитом.

После этого, цифры пропускаются через устойчивость и защиту (пункт "3"). Если у меня урон по какому-то мобу 0 из-за его высокой защиты, то с желтой лицой (из пункта "2") я могу нанести чуть больше урона, а не 0*2=0, как было бы, если бы эффект желтой лицы применялся после защиты/устойчивости.

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

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

Тут я скорее указывал на то что пример не самый удачный подобран был =)

(a/2)*1.15 == (a*1.15)/2

а вот было бы + и * тогда действительно, перемена мест играла бы роль.

(a*b) + c != (a+c)*b

хм. там есть и такие эффекты тоже. но вроде как из твоей логики реально следует что надо просто положить все аддитивные например в диапазон 0-500 а мультипликативные дальше - и все решится?
хм. там есть и такие эффекты тоже. но вроде как из твоей логики реально следует что надо просто положить все аддитивные например в диапазон 0-500 а мультипликативные дальше - и все решится?

если сложить всё вместе - пропадет фишка "крутости"
если так сделать внутри своей группы - будет ништяг.


Я себе представляю это как-то так:

1)базовый урон
2)прибавка урона к базовому от скиллов("редкие")
3)банки и эффекты на банки
4)дебаффы на броню/урон
5)просчет защиты/устойчивости
6)дополнительный урон от скиллов ("эпические")
7)блок/уворот
8)легендарные баффы/скиллы
9)пвп модификаторы


Сейчас оно примерно так и выглядит, для меня.
Но часть скиллов незаслуженно лежат в разделе "+ к базовому".

Как уже писал Баня, класть тир 6-7 скилл к базовым - это плохо, так как он требует больших ресурсов, но режется всем подряд и выхлопа от него никакого.
Captain Bot20 писала:

хм. там есть и такие эффекты тоже. но вроде как из твоей логики реально следует что надо просто положить все аддитивные например в диапазон 0-500 а мультипликативные дальше - и все решится?

если сложить всё вместе - пропадет фишка "крутости"
если так сделать внутри своей группы - будет ништяг.


Я себе представляю это как-то так:

1)базовый урон
2)прибавка урона к базовому от скиллов("редкие")
3)банки и эффекты на банки
4)дебаффы на броню/урон
5)просчет защиты/устойчивости
6)дополнительный урон от скиллов ("эпические")
7)блок/уворот
8)легендарные баффы/скиллы
9)пвп модификаторы


Сейчас оно примерно так и выглядит, для меня.
Но часть скиллов незаслуженно лежат в разделе "+ к базовому".

Как уже писал Баня, класть тир 6-7 скилл к базовым - это плохо, так как он требует больших ресурсов, но режется всем подряд и выхлопа от него никакого.

мне с ходу такая модель супер нравится. давайте от нее и отталкиваться. что куда переложить из 1) частого 2) талантов?

Вернуться к списку темОтветить в теме Страницы:   12   

Войдите в игру, чтобы общаться на форуме.