IPB

( | )

> Неявная стоимость характеристик, ТЕОРИЯ
V
Мотильд
Aug 2 2006, 19:05
#1


Гость
*

Пользователи
17
2.8.2006




Тут такой вопрос. Странный возможно на первый взгляд, но создатели систем - балансеры меня поймут надеюсь.

В почти каждой системе есть боевые характеристики - атака, повреждения, хиты и т.п. хАтака = уХиты = zБроня... - это демонстративное равенство указывает, что, например +2 к атаке примерно равно +20 хитов или 4 съедения повреждений.

Теперь по теме:
чего стоит скорость передвижения?
чего стоит дальность атаки?
чего стоит выигрышная инициатива?
ответить строго

Я - то и сам понимаю, что при высоком передвижении и наличии ор. дальнего боя можно отбегать от не-стрелка и безнаказанно атаковать, а при высокой инициативе прибить противника до того как он будет действовать, но нужно вывести алгоритм, который позволит мне (и Вам) оценить эти хар-ки в плюшках (очках опыта... др), что позволит держать баланс при создании умений, магий, оружий и многого другого.

Делитесь пожалуйста мыслями. Правильно поймите вопрос.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
 
Начать новую тему
СП Морган
Aug 23 2006, 22:05
#2


Частый гость
**

Пользователи
96
21.3.2006
Киров




Вот наконец-то готов немерянно длинный и подробный ответ (несколько дней писал):

Предположим такую несложную схему:
Два воина сражаются в ближнем бою. Просто лупят друг друга ни на какие специальные приёмы не отвлекаясь.
Шанс попасть по противнику равен 50%.
А и З - атака и защита, увеличивают шанс попасть по противнику и шанс уклониться от атаки на соответствующее количество %
П - урон при попадании
Б - броня, уменьшающая урон
Ж - количество жизни, которое нужно довести до 0, чтобы противник помер
Бой ведётся по раундам, за каждый раунд противники бьют друг друга по 1 разу.
Среднее количество раундов, необходимое, чтобы противник 1 угробил противника 2 будет равно:

(100*Ж2) / ((50+А1-З2)*(П1-Б2))

Равные по силе противники будут убивать друг друга за равное количество раундов, то есть:

(100*Ж2) / ((50+А1-З2)*(П1-Б2))=(100*Ж1) / ((50+А2-З1)*(П2-Б1))

Вот такая будет формула для расчёта баланса в этом простейшем случае.

Теперь определим ценность первого удара. Если первым всегда атакует противник 1, то он угробит противника 2 на 1 раунд раньше, и формула будет такая:

(100*Ж2) / ((50+А1-З2)*(П1-Б2)) -1=(100*Ж1) / ((50+А2-З1)*(П2-Б1))

Если первым атакует противник с большей инициативой (И=0..100), то такая формула:

(100*Ж2) / ((50+А1-З2)*(П1-Б2)) - (И1/100)=(100*Ж1) / ((50+А2-З1)*(П2-Б1)) - (И2/100)

И наконец, если противник 1 обзавёлся предположим аркебузой, которая стреляет 1 раз за Н раундов, атака при стрельбе обратно пропорциональна расстоянию Р до цели, и противнику 2, чтобы вступить в схватку, необходимо преодолеть разделяющие их расстояние Р со скоростью С. В этом случае, к началу ближнего боя Ж второго противника уменьшится на величину:

((50+А1(стрельбы на расстоянии Р/2)-З2(от стрельбы))*(П1(от стрельбы)-Б2(от стрельбы))*Р) / (100*Н*С2)

Всю эту замечательную строчку мы подставляем в выведенную ранее формулу (Ж2-...). На этом пожалуй стоит остановиться, не уверен, что у меня получится учесть в формулах магию, манёвры и бой более чем двух противников. Но и этого вполне достаточно, чтобы делать какие-то выводы. Для пущей простоты воспользуемся самой первой формулой:

(100*Ж2) / ((50+А1-З2)*(П1-Б2))=(100*Ж1) / ((50+А2-З1)*(П2-Б1))

Для начала рассмотрим один частный случай, из которого может получиться несколько любопытных заблуждений. Есть два абсолютно равных противника:

Противник 1 (А=10 З=10 П=10 Б=0 Ж=100)
Противник 2 (А=10 З=10 П=10 Б=0 Ж=100)

Теперь если мы у противника 2 будем изменять А и З так, чтобы их сумма оставалась постоянной (например, А=15 З=5), или точно также менять П и Б (П=3 Б=7), то увидим, что противники остануться по прежнему равны (не верите - посчитайте). Из этого можно бы сделать вывод, что А имеет абсолютно такое же значение, что и З, а П то же, что и Б. Однако такая фигня уместна только в этом частном случае. Например, прибавляя 10 А или 10 З противнику 2, мы получим разные результаты. В первом случае противник 2 станет сильнее в 1,2 раза, а во втором - в 1,25 раза. П и Б ещё круче, если увеличить П противника 2 на 10, он станет вдвое сильнее, а если на 10 увеличить Б, то будет вообще непобедим.
Следовательно: неправильно считать, что можно сохранить точный баланс, распределив, например, Х очков развития между характеристиками даже и с какими-то коэффициентами. Также, не будут равны заклинания, увеличивающие или повреждающие характеристики.

Далее, возьмём теперь уже трёх противников:

Противник 1 (А=10 З=10 П=10 Б=0 Ж=100)
Противник 2 (А=0 З=0 П=25 Б=5 Ж=30)
Противник 3 (А=40 З=0 П=5 Б=0 Ж=150)

Противник 1 равен по силе противнику 2, и равен по силе противнику 3. Но, если будем сравнивать противника 2 и противника 3, то выясним, что равенства никакого. Противник 2 для противника 3 абсолютно непобедим!
Следовательно: затруднительно (а может быть и невозможно) сгенерить нескольких героев с разными характеристиками так, чтобы они были равны между собой.

И такой мой личный вывод: точный математический баланс может быть очень интересным развлечением для генерации ограниченного числа противников с фиксированными характеристиками, как например в стратегиях. Для ролевых игр с большой свободой и разнообразием существ, противников и перков-умений такая вещь, видимо, невозможна, либо требует недоступных мне математических и статистических познаний.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение



Ответить в данную темуНачать новую тему

 

: · ·

· · ·

RSS : 10th September 2025 - 04:52Дизайн IPB
Логотип форумов любезно предоставил Gorislav