Среда, 26.04.2017, 08:55
Conquest: Frontier Wars
Главная | Эффективность юнитов - Страница 2 - Форум | Мой профиль | Выход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 2«12
Модератор форума: AllGrey 
Форум » Conquest » Conquest 2 - Frontier Wars Forever ™ » Эффективность юнитов (Методика анализа баланса по R_3 (камень-ножницы-бумага))
Эффективность юнитов
AllGreyДата: Четверг, 14.03.2013, 21:41 | Сообщение # 11
Генералиссимус
Группа: Администраторы
Сообщений: 324
Репутация: 11
Статус: Offline
R_3, хочу сразу оговориться, что то что я буду писать ниже ты не воспринимал как критику твоего метода, я просто хочу разобраться, уточнить некоторые нюансы, а также если это возможно где то немного облегчить этот процесс, ну об этом чуть позже.
По поводу условной стоимости - я согласен что свести во едино изначально не предоставляется возможным, да и не нужно, сначала надо по крайней мере преобразовать все но по отдельности в какую то относительную единицу (константу) и суммировать константы не обязательно, можно как ты сказал создать несколько табличек. Также превращать собираемые ресурсы в условное время тоже нет смысла, поскольку ресурсы фактор не постоянный в этой игре, многое зависит как игра сгенерирует карту, а также на сколько систем будет происходить игра. Поэтому надо просто преобразовать стоимости в константы, а поскольку я с математикой не очень дружу (туго соображаю) я и спрашивал как это сделать какую формулу применить. Время строительства юнитов также нужно преобразовать в константу. Так же надо просчитать коэффициенты на стоимость и время для кораблей которые строятся в разных верфях и для того чтоб их можно было строить они требуют те и ли иные постройки, это тоже очень важный фактор, к примеру чтоб построить Корвет нужна лишь Малая верфь, а для возможности строить Дредноут нужно построить Лаб Корпусов, Крупную верфь и АБС Лаб (это в моем моде), а на все это нужно дополнительное время и ресурс.

 
Цитата (R_3)
Да, я совсем забыл написать, что там, где урон, надо учесть и маневренность.

Да, маневренность тоже не мало важный фактор, сюда так же можно отнести и такие показатели как точность попадания который увеличивается в зависимости от опыта корабля (в моде я задействовал это) и время необходимое на наведение пушек (Дредноут, Линкоры Штурмовики и т.п.) или разворот кораблей. Но все эти параметры очень относительны, то есть не имеют ярко выраженных чисел в базе данных которые можно применить в расчётах, а зачастую еще и присущие только определённым юнитам. Грубо говоря такие данные нужно будет высасывать из пальца, то есть создавать эти числа делая практические опыты. К примеру для подгонки параметра точности попаданий я делил корабли на разные типы (пушки на башнях с снарядами, снарядные без башень, лазерные, ракетные и т.д.) потом делал опыты, гонял туда сюда быстрый корабль к примеру Корвет и стрелял по нему поочерёдно юнитами разных типов, до тех пор пока они его не убют, при этом считал количество раз попаданий и промахов, потом анализировал и делал соответствующие корректировки и так по несколько раз пока не добивался необходимого результата. Я все это к тому, что для этих параметров нужно все таки создавать отдельную таблицу и формулу поскольку они будут очень сложны в расчетах, или просто пренебречь ими вовсе.

 
Продолжение следует...


 
R_3Дата: Четверг, 14.03.2013, 21:41 | Сообщение # 12
Контр-Адмирал
Группа: Друзья
Сообщений: 22
Репутация: 1
Статус: Offline
Это все выражается в точных числах. Просто надо добавить в формулу. даже если где-то случайный процесс - можно посчитать математическое ожидание. Для статистики это будет верно. Тактическая ситуация, разумеется, накладывает вариативность, но он, тем не менее, дает уже довольно объективную картину именно того, какие юниты эффективны против каких. Дальность стрельбы позволяет начать стрелять немножко раньше, время на поворот пушек наоборот позже, и т.д. об этом всем я буду говорить ниже. Однако на данном этапе этим можно пренебречь.

Напомню, наша цель не создать способ аналитически и максимально точно предсказать ход битвы, а сделать несколько грубых срезов баланса в разных плоскостях, чтобы иметь возможность оценивать его общие контуры численно, а не на глазок.


Сообщение отредактировал R_3 - Понедельник, 21.01.2013, 22:37
 
AllGreyДата: Четверг, 14.03.2013, 21:41 | Сообщение # 13
Генералиссимус
Группа: Администраторы
Сообщений: 324
Репутация: 11
Статус: Offline
Все верно, согласен, но я бы ещё хотел уточнить по поводу стоимости Са и Сб, теоретически ты расписал понятно, но каким образом их получить, формулы то нету, а иначе разве что придётся просчитывать все несколько раз, один раз руда+газ, другой экипаж, третий время строительства.

Теперь по по поводу формулы Каб = (Сб*корень(Уа*(За/(1-Ша)))/(Са*корень(Уб*(Зб/(1-Шб))).
Насколько я понял, формулы корень(Уа*(За/(1-Ша))) и корень(Уб*(Зб/(1-Шб))) определяют силу юнитов А и Б, иначе говоря мощность Ма и Мб.

Проведем небольшой расчет, к примеру;
Ма=корень(Уа*(За/(1-Ша))) Корвет против Тяжёлой брони Ма = корень(8*(100/(1-0.35))) = 35
Мб=корень(Уб*(Зб/(1-Шб))) Линкор против Лёгкой брони Мб = корень(15*(1000/(1-0.2))) = 137

Далее чтоб немного упростить расчёт я пока не буду принимать во внимание стоимость юнитов в руде газе и экипаже, а сделаю анализ только со временем Ва и Вб затраченное на их строительство.
Итак твою формулу с условной стоимостью Каб = (Сб*корень(Уа*(За/(1-Ша)))/(Са*корень(Уб*(Зб/(1-Шб))) преобразуем в формулы со стоимостью только по времени затраченное на строительство самих юнитов;

Каб = (Вб*корень(Уа*(За/(1-Ша))) / (Ва*корень(Уб*(Зб/(1-Шб))) = (Вб*Ма)/(Ва*Мб) и
Кба = (Ва*корень(Уб*(Зб/(1-Шб))) / (Вб*корень(Уа*(За/(1-Ша))) = (Ва*Мб)/(Вб*Ма)

И так
Каб = (80*35) / (20*137) = 1.02 (результат округлён) и
Кба = (20*137) / (80*35) = 0.98 (результат округлён)

Хмм... результат к удивлению получился не плохой, но все же есть разница. Не могу сообразить кто здесь лидер, совсем запутался. Каб это Корвет против Линкора, а Кба это Линкор против Корвета?
Конечно здесь не учтён фактор времени строительства Лаб Корпусов и Крупной верфи для Линкора, но тут тоже палка в двух концах, насколько Линкоров делить это время? Ведь Линкоры будут строится на  протяжении всей игры, да и кроме них там могут строиться другие корабли, а это значит что фактор имеет динамический характер, с каждым кораблём процент времени должен уменьшаться. Это также касается и стоимости (ресурсов) затраченных на строительство Лаб Корпусов и Крупной верфи.
 
ЗЫ Все данные это базовые значения (без модернизаций и бонусов от адмиралов) взяты из C2-FWF 5.0.
 
Продолжение следует (очень важная часть)


 
AllGreyДата: Четверг, 14.03.2013, 21:41 | Сообщение # 14
Генералиссимус
Группа: Администраторы
Сообщений: 324
Репутация: 11
Статус: Offline
В одно время я тоже пытался просчитать баланс юнитов, не так глобально конечно, а только лишь боевые характеристики (урон, корпус щит), так вот я тогда столкнулся с одной проблемой.
При расчётах вроде все верно, а практика показывала совершенно другие результаты, особенно это заметно было между юнитами разных класов. Я даже поначалу думал что допустил ошибки в базе данных.
В конце я понял что ошибка заложена в самой формуле, формула должна быть сложнее, мне не хватило терпения и ума чтоб создать более совершенную формулу, поэтому я перешел от теоретических к практическим анализам.

В данной формуле которую ты предложил корень(У*(З/(1-Ш))) есть этот же недостаток, она действительна только для начала боевого теста. Постараюсь объяснить на примере.
Ма=корень(Уа*(За/(1-Ша))) Корвет против Тяжёлой брони Ма = корень(8*(100/(1-0.35))) = 35
Мб=корень(Уб*(Зб/(1-Шб))) Линкор против Лёгкой брони Мб = корень(15*(1000/(1-0.2))) = 137
Из этого цифр мы видим что Мощность 1 Линкора 137 = Мощность 4 Корветам 35*4, но на самом деле практика показывает что корветов должно быть не мение 6.

Так вот, суть в том, что в самом начале боя корветы наносят Урон 8*4=32, но после того первого убитого Корвета урон от Корветов упадёт до 8*3=24, после второго до 8*2=16 и после третьего до 8*1=8.
В данной ситуации наблюдается не линейная мощности Корветов, которая уменьшается в математической прогрессии на протяжение всего времени. Если мы разделим этот бой на периоды то у нас получаться 4 периода времени с разными уронами со стороны корветов. Каким образом это заложить в формулу я не знаю, поскольку для разных юнитах будут разные мощности, соответственно и разное количество юнитов.
Только формула с учётом выше сказанного может отобразить действительное соотношение юнитов.
Даже не знаю смог ли я доступно объяснить, если что не понятно, спрашивай.


 
R_3Дата: Четверг, 14.03.2013, 21:41 | Сообщение # 15
Контр-Адмирал
Группа: Друзья
Сообщений: 22
Репутация: 1
Статус: Offline
Я понял, о чем ты. Я забыл об этом упомянуть. Та проблема, о которой ты говоришь, вызвана тем, что поврежденные юниты наносят урон так же, как здоровые. именно поэтому в онлайн битвах игроки через кнопку Shift отдают своему флоту приказы атаковать вражеские юниты поочереди, концентрируя огонь сначала на одном, потом на следующем и т.д. Из-за этого с потерей флотом хитпойнтов, его урон уменьшается не пропорционально принятому урону, а "ступеньками", с потерей юнитов. Однако влияние этого фактора тем меньше, чем больше размер флотов, хотя он и не нивелируется полностью. То есть, когда речь идет про бой 1 юнита против 4, тут он наиболее ярок, и вместо 4 надо 6. Если бы это было 10 юнитов против 40, то влияние этого фактора было бы гораздо меньше. Потому что на большом масштабе "ступенчатый" график приближайтеся к линейному. Та формула, что я привел - хорошо работает при большом количестве юнитов. Поскольку в игре обычно используются большие флоты, для первого приближения она подходит.

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

Добавлено (23.01.2013, 20:42)
---------------------------------------------
Там если это учитывать, то с интегралами, гораздо сложнее получается. Интеграл количества юнитов по времени.


Сообщение отредактировал R_3 - Среда, 23.01.2013, 20:43
 
AllGreyДата: Четверг, 14.03.2013, 21:41 | Сообщение # 16
Генералиссимус
Группа: Администраторы
Сообщений: 324
Репутация: 11
Статус: Offline
Да ты прав, усложнять формулу по этому поводу нет смысла, кроме того, что действительно при больших флотах этот фактор как бы сглаживается. Я вчера провёл практический тест по этому поводу, имитировал бой 5 Линкоров против 20 Корветов, результат как ты и сказал оказался другой. Проводил я тест на минимальной скорости, поэтому я отчётливо наблюдал влияние такого фактора на результат как время  затраченное на прицеливание (поворот кораблей, а у Линкоров ещё и башень) Корветы это делаю намного быстрее нежели Линкоры, кроме того Корветам нужно было это делать (менять цель) только 5 раз, а Линкорам 20 раз. Время на прицеливание также зависело от расстояние до цели, на цели находящие вблизи затрачивается меньше времени нежели для дальних целей. Таким образом такие факторы как время прицеливания и диапазон атаки можно не учитывать поскольку они хоть и косвенно но уже как бы заложены в формулу. Также дабы не усложнять себе жизнь, можно не учитывать и скорость кораблей, поскольку она как бы компенсируется большими дистанциями атаки, но только лишь в плане технических характеристик кораблей (как боевую характеристику). В тактическом плане скорость кораблей это очень важный фактор, но здесь уже совсем другая история.

Но это ещё не все, я провёл тест дважды, в первом случае я отключил параметр точности попадания (так сделано в оригинальной игре), а во втором случае (как это сделано в моде) я провёл тест с задействованными параметрами точности попадания. Результат был совершенно другим, Линкоры много мазали и Корветы как говорится размазали их по стенке и это при том что корветы стояли не двигаясь и числа параметров у обоих кораблей одинаковые. Потом я сделал тест когда Линкор атакует Линкора, в этом случае практически все снаряды попали в цель. Отсюда вывод что фактор точности попадание зависит не только от скорости мишени но и от её размера. Игнорировать этими параметрами ни в коем случае нельзя, поскольку разница между результатами была огромная. В первом случае (без параметра точности) получился практически результат в ничью, а во втором случае (с  параметрами точности) корветы победили с огромным разрывом, их осталось после боя 7 шт. Для оригинальной игры твоя формула подходит хорошо, а вот для мода не совсем.

Поэтому стоит вопрос так как можно параметр точности и размер целей совместить и добавить в формулу или делать дополнительные расчёты, но игнорировать этот фактор никак нельзя, иначе это сильно исказит результаты и они будут очень не объективные, я имею в виду Мод. Вроде бы все.... пока что все.


 
AllGreyДата: Четверг, 14.03.2013, 22:19 | Сообщение # 17
Генералиссимус
Группа: Администраторы
Сообщений: 324
Репутация: 11
Статус: Offline
У меня появился небольшой просвет со временем и я решил все выше сказанное применить в деле.
Поскольку программы которая проделала бы подобные расчёты автоматически нету, то я решил все это сделать в программе Excel 2003. Сам процесс создания матрицы с формулами оказался очень утомительной процедурой, но благо все уже позади и теперь можно пожинать плоды этого продукта.
После внесения необходимых данных картина по балансу юнитов сразу прояснилась и в целом выглядит не плохо.
Но поскольку некоторые юниты боле эффективные а другие менее эффективны относительно общей массы, то очевидно что есть смысл провести небольшие корректировки.
В расчётах задействованные такие параметры;
Мощность юнита - Корпус, Щит, Урон (с учётом бонуса против типа брони).
Стоимость юнита - Время постройки, Руда, Газ, Бригады (экипаж).

Расчёт эффективности происходит за 5 этапов;
Сначала для каждой стоимости в отдельности это 4-ре этапа,
5 этап это вычисление среднеарифметического значения из предыдущих 4 этапов.
Таким образом делая корректировки (изменяя исходные данные) на 4 разных этапах мы этим влияем на конечный результат.

После опроса нескольких ТЕСТЕРОВ про технические характеристики юнитов (а существующие характеристики их вполне удовлетворяли) было решено проводить корректировку изменяя данные только стоимости (Время постройки, Руда, Газ, Бригады).


 
AllGreyДата: Воскресенье, 17.03.2013, 11:49 | Сообщение # 18
Генералиссимус
Группа: Администраторы
Сообщений: 324
Репутация: 11
Статус: Offline
И так, корректировку проведено, хотя вполне вероятно что это не окончательный вариант, но пока что у меня получилось вот это.

Эффективность боевых кораблей А против боевых кораблей В.







______________________________________________________________________________________________
**********************************************************************************************

Эффективность флагманских кораблей А против боевых кораблей В.







______________________________________________________________________________________________
**********************************************************************************************

Эффективность боевых станций А против боевых кораблей В.







Почему эффективность боевых платформ, больше эффективности чем у кораблей.

1) Фиксированный диапазон (не возможность смены дислокации).
2) Отсутствие спец способностей.
3) Отсутствие бонусов от Адмиралов.
4) Потребность в обслуживающих кораблях (Поставщики, Фабрикаторы).
5) Затруднительная возможность строительства на передовых позициях (на передовой линии фронта).

а) "Последний рубеж", даёт возможность организовать дешёвую и быструю защиту, в случае потери основного флота или при остром дефиците ресурсов.
б) "Стратегия предварительного развития" способствует экономии ресурсов в пользу развития технологий и при этом обеспечивает хоть какую то защиту.

______________________________________________________________________________________________
**********************************************************************************************

Эффективность боевых станций А против боевых станций В.



_______________________________________________________________________________________________

В последнем столбике каждой таблице (более насыщенные цвета) показаны среднее значение эффективности.
_______________________________________________________________________________________________


 
TechnoMageДата: Пятница, 10.05.2013, 21:55 | Сообщение # 19
Контр-Адмирал
Группа: Модераторы
Сообщений: 28
Репутация: 1
Статус: Offline
Я так понимаю, что корректировок в плане стоимости больше не будет?
 
AllGreyДата: Воскресенье, 12.05.2013, 08:03 | Сообщение # 20
Генералиссимус
Группа: Администраторы
Сообщений: 324
Репутация: 11
Статус: Offline
По всей вероятности корректировок больше не будет. Баланс в этом плане удовлетворительный, а идеального варианта добиться практически не возможно, поэтому не вижу резона работать в этом направление.

 
Форум » Conquest » Conquest 2 - Frontier Wars Forever ™ » Эффективность юнитов (Методика анализа баланса по R_3 (камень-ножницы-бумага))
Страница 2 из 2«12
Поиск:

2017 © «AllGrey Modding» Corporation