Current time: 22.04.2024, 16:47 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Методика расчёта значений Fight/AI Value существ
» Цифры и размышления
Author Message
Macron1 Offline

Posts: 521
Post: #61

Способности существ не могут быть оценены таким образом. Потому что их использование зависит от АИ. А они могут давать львиную долю Fight/AIValue.
И раз в этой методике выкидываются неудобоваримые существа типа сказочного дракона, она будет не очень применима к "новым" существам.

ЗЫ В своей программе (на основе программы Grayface) я просто примерно оценил процентами ту или иную способность (программа для VCMI).
http://forum.vcmi.eu/viewtopic.php?t=763
Дорабатывать пока что лень. Надо бы на perl переписать, потому что в vcmi добавилась поддержка юникода, а Билдер с ним из коробки не работает.


VCMI - будущее Heroes 3!
(This post was last modified: 30.03.2014 13:14 by Macron1.)
30.03.2014 13:09
Find all posts by this user Quote this message in a reply
Arseniy Offline

Posts: 123
Post: #62

Quote:Берсеркер когда-то писал программу для вычисления этих значений.
Интересно, какой подход он применил. Надеюсь, отпишется.

Quote:Способности существ не могут быть оценены таким образом. Потому что их использование зависит от АИ. А они могут давать львиную долю Fight/AIValue.
Я не понял мысль совсем.
Quote:И раз в этой методике выкидываются неудобоваримые существа типа сказочного дракона, она будет не очень применима к "новым" существам.
Во-первых, существа не выкидываются. Во-вторых, данная методика не является получением конечных значений. Такие существа, как сказочные драконы (которые являются редким исключением наряду с птицами грома, наносящим не только физ дамаг) должны получать надбавки за свои способности. Но это единичные существа, а не вся система существ в целом!
Я могу реализовать в генераторе битв большинство остальных способностей (да в принципе и эти, если заморочиться), но есть ли в этом большой смысл? Большинство особых способностей (вроде окаменения) в среднем в битвах стек на стек могут дать от силы 5-10% прибавки к рейтингу, что не является большой погрешностью для подобной системы.
Что для вас "новое" существо? Имеющее свойство, которого нет в игре на данный момент? Ну так ему в любом случае придется какие-то поправочные коэффициенты вводить.
Моя система позволяет аргументировано построить количественные отношения между существами на основе их боевых характеристик. Такая задача у меня появилась, чтобы получить fight/ai value для существ из своего мода. Я переработал всех существ в игре по количественным показателям, но не меняя их свойств. Их у меня 12 уровней в замках + 2 уровня на ржавых-лазурных драконов. И вот все это месиво нужно адекватно расставить по силе. Эмпирическая система Роженко, и Ваша, основанная на ней, уж извините, никак с этой задачей не справится. В случае, когда у вас большинство существ из ванильных героев с не измененными характеристиками, разумеется, Вы можете позволить себе построить эвристическую систему формул, которые как-то приближают ai value к исходным значениям, которые лежат в CRTRAITS.TXT и, получив соответствие, говорить о том, что Вы именно для этого множества существ подобрали правильные значения и если Вы будете добавлять других существ с характеристиками из уже существующего диапазона (и разумеется, без каких-либо новых свойств), Вы можете с некой степенью достоверности утверждать, что новые существа получат значения, соответствующие их реальной силе. В любых других случаях это будет гадание на кофейной гуще.
Я молчу о том, что H3MonPower сильно расходится с ванильными значениями уже на базовом наборе существ.
Quote:В своей программе (на основе программы Grayface) я просто примерно оценил процентами ту или иную способность (программа для VCMI).
Прежде чем написать свою реализацию, я искал на форумах существующие решения. Я разговаривал с Роженко на тему, откуда он взял такие формулы для своей программы и получил от него исходный код. Что касается Вашей программы, то и ее я видел. Вас не смущают изыскания в стиле огненное дыхание считается как удвоенное верхнее повреждение? Откуда такая информация? Какими экспериментами было подтверждено? И Вы правда думаете, что это адекватная система оценки?


- Как я сегодня балагурю?
- Вы прекрасны, сир! (с)
(This post was last modified: 30.03.2014 15:46 by Arseniy.)
30.03.2014 15:39
Find all posts by this user Quote this message in a reply
Macron1 Offline

Posts: 521
Post: #63

(30.03.2014 15:39)Arseniy Wrote:  Что касается Вашей программы, то и ее я видел. Вас не смущают изыскания в стиле огненное дыхание считается как удвоенное верхнее повреждение? Откуда такая информация? Какими экспериментами было подтверждено? И Вы правда думаете, что это адекватная система оценки?

Свои цели она выполняет. Тут как говорится, сделай лучше.
Почему вам не нравится оценка дыхания двойным макс. уроном? Формулы используют значение максимального урона, а при случайном выпадении макс. урона или под блессом дыхание может принести макс. двойной урон. Или тут что-то не так?

И далеко не все способности существ могут быть оценены вашим способом. Например, у черных драконов иммунитет к любой магии. С кем бы из стандартных существ вы не устраивали бы бои, никто из них не может использовать магию 3-5 уровней, кроме выкинутого вами волшебного дракона. То есть способность, которая проявляется только в бою против прокаченного героя-мага, будет неооценена, а значит, АИ не будет брать черных драконов при прочих равных.
Как вы сможете оценить в бою способность кристалических драконов генерировать кристаллы?

И вообще, 3D0 вполне могла и с потолка свои AI/Fight Values взять.

И чем вам не нравится моя система оценки? Она не требует симулировать 100500 боев, не требует использования AI (а если AI не использует способность существа, скажем, кастовать заклинание, то для АИ существо будет переоцененным).

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

Впрочем, я не навязываю свою методику. Я собираюсь как-нибудь доработать программу и переписать на Perl. к тому же, в VCMI появятся новые бонусы, их тоже нужно будет учитывать по возможности.
В VCMI я предлагал разработчикам вообще отказаться от Ai/Fight values существ в настройках и считать их динамически. Тем более, что в VCMI есть опыт существ (опция), теоретически он должен влиять на AI/Fight value, чтобы AI мог выбрать более опытных солдат.
Ну и плюс там есть артефакты для слотов, которые повышают параметры или добавляют способности, что тоже не учитывается при постоянном AI/Fight values.
Пока предложение отклонили, "потому что формул нет".


VCMI - будущее Heroes 3!
(This post was last modified: 30.03.2014 16:25 by Macron1.)
30.03.2014 16:13
Find all posts by this user Quote this message in a reply
Arseniy Offline

Posts: 123
Post: #64

Quote:Почему вам не нравится оценка дыхания двойным макс. уроном? Формулы используют значение максимального урона, а при случайном выпадении макс. урона или под блессом дыхание может принести макс. двойной урон. Или тут что-то не так?
Да, не так. Полное отсутствие математических выкладок или статистических данных, подтверждающих гипотезу. Sm
Quote:И вообще, 3D0 вполне могла и с потолка свои AI/Fight Values взять.
Так как эти значения справляются со своими функциями, я совершенно уверен, что это не так. Более того, из-за общей кривизны этих значений (красивое значение только у титанов), я почти уверен, что эти значения получены экспериментально, скорее всего, в битвах, и нормировка производилась на значение титана или относительно титана. Только для этого использовался доступный движок битв героев 3, а не самопальный эмулятор, который использую я. Поэтому и сказочные драконы могли честно получать свои высокие значения именно тем, что кастовали в битвах.
Quote:И чем вам не нравится моя система оценки?
Тем, что можно придумать десятки таких систем (или коэффициентов в Вашей системе), в каждой из которых значения будут получаться разными для разных существ, и каждая будет иметь одинаковое право на существование, потому что не подтверждена. Видимо, поэтому в VCMI Вас и отправили за формулами. Sm
Может, это вопрос мироощущения. Мне, как физику по образованию, не важно, какие конкретно будут значения с точностью там до 1, но очень важно, чтобы сами оценки этих значений были корректны, а не взяты с потолка.
Например, Вы бы могли оценить, как часто в битве есть шанс проявить свойство двойное дыхание (а это совсем не тривиально), привести соответствующую статистику. Использовать этот шанс, чтобы подсчитать, на сколько увеличиваются средние повреждения существа с двойным дыханием. После чего (о, чудо), получить, что средние повреждения увеличиваются не на 37.46%, а ровно в полтора раза, что, обычно, соответствует увеличению максимальных повреждений в два. И в таком случае я бы принял Вашу оценку. Но иначе она ничем не лучше той, в которой максимальное повреждение увеличивается на 50%. Или на 70%. Или на 5..

Меня очень интересует до сих пор один вопрос. Чем различаются ai/fight value. Нигде ясного ответа на него не нашел. Понятно только то, что основное для оценки действий компа ai, а fight используется редко. Но это очень размытые формулировки.
Quote:Как вы сможете оценить в бою способность кристалических драконов генерировать кристаллы?
Это как раз очень хороший пример, который относится к моему вопросу. Разумеется, очень сложно оценить вообще общее влияние существ в игре, и то, какие существа предпочтительней. Например, существа с большей скоростью выгодны не только в битве, но и для того, чтобы быстро бегать по карте. Стрелки дополнительно выгодны тем, что исключают потери войск в битвах с более слабым противником. Иммунитет черных драконов вообще противоречив - как нельзя на него накастовать молнию, так нельзя и благославление.
Поэтому я решил считать за аксиому, что ai value используется именно для расчетов силы нейтральных армий и героя компьютером, то есть боевых характеристик. Если же это другая оценка, например, общей полезности существа (какое лучше сейчас купить), то нужно считать по совсем другой системе.


- Как я сегодня балагурю?
- Вы прекрасны, сир! (с)
(This post was last modified: 30.03.2014 16:52 by Arseniy.)
30.03.2014 16:42
Find all posts by this user Quote this message in a reply
Macron1 Offline

Posts: 521
Post: #65

(30.03.2014 16:42)Arseniy Wrote:  Например, Вы бы могли оценить, как часто в битве есть шанс проявить свойство двойное дыхание (а это совсем не тривиально), привести соответствующую статистику. Использовать этот шанс, чтобы подсчитать, на сколько увеличиваются средние повреждения существа с двойным дыханием. После чего (о, чудо), получить, что средние повреждения увеличиваются не на 37.46%, а ровно в полтора раза, что, обычно, соответствует увеличению максимальных повреждений в два. И в таком случае я бы принял Вашу оценку. Но иначе она ничем не лучше той, в которой максимальное повреждение увеличивается на 50%. Или на 70%. Или на 5..
В формулах GrayFace используется макс. урон, поэтому я не вижу ничего некорректного в том, что учитываю дыхание как 2*max урон.
И при чем здесь вообще ваши шансы и средние значения? AI/Fight Value должны оценивать не среднее состояние, а максимальное. Потому что вы не можете дать гарантий, что я возьму черного дракона и он выдаст 10 раз среднюю атаку, а не максимальную.

Про шанс выпадения дыхания я вообще не понял. Если игрок атакует юниты в ряд, оно всегда выпадает. Если игрок атакует одиночный отряд, дыхание не проявляется.

Вы начинаете говорить про вероятности, а как известно, есть ложь и есть статистика. Я говорю про оценку максимальной полезности существа. Например, у стрелка 20 выстрелов. У там какого-нибудь гоблина с бластером 4 выстрела.
Ваша методика симуляции боев не оценит всей пользы владения 20 выстрелами, потому что бой может закончиться раньше, чем кончатся стрелы.
Ну или возьмем пит лордов. Их способность вызывать демонов из трупов союзников вообще не может быть оценена по вашей методике.


VCMI - будущее Heroes 3!
30.03.2014 17:01
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #66

(30.03.2014 16:42)Arseniy Wrote:  Поэтому я решил считать за аксиому, что ai value используется именно для расчетов силы нейтральных армий и героя компьютером, то есть боевых характеристик.
Нет, для этого используется Fight value.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
30.03.2014 17:04
Find all posts by this user Quote this message in a reply
Macron1 Offline

Posts: 521
Post: #67

(30.03.2014 16:42)Arseniy Wrote:  Меня очень интересует до сих пор один вопрос. Чем различаются ai/fight value. Нигде ясного ответа на него не нашел. Понятно только то, что основное для оценки действий компа ai, а fight используется редко.

AI Value используется АИ для оценки армий и мобов на карте.
Fight Value используется АИ в режиме боя.
В VCMI вроде как Fight value не используется (алоритмы АИ другие - но сам параметр есть).
Соответственно Fight Value обычно больше. чем AI. по идее, в нем учитываются уже свойства и параметры существ, важные только в бою (там всякие заклинания, иммунитеты и тп)


VCMI - будущее Heroes 3!
30.03.2014 17:07
Find all posts by this user Quote this message in a reply
Arseniy Offline

Posts: 123
Post: #68

Quote:Нет, для этого используется Fight value.
Quote:AI Value используется АИ для оценки армий и мобов на карте.
Fight Value используется АИ в режиме боя.
Коллеги, вы противоречите друг другу. Кому верить?

Если ai value используется для оценки силы армий (стоящих на карте, в замке, у героя), а fight для оценки того, на кого нападать уже в самой битве, то я правильно рассчитываю первое, а над вторым надо подумать, но оно позволяет тогда более свободные значения (в стиле +50% у стрелков, например) и им можно серьезно улучшить поведение компьютера.


- Как я сегодня балагурю?
- Вы прекрасны, сир! (с)
(This post was last modified: 30.03.2014 17:19 by Arseniy.)
30.03.2014 17:18
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #69

Судя по игровым значениям, AI value меньше, чем Fight value у медленных существ, а больше - у стрелков. Возможно, Fight value - это просто какое-то промежуточное значение, которое не содержит информации о способностях и небоевой ценности существа.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
30.03.2014 17:38
Find all posts by this user Quote this message in a reply
Macron1 Offline

Posts: 521
Post: #70

(30.03.2014 17:38)gamecreator Wrote:  Судя по игровым значениям, AI value меньше, чем Fight value у медленных существ, а больше - у стрелков.
Что похоже на правду.
Стрелки опаснее, чем медленные юниты.


VCMI - будущее Heroes 3!
30.03.2014 17:44
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #71

Но это значит, что Fight value не используется ни в бою, ни на карте.

Кстати, а вдруг это значение определяет когда нейтралы убегают от героя?


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
(This post was last modified: 30.03.2014 17:50 by gamecreator.)
30.03.2014 17:49
Find all posts by this user Quote this message in a reply
Папаган Offline

Posts: 79
Post: #72

Довольно интересную тему подняли вы, товарищи. С тех пор, как начал играть в Вог, хотелось увидеть адекватную систему ai/fight value как для новых, так и для старых существ. Ибо есть такая штука, как опыт армии, и, понятное дело, какая-нибудь пикси 10-го ранга будет сильнее пикинеса 0-го ранга, ибо +статы, +новые способностти, етц . Вдобавок существуют такие опции как "изменение существ", "усиление существ", "сложные битвы" и "доп.бонусы нейтралам", которые тоже добра не желают. Ну и на закуску есть наркоманские правила карты (двойная плюха, плюха отрыжкой и т.д). Так вот, с учетом всего вышеперечисленного вообще реально создать "универсальный калькулятор" который бы все это учитывал?

PS А ведь еще есть командиры, оруженосцы, матерь божья!.. Dash1
PPS Ах да, еще и Era scripts.
30.03.2014 18:05
Find all posts by this user Quote this message in a reply
Macron1 Offline

Posts: 521
Post: #73

(30.03.2014 18:05)Папаган Wrote:  Так вот, с учетом всего вышеперечисленного вообще реально создать "универсальный калькулятор" который бы все это учитывал?

Да, это было бы супер.


VCMI - будущее Heroes 3!
30.03.2014 19:36
Find all posts by this user Quote this message in a reply
Arseniy Offline

Posts: 123
Post: #74

Quote:Судя по игровым значениям, AI value меньше, чем Fight value у медленных существ, а больше - у стрелков. Возможно, Fight value - это просто какое-то промежуточное значение, которое не содержит информации о способностях и небоевой ценности существа.
Понятно. То есть четкой информации все равно нет.
Значит, единственный способ проверить - занулить сначало одно, потом другое или обратить (сделать маленьким для крутых существ и большим для слабых) и посмотреть, что происходит.


- Как я сегодня балагурю?
- Вы прекрасны, сир! (с)
30.03.2014 20:37
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #75

Quote:Понятно. То есть четкой информации все равно нет.
Советую спросить у Sav'a на форуме DF2, где то там он немало описал по Fight/AI Value


game bug fixes extended.dll || My Plugins || My GitHub
30.03.2014 21:27
Visit this user's website Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group