Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Наука
+2

Atk и def в стратегических играх

Attack и Defen
как рассчитывают что он бьёт:
и тот самый рандом так что
1 воин
3 atk ----> 3def
2 воин
2 atk ----> 2def
и есть шанс что 2 воин выиграет
КАК ЭТО СЧИТАЮТ
Http://www.procontent.ru/media/games/revival/revival-2.gif

По дате
По рейтингу
Аватар пользователя
Мудрец

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

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

В Age of Wonders атака и защита определяют шанс нанести урон/избежать урона, кроме того у существ есть отдельный параметр "урон", который определяет величину повреждений.

В Блицкриге есть "броня", "бронебойность" и "урон", все три величины с некоторым разбросом. Когда одна боевая единица атакует другую и попадает, при "бронебойности", превышающей "броню" наносится полный урон, иначе - ничего.

В Героях 1-3 разница атаки и защиты даёт точно вычисляемую прибавку или штраф к наносимому урону. А вот сам (базовый) урон отряда вычисляется как сумма случайных чисел по всем существам от minDmg до maxDmg для одного существа.

Судя по приложенной вами картинке, там реализована модель, похожая на Age of Wonders или Civilization. Точные формулы вам никто сразу не скажет, но их можно вычислить при помощи тестов, или исследовав исходный код игры.