Решили: бенч забега гоняет каждый строй несколькими составами (вариант k берёт k-ю реликвию
каждой роли), а рядом со средним печатает разброс отдельной таблицей run_roster.
Почему: одна четвёрка отвечает на вопрос «каково ЭТИМ ЧЕТВЕРЫМ», а выводы из неё делаются про роли и про строй. Разница между строями тогда может целиком объясняться китами — и никак это не отличить, пока состав один.
Грабли — вывод, который я успела записать как факт. Первый замер лестницы дал «отряд под квест проходит акт вдвое дешевле штатного», и это звучало как готовая проблема дизайна: цена квеста отрицательная, испытание брать выгодно. Срез по четырём составам показал другое:
| Строй | Смертей на бой по составам | Среднее |
|---|---|---|
| Штатный | 0.62 · 1.03 · 1.47 · 2.22 | 1.34 |
| «Только ближники» | 0.57 · 0.57 · 1.45 · 1.48 | 1.02 |
Разброс внутри строя (1.6) больше разницы между строями (0.32). Исходный вывод держался на том, что составу ближников достались сильные киты, а штатному в третьем варианте — трешевые.
Второе, что видно только на срезе: варианты набираются из того, что осталось, поэтому дальние номера состоят из Треша — то есть срез мешает тиры реликвий, и сравнивать роли по нему можно только внутри одного тира. Это следующая правка бенча, а не готовый инструмент.
Что при этом подтвердилось на всех составах: цена боя 36-68% HP против цели 25-30%. Число, которое НЕ зависит от состава, — единственное, на которое можно опираться после одного прогона.
Владелец правды: RunBench.PickHeroes (вариант), RunBench.WriteRosterSpread,
docs/balance-issues.md BAL-029.