Эта информация админам известна, но от них, как и полагается в нормальных спецслужбах, никаких комментариев не последовало.
По косвенным данным, нижеприведённые превосходства юнитов против друг друга очень близки к реальным. Поэтому всех прошу высказаться - насколько это соответствует реальным боям. Конечно, с учётом рандома на удар.
После введения новых юнитов всё это потеряет актуальность - придётся перебалансировать.
Всем желающим вышлю с
ssn1@ukr.net на мыло Excel - таблицу с коэффициентами и графиками. Коэффициенты полностью соответствуют "цветовым диапазонам" значений. Никакой "самодеятельности" не допущено, всё в пределах действующих правил. Предусмотрена возможность подстановки произвольных коэффициентов и наблюдение результата в графическом представлении, которое демонстрирует превосходство каждого юнита над остальными.
Итак.
Ставя перед собой задачу балансировки коэффициентов атак - уязвимостей, я придерживался давно заявленного принципа: не должно быть ни суперюнитов, ни юнитов - изгоев. Все юниты должны быть равновостребованы. "Все профессии важны, все профессии нужны".
Критерий оптимальности.
Ключевую роль в критерии оптимальности играет понятие "Превосходство". Поэтому раскрываю его подробно:
"Превосходство" или "Превосходство в боеспособности" есть отношение "полных" боеспособностей групп юнитов с абсолютно равными продовыми весами.
Отношение "полных" боеспособностей равно произведению отношений "индивидуальных" боеспособностей на отношение удельных базовых боеспособностей.
"Индивидуальная" боеспособность j-го юнита против i-го равна корню из суммы произведений коэффициентов атак j-го юнита на коэффициенты уязвимостей i-го юнита к соответствующей атаке j-го юнита.
Удельная базовая боеспособность равна отношению боеспособности юнита к его продовому весу.
Базовая боеспособность юнита равна корню из отношения произведения нападения, среднего удара и брони к (1-защита).
Имеющий превосходство юнит побеждает всегда (если без рандомного удара) или в среднем (если с рандомным ударом)
Равенство боеспособностей (превосходство равно единице) означает абсолютное равенство групп юнитов - они будут воевать бесконечное количество раундов.
Здесь и далее под превосходством юнитов понимается превосходство стеков с абсолютно равными продовыми весами.
Для удобства сравнения (сохранения его линейности) в таблице приведены отрицательные значения превосходства вместо обратной величины.
То есть, если гренадёр имеет превосходство над солдатом в 1,2 раза, то солдат имеет "обратное превосходство" над гренадёром в 1/1,2 = 0,83 раза. Он слабее гренадёра. Поэтому вводится замена на "-1,2 раза".
Киллер над жертвой имеет положительное превосходство и наоборот - жертва перед киллером имеет отрицательное превосходство.
"Физический смысл" превосходства: во сколько раз продовый вес жертвы надо увеличить, чтобы её боеспособность сравнялась с боеспособностью киллера.
Или наоборот: во сколько раз продовый вес киллера надо уменьшить, чтобы его боеспособность сравнялась с боеспособностью жертвы.
Подчёркиваю крайнюю важность отношения боеспособностей как меры сравнения юнитов друг с другом. Мне не известны другие параметры, которые бы так полно и линейно характеризовали бы взаимоотношения юнитов. Особенно через такую "осязаемую" характеристику, как продовый вес. Отношение боеспособностей непосредственно указывает на исход боя, а, значит, на соотношение сил юнитов.
Теперь, собственно, о критерии оптимальности.
В его основе лежит расширенный принцип "камень - ножницы - бумага".
Я его сформулировал так:
Во-первых, у каждого юнита количество киллеров должно быть равно количеству жертв.
Во-вторых, если юнит имеет такое-то превосходство над другим юнитом, то должен быть третий юнит, который бы имел точно такое же превосходство над первым.
Что произойдёт, если этот принцип не будет выполняться? А появятся суперюниты и юниты - изгои.
Например, если юнит будет иметь пятикратное превосходство над самой слабой из своих жертв, а самый сильный киллер для этого юнита будет иметь над ним превосходство всего в 1,1 раза - перед нами суперюнит. Именно ими и будут воевать.
Если наоборот - получится юнит-изгой, которого никто никогда не будет делать.
Конечно, абсолютно точное исполнение этого принципа для юнитов сделать невозможно. Количество стеков - чётное. Разность киллеры-жертвы никогда не будет нулевой. Но максимальное приближение к этому идеалу было достигнуто. У 23-х юнитов эта разность равна +-3, у остальных +-1. (Чемоданы, естественно, не учитывались).
Оптимизация
На основе критерия оптимальности была разработана целевая функция (минимум которой необходимо найти), а под неё - программа многомерной оптимизации.
Областью оптимизации являлся 721- мерный гиперкуб: 145 оптимизируемых коэффициентов атак и 576 – коэффициентов уязвимостей. По каждому измерению гиперкуб ограничивался интервалами допустимых значений коэффициентов.
Время оптимизации - более 12-ти часов при почти 100%-ой загрузке процессора P-IV 1,4 ГГц.
Моя уверенность в оптимальности коэффициентов атак - уязвимостей основана на том, что моя программа оптимизации в поиске наилучшей точки (набора коэффициентов) "пропахала" гиперкуб вдоль и поперёк. Все области этого гиперпространства были исследованы, более лучшей точки просто не существует.
Результат балансировки
Распределение юнитов со своими киллерами (самыми сильными) и жертвами (самыми слабыми) в порядке убывания превосходства.
__ Юнит ____________ Киллер ____________ Жертва
Ядозавр ________ Элементалист (-2,51) ___ Дредноут (+2,49)
Элементалист ____ Дредноут (-2,5) _______ Ядозавр (+2,51)
Дредноут ________Ядозавр (-2,49) _______ Элементалист (+2,5)
Камикадзе ______ Бридер (-1,998) _______ Чародей (+2,00)
Чародей ________ Камикадзе (-2,00) _____ Медиум (+1,989)
Бридер _________ Оракул (-1,999) _______ Камикадзе (+1,998)
Медиум _________ Чародей (-1,989) ______ Дредноут (+1,995)
Оракул _________ Иллюзионист (-1,981) __ Бридер (+1,999)
Иллюзионист _____ Ракетная уст (-1,959) __ Оракул (+1,981)
Ракетная уст ____ Оракул (-1,981) _______ Иллюзионист (+1,959)
Комбо __________ Дредноут (-1,995) ______ Снайпер (+1,982)
Снайпер ________ Комбо (-1,982) _________ Оракул (+1,966)
Эсминец ________ Гренадёр (-1,967) ______ Огр (+1,958)
Гренадёр _______ Огр (-1,949) ___________ Эсминец (+1,967)
Огр ____________ Эсминец (-1,958) _______ Гренадёр (+1,949)
Биотанк ________ Саранча (-1,934) _______ Стражник (+1,910)
Саранча ________ Элементалист (-1,909) __ Биотанк (+1,934)
Стражник _______ Биотанк (-1,910) _______ Гренадёр (+1,885)
Танк ___________ Дредноут (-1,885) ______ Солдат (+1,871)
Монах __________ Камикадзе (-1,873) _____ Дредноут (+1,854)
Солдат _________ Танк (-1,871) __________ Камикадзе (+1,855)
Менталист _______ Биотанк (-1,850) _______ Дредноут (+1,867)
Рыцарь _________ Анимист (-1,859) _______ Элементалист (+1,884)
Анимист _________ Иллюзионист (-1,830) ___ Рыцарь (+1,859)
Киборг __________ Дредноут (-1,838) ______ Дефендер (+1,834)
Дефендер _______ Киборг (-1,834) ________ Оракул (+1,819)
Червь ___________ Огр (-1,802) ___________ Гренадёр (+1,776)
Миномёт _________ Бридер (-1,799) ________ Огр (+1,811)
Крейсер _________ Ядозавр (-1,771) _______ Иллюзионист (+1,800)
Химера __________ Элементалист (-1,722) __ Червь (+1,740)
Фантазмист _______ Крейсер (-1,715) _______ Инфильтратор (+1,694)
Охранник ________ Миномёт (-1,703) _______ Снайпер (+1,686)
Инфильтратор ____ Фантазмист (-1,694) _____ Чародей (+1,674)
Мистик __________ Снайпер (-1,662) _______ Дредноут (+1,637)
Священник ______ Чародей (-1,654) _______ Менталист (+1,674)
Штурмовик _______ Рыцарь (-1,648) _______ Саранча (+1.673)
Патриарх ________ Камикадзе (-1,636) _____ Солдат (+1,658)
Берсерк _________ Рыцарь (-1,622) ________ Гренадёр (+1,652)
Тамплиер ________ Эсминец (-1,635) _______ Берсерк (+1,614)
Дрон ____________ Танк (-1,615) __________ Гренадёр (+1,633)
Ветеран _________ Берсерк (-1,596) _______ Камикадзе (+1,618)
Послушник _______ Ракетная уст (-1,603) ___ Мистик (+1,593)
Неофант _________ Монах (-1,526) _________ Менталист (+1,547)
Опустошитель _____ Оракул (-1,525) _______ Крейсер (+1,530)
Гладиатор ________ Рыцарь (-1,487) _______ Элементалист (+1,504)
Прелат ___________ Иллюзионист (-1,482) ___ Дредноут (+1,496)
Еретик ___________ Тамплиер (-1,379) ______ Элементалист (+1,395)
Монстр ___________ Крейсер (-1,314) _______ Чародей (+1,320)
_________________