пятница, 21 декабря 2007 г.

Про скорость оружия для охотников

Или о том, что лучше - вчера, но по 3 или сегодня, но по 5

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

оружка с 2.1 спд и 5 дпс -- во сколько раз лучше оружки с 0.5 спд и 210 дпс ?

на что был получен вот какой ответ от Tarioll'a
Ну поскольку это чисто абстрактный вопрос, то расчеты будут приблизительные. Берем хантера с 2000РАП.
Дамаг Стэди 564 и 1138 соотвественно.
следовательно ДПС от первого - примерно 380 (банальный спам Стэди)
от второго - примерно 760 (опять же банальный спам Стэди)
(цикл Авто-Стэди-Авто-Стэди .... дает 622 ДПС, именно за счет того что Автошот дамагает на 105 и стреляется 0,5 секунды. ну и на)
Вот и получилось, что первый лук хаже второго ровно в 2 раза.
А глядя на ДПС и не скажешь, правда?


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

Родилась идея вывести некоторую зависимость, "0.1 wnp spd = XX weapon dps".
Для любого оружия мы можем пользовать три типа "дпс-циклов":
  • Aвто-Авто-Авто. ДПС этого цикла равен просто ДПС оружия
  • Стеди-Стеди-Стеди. ДПС этого цикла равен SteadyDmg / 1.5
  • Авто-Стеди-Авто-Стеди. Дпс этого цикла равен (SteadyDmg + wpnDmg) / max(2, WeaponSpd)
или, в виде формул:

Где d - ДПС оружия (+ пуль/стрел -- дальше эти сумма этих двух значений используется как одно целое),
s - скорость оружия (базовая величина без учета haste-эффектов)
P - ranged attack power
S (d,s) -- величина урона steady shot

Для построения графиков использовал Scilab (бесплатно!). Про сам пакет поговорим когда-нибудь отдельно, пока же было быстренько составлено простейшее программко и запущено на отрисовку. В результате получаем три поверхности (во всех графиках, представленных ниже предполагается, что RAP=2000):



они же, на одном графике для сравнения (у S и AS поверхностей клетки одинакового цвета имеют одинаковое значение ДПСа):

Итак, что нам дают эти графики.
  1. Заметен характерный излом AS поверхности в районе 2 сек (идеальная скорость).
  2. Видно, что при скоростях близких к 2.8 и выше (зависит от ДПС оружия -- чем больше дпс -- тем больше скорость перехода), AS-ротация начинает уступать по проиизводительности S-ротации, причём при больших скоростях оружия -- весьма существенно.
  3. Третье (и возможно, самое важное :) ) -- заметьте, что снижение ДПС при увеличении скорости оружия идёт гораздо быстрее, чем при уменьшении (относительно "идеальной скорости"). На следующем рисунке это показано более наглядно:

непрерывная линия -- AS-ротация,
пунктирная - S-ротация
жёлтый цвет - 70 дпс
тёмно-синий - 90дпс
светло-синий - 120 дпс
зелёный - 140 дпс

Таким образом, приходим к следующему выводу:
При AS-цикле лучше немного задержать автоатаку, чем ждать её ничего не делая (или иными словами -- "более быстрое чем идеально оружие лучше более медленного чем идеальное"), вплоть до полного отказа от автоатаки при скоростях оружия, очень близких к 3.0

Чтобы узнать, какое оружие обеспечит нам необходимый ДПС, надо построить горизонтальную поверхность (Z = const) и всё что будет выше этой поверхности -- и даёт нам необходимые параметры оружия.

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

тоже самое, "вид сверху" для удобства.

Области одного цвета определяют одинаковое значение ДПСа , т.е. например, одинаковый ДПС будет в точках у оружий с [2.0 spd 90 dps], [2.2 spd 100 dps] и [2.4 spd 120 dps]. А вот оружие с [2.0 spd 120 dps] даст бОльшую производительность, чем [2.5 spd 130 dps].

В этой статье был рассмотрен только простейший цикл Auto-Steady, к тому же без учёта haste-эффектов.

В следующих статьях мы посмотрим, на другие циклы ДПСа, а так же выясним, насколько важен для хантера такой параметр как haste.