Калькулятор DPS (урон в секунду)
Что такое калькулятор DPS?
DPS расшифровывается как damage per second — урон в секунду: то самое единственное число, которым игроки сравнивают оружие, сборки и ротации способностей в ролевых играх, шутерах, MMO и рогаликах. Оружие, которое бьёт сильно, но медленно, легко проигрывает более слабому, но вдвое более быстрому, а огромный множитель крита стоит немного, если криты почти никогда не срабатывают. DPS сворачивает все эти факторы в одну цифру, и сравнение превращается из спора в простую арифметическую задачу.
Этот калькулятор намеренно не привязан ни к одной игре. В нём нет ни таблиц оружия, ни данных классов, ни чисел из какой-либо конкретной игры — вы вводите характеристики, которые показывает ваша собственная игра, а калькулятор усредняет их. Значит, он одинаково пригодится и для сборки, посчитанной в таблице для MMO, и для песочницы с модами, и для прикидки урона за настольной игрой, и для игры, которую вы разрабатываете сами.
Как работает калькулятор?
Вы задаёте до пяти характеристик и получаете три результата.
Исходные данные:
- Средний урон за удар — урон обычного, некритического удара. Если у оружия разброс урона, возьмите середину диапазона.
- Атак в секунду — сколько раз в секунду оружие попадает по цели. Если ваша игра вместо этого показывает интервал атаки (скажем, один взмах каждые 0,8 секунды), возьмите обратную величину: атаки в секунду.
- Шанс критического удара — доля ударов, которые становятся критическими, в процентах. По умолчанию 0 %.
- Множитель урона крита — во сколько раз крит сильнее обычного удара. Значение 2 означает двойной урон. По умолчанию 2.
- Точность (шанс попадания) — доля попыток атаки, которые действительно попадают, в процентах. По умолчанию 100 %, то есть промахов нет.
Результаты:
- Средний урон за удар (с критами) — сколько в среднем наносит попавший удар, если учесть криты.
- Эффективный урон за удар — та же величина после учёта промахов. Это урон за попытку атаки, а не за попавший удар.
- DPS — эффективный урон, умноженный на темп атаки.
Всё, что выдаёт калькулятор, — это средние значения на длинной дистанции. Каждый отдельный взмах либо критует, либо нет, либо попадает, либо мажет; математика описывает то, что происходит на протяжении многих атак, а именно это и важно, когда вы выбираете между двумя видами оружия.
Формулы
Обозначим базовый урон обычного удара через , шанс крита в процентах — через , множитель урона крита — через , точность в процентах — через , а число атак в секунду — через .
Критический удар наносит в раз больше обычного, то есть добавляет урон, равный дополнительным ударам, — но только на той доле ударов, которые действительно критуют. Усреднив эту прибавку по всем ударам, получаем:
Промахи не наносят ничего, поэтому умножение на точность даёт урон за одну попытку атаки:
А умножение на темп атаки превращает урон за атаку в урон в секунду:
Всё вместе укладывается в одно выражение:
Обратите внимание, что делает критический член в крайних случаях. При скобка схлопывается в 1, и множитель перестаёт что-либо значить: гигантский множитель крита на оружии, которое никогда не критует, не стоит ровным счётом ничего. При скобка становится равной , потому что критует каждый удар.
Примеры расчёта
Пример 1 — шанс крита 25 % при двойном уроне
Оружие наносит 100 урона за удар, бьёт 2 раза в секунду, критует в 25 % случаев с множителем 2× и никогда не промахивается (точность 100 %).
То есть криты здесь дают ровно 25 % прибавки к урону, и оружие выдаёт 250 DPS.
Пример 2 — то же оружие вообще без критов
Оставим всё как есть, но опустим шанс крита до 0 %:
Теперь оружие даёт 200 DPS. Сравнение с примером 1 — самый чистый способ оценить стоимость критовой характеристики: те 25 процентных пунктов шанса крита покупали 50 DPS.
Пример 3 — добавляем 10 % промахов
Возвращаемся к сборке с 25 % крита, но теперь попадают лишь 90 % атак:
Точность масштабирует всё линейно, поэтому потеря 10 % атак стоит ровно 10 % DPS: 225 DPS вместо 250. Заметьте, что средний урон попавшего удара не изменился и остался равным 125 — точность никогда не меняет силу удара, только частоту попаданий.
Пример 4 — более медленное и тяжёлое оружие
Двуручное оружие наносит 250 урона за удар, но атакует лишь 1,5 раза в секунду. Оно критует в 40 % случаев с множителем 2,5×, а его точность — 95 %.
570 DPS — уверенно впереди быстрого оружия из примера 1, хотя оно бьёт реже: его урон за удар и критовые характеристики намного выше.
Практические замечания
- Скорость атаки против интервала атаки. Игры указывают это и так, и так. Если ваша сообщает секунды между атаками, переверните значение перед вводом: интервал 0,5 секунды — это 2 атаки в секунду.
- Диапазон урона. Если оружие выдаёт случайное значение между минимумом и максимумом, введите среднее этих двух чисел. На достаточно длинной серии ударов вы получаете именно середину.
- Шанс крита и множитель крита не взаимозаменяемы. Их вклад — это произведение , поэтому та из двух характеристик, что сейчас меньше, обычно даёт больше DPS за вложенное очко. Если ваш множитель крита равен 2 (то есть — всего 1), выгоднее обычно наращивать множитель; если же криты почти не случаются — шанс.
- Что калькулятор намеренно не учитывает. Периодический урон, снижение урона бронёй и сопротивлениями, баффы с ограниченным временем действия, перезарядки, время перезарядки оружия и замаха, урон по площади сразу по нескольким целям, ротации способностей. Всё это зависит от конкретной игры, и каждый пункт потребовал бы правил, которые калькулятор не берёт на себя. Если в вашей игре есть перезарядка или замах, честный обходной путь — делить настоящее число атак в секунду на полное время цикла (включая простой), а не только на активное окно.
- Постоянный урон против всплеска. Поскольку DPS — среднее, он описывает устойчивую отдачу. Взрывное оружие, которое выдаёт урон сразу, может выиграть короткий бой, который «должно» проиграть по DPS.
- Проценты остаются процентами. Вводите шанс крита и точность целыми числами из 100 (25, а не 0,25). Если нужно перевести одну форму в другую, это сделает калькулятор процентов.
Часто задаваемые вопросы
Почему шанс крита 0 % — это корректное значение?
Потому что множество видов оружия и сборок в принципе не умеют критовать, и DPS для них прекрасно определён: критический член просто исчезает, и DPS становится равен «урон × точность × скорость атаки». Нулевой шанс крита — это настоящий ответ, а не пропущенное значение, поэтому калькулятор считает с ним, а не оставляет результат пустым.
Чем «средний урон за удар» отличается от «эффективного урона за удар»?
Средний урон за удар — это то, что наносит удар, когда он попал, с уже подмешанными критами. Эффективный урон за удар — это средняя ценность одной попытки атаки, поэтому он несёт ещё и цену ваших промахов. При точности 100 % обе величины совпадают; ниже — эффективная оказывается меньше.
Всегда ли больший множитель крита означает больше DPS?
Только если вы действительно критуете. Вклад крита — это шанс крита, умноженный на , поэтому множитель 3× в сборке с нулевым шансом крита не даёт вообще ничего. Критовые сборки работают лишь тогда, когда обе характеристики растут вместе.
Можно ли использовать это для игры, которую я разрабатываю?
Да, и это хорошее применение. Поскольку калькулятор не содержит данных конкретной игры, он работает как проверка баланса на здравый смысл: подставьте характеристики, которые вы рассматриваете для двух видов оружия, и посмотрите, попадают ли их DPS туда, куда вы задумывали. Тем, кто делает похожие прикидки «на салфетке» для песочниц, может пригодиться и калькулятор круга в Minecraft.