| Автор | выпадания урона |
Вопрос по механике игры.. Пусть у нас имеется существо X с вилкой урона a-b. Если у нас X одно, то выпадает некоторое число. Данную задачу легко написать(одна функция рандомайз и всё), но что делать если существ n? Как тогда считается урон? Будет ли он считаться для каждого существа отдельно(т.е. мы вызываем нашу функцую n раз), а потом все получившиеся значения складываются и сумма является наносимым уроном стека. Однако с точки зрения программирования выполнение операций достаточно долгая вещь, и было бы логично вызывать некую процедуру высчитывающую урона для всего стека в целом. В таком случае появляются сразу вопросы... Можно взять одно существо, вызвать для него процедуру, а затем результат умножить на n, с другой стороны можно взять и сложить все минимальные значения между собой и все максимальные и получить так называемую "супер" вилку урона... Но на самом деле и это не конец.. Ведь для супер вилок было бы хорошо воспользоваться какой-нибудь из функций распределения... наиболее часто встречаются нормальное и равномерные распределения. Какая-бы функция не была она выдаст какое-то значение, возможно дробное, затем оно округляется до целого числа(скорее всего по стандартным математическим правилам) и наш урон... В случае равномерного распределения всё ясно... Но в равномерном распределении слишком большая доль рандома... В нормальном же распределении больше влияют на исход поединка умения игроков... Но это палка на двух концах... При наложении заклинаний влияющих на вилку урона, как, например, благословление, наше нормальное распределение начинает рушиться, причём особенно в случае , когда игрок имеет навыки света или тьмы, т.е на самом деле эти заклиная будут давать вовсе никакие 50% 75%, а совершенно другие числа, близкие к нижнему порогу в случае благославления и к верхнему в случае проклятия... В таком случае рушится баланс.
Так какая из описанных мной ситуаций наиболее похоже на то, что мы имеем в игре, или я совсем не прав? Игрок забанен смотрителем Кассиэль до 2016-10-05 21:34:36 // доп. основа Crazy_In_Love |
| https://my.lordswm.com/help.php?section=34 |
| [Сообщение удалено смотрителем teract // не можете ответить на вопрос - пройдите мимо] |
| В игре большая доля рандома. |
| в бою показана вилка урона, например умрёт 5-10 существ...значит он убьёт по мин 5 существ а по макс 10 существ, есть заклинания понижающие и повышающий этот порог |
Суммарный урон=количество атакующих существ*урон*[1+0,05*(нападение-защита)]
Вот собственно говоря формула есть, а как расшифровать слово "урон" в ней абсолютно не ясно |
для Crazy_In_Love:
Это рандом: random(мин_урон, макс_урон) |
Здесь более точнее:
http://help.ordenmira.ru/about/battles/damageandtreatment.htm |
для Кассиэль:
т.е. как я писал считается для одного существа и потом умножается?
Получается если у нас допустим есть 500 ополченцев, с вилкой 1-2, то нанести они могут лишь 2 значения урона 500 и 1000?
Или же ранд функция не целая? В программировании она стандартно выдаёт лишь целые значкения |
для Crazy_In_Love:
Да, считается вилка один раз. |
Да, считается вилка один раз.
Получается если у нас допустим есть 500 ополченцев, с вилкой 1-2, то нанести они могут лишь 2 значения урона 500 и 1000? |
для Crazy_In_Love:
Нет, урон не 500 и 1000, там ведь еще учитывается другие параметры. |
для Кассиэль:
ну ок, не 500 и 1000, а какие-нибудь 521 и 1042? |
для Crazy_In_Love:
С учетом вилки 1-2, да. |
для Кассиэль:
А это проверялось? действительно так всё грустно?
А если кинуть благо, то как будет работать на тех же ополченцах? |
Не надо забывать, что выборка не из целых, лишь в конце урон округляется.
Может выпасть и 1.438478 и 1.6564 и 1.934534.
Так же если благо, например, дает +75% урона, то в инфе юнита будет показано 2-2, на самом же деле будет 1.75-2. |
для Иней:
так получается что у нас что-то вроде раномерного распределения? |