AlexSpl писал(а):
Если напишите составы сражающихся армий, то я протестирую и составлю табличку.
Объявления |
---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: Герои 2 (разные версии) с плагинамиAlexSpl писал(а): Если напишите составы сражающихся армий, то я протестирую и составлю табличку. |
Re: Герои 2 (разные версии) с плагинамиМожно дать стандартному герою 1-го уровня без артефактов и модификаторов морали/удачи 5 родных отрядов 2-6 уровня фиксированной численности. Пусть это будет армия Волшебницы: 1 Феникс, 4 Единорога, 7 Старших Друидов, 15 Высоких Эльфов и 14 Боевых Гномов (примерно альфа 1 Феникса в каждом отряде). Для начала можно потестить бои против нейтралов. По-хорошему, нужно подобрать 5-10 нейтральных отрядов, обеспечивающих коэффициенты победы с равномерным шагом (например, 0.20, 0.30, ..., 0.80), но считать коэффициент победы точно вручную долго, а программ для подсчёта C[w] в Героях 2 у меня нет, поэтому можно просто от 5 альф Феникса (a) отталкиваться: например, 0.25a, 0.33a, 0.40a, 0.50a, 0.80a, 1.00a, 1.25a, 1.50a, 2.00a, 2.50a, 3.00a, 4.00a. И с каждым отрядом боёв 5 хотя бы (нерепрезентативно, желательно больше, но тут уж от свободного времени и желания тестировать зависит). Можно автоматизировать процесс, если совсем уж серьёзно подходить. Только вручную останется сразиться, без всяких трюков/разводов: просто игра среднего игрока, который уже не допускает ошибок в бою.
|
Re: Герои 2 (разные версии) с плагинамиЗавершил исследование. Таблицы можно посмотреть в приложенном файле (и при желании взять за основу для своих исследований):
Были проведены автобитвы с Мечниками, Птицами Рок и Друидами - численностью, соответствующей 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 Cw (коэффициента победы героя), по 3 автобитвы для каждого Cw с усреднением результатов (то есть потерь армии героя). Результаты в таблицах 3-7. Модификаторы героя (первичные навыки) были учтены, однако для существ (с обеих сторон) использовалась только Альфа-сила (базовые fight_value). Расчеты с использованием мю-поправки были произведены, однако исключительно для справки. Дополнительно проведены битвы и расчеты, показывающие неадекватность применения Мю-функций (табл. 16, 17). Так, проведены 3 автобитвы с Зомби-мутантами - армия героя выигрывает уже при Cw = 0.4 (92 Зомби-мутанта) и 3 автобитвы с Гоблинами - армия героя выигрывает уже при Cw = 0.2 (350 Гоблинов). Причина неадекватности результатов заключается в том что при расчете Cw использовались Мю-функции. Теперь вернемся к нормальным fight_value и нормальным результатам. Построены графики зависимости потерь армии героя в боях с нейтралами от Cw - можно сравнить результаты 1) автобоя, 2) оригинального теор. расчета, 3) нового теор. алгоритма ("new 1") - используются новые границы для dice (от 20 до 80) плюс сдвиги в значениях Cw 4) нового теор. алгоритма ("new 2") - используются новые границы для dice (от 20 до 80), но сдвиги не используются. Отдельные графики для Мечников, Птиц Рок и Друидов: Друиды оказались слабее, чем можно спрогнозировать на основе fight_values. При Cw = 0,5 армия героя выиграла все 3 автобитвы. Это можно объяснить завышенным fight_value для стрелков - в базовом fight_value используется "стратегическая ценность", которая у стрелков повышена, благодаря их важности при осадах - как при защите замка, так и при штурме. Для теор. расчета битв предлагаю использовать коэффициент 0.85 для стрелков к их Альфа-силе. Численность Друидов, необходимая для достижения нужных Cw, была перерасчитана, проведены дополнительные автобитвы (табл. 12, 13). Построен новый график для Друидов: Итогом приведем график для потерь, усредненных по боям с Мечниками, Птицами Рок, Друидами: Визуально можно сказать, что оба новых алгоритма теор. расчета лучше оригинального, однако алгоритм, который использует сдвиги Cw, дает неправдоподобно низкую величину потерь для высоких Cw (в районе 0,9) - 4% против 15% потерь, которые дает автобой. Нужно учитывать особую важность высоких значений Cw - ведь комп с большой вероятностью будет проводить битвы именно при высоких Cw. Кроме того, большие Cw соответствуют и большой армии - значит, каждый процент потерь соответствует большому количеству юнитов. Поэтому был предложен 3-й алгоритм расчета, который использует другие значения для сдвигов значений Cw: +0,02 если Cw >= 0.6 и Сw < 0.7 +0.04 если Cw >= 0.7 и Cw < 0.8 +0.02 если Cw >= 0.8 и Cw < 0.9 Игрового смысла в этих сдвигах никакого - чистая подгонка. Предполагаю, что и у Фила это была попытка чистой подгонки. Думаю, можно было бы обойтись без этих сдвигов, но это нужно работать То есть нужных результатов можно было бы достичь подборкой границ для dice плюс корректировкой основного алгоритма по потерям:
Сравнение автобоя и последнего (лучшего) алгоритма теор. расчета: Последний раз редактировалось Ben80 19 авг 2023, 18:14, всего редактировалось 3 раз(а).
|
Re: Герои 2 (разные версии) с плагинамиЧто меня дополнительно заинтересовало ? - Нетривиальность зависимости потерь от Cw. В смысле, реальной зависимости потерь - по данным автобоя (уверен, что при ручных битвах все эти нюансы сохранятся). Если двигаться от Cw = 0.5 в сторону больших значений Cw, то сначала при увеличении Cw потери резко падают, затем примерно в районе Cw = 0.8 увеличение Cw перестает существенно снижать потери (это как бы одна точка перегиба), ну а далее уже где-то в районе Cw = 0.95 потери резко падают до нуля (это как бы еще одна точка перегиба). Видимо, Фил и пытался это отразить в своем алгоритме:
|
Re: Герои 2 (разные версии) с плагинамиОтличная работа, но третий алгоритм нужно немного подкорректировать на участке C[w] от 0.2 до 0.6, ибо автобитва на этом участке даёт заведомо большие потери, причём расхождение довольно значимое (особенно на отрезке 0.4 .. 0.6).
|
Re: Герои 2 (разные версии) с плагинамиAlexSpl писал(а): Разница налицо, однако, может быть и не стоит тут ничего менять - во-первых это битвы когда защищающийся сильнее, следовательно, они очень редки. Во-вторых, в процентном соотношении также разница может быть приемлема (но визуально конечно да - бросается в глаза). Ну и как уже говорил должно быть соответствие между прогнозом ИИ перед боем и результатами боя. Для прогноза используется вот такая функция (в philAI_ProbableOutcomeOfBattle), которая как уже говорил дает лишь 75% потерь при Cw = 0.5:
|
Re: Герои 2 (разные версии) с плагинамиЦитата: Да нужно уравнять прогноз и теоретическую битву просто. По вычислениям даже ненакладно будет. |
Re: Герои 2 (разные версии) с плагинамиAlexSpl писал(а): Там вся суть в том, что в реальной битве должен быть сделан dice. Можно, конечно в прогнозе усреднить результаты по разным возможным значениям dice. Как собственно я и делал. Это возможно, да. |
Re: Герои 2 (разные версии) с плагинамиЦитата: Можно взять QuickBattle() без имплементации потерь. Т.е. лоухук на вот этот код:
И вызов "обрезанной" QuickBattle() для определения probablePreciseCasualtiesA, probablePreciseCasualtiesD. Это уравняет потери, которые ожидает получить AI и те, которые он получит. Цитата: Можно усреднять, конечно. А можно использовать последний бросок (dice) прогноза (где-то его хранить, в QuickBattle не делать новый, а просто доставать сохранённый). Кстати, это ещё сымитирует сомнения (нападать/не нападать) реального игрока. Последний раз редактировалось AlexSpl 19 авг 2023, 10:33, всего редактировалось 1 раз.
|
Re: Герои 2 (разные версии) с плагинамиВ общем, можно подумать. Но главное в том, чтобы было соответствие прогноза и МО реальных потерь. Но ! Реальные потери будут отличаться от МО потерь - dice должен влиять и давать разницу между прогнозом и реальным исходом.
|
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1