В настоящее время я работаю над игрой, в которой каждая единица имеет ценность для здоровья, щитов и маневренности, а также определенное количество шести типов оружия.Вычисление значения единицы в игре
например. Блок B состоит из двух лазеров, 2 тяжелых лазеров и 1 ракетной установки, без ионного бластера, без взрывчатых веществ, без ядерных ракет, 5 здоровья, 2 щита и 40 маневров.
Я прошел через 20 различных алгоритмов, пытаясь заставить MS Excel сбалансировать эти все эти факторы, чтобы дать кораблю оценку. Мой текущий алгоритм отлично работает для некоторых из меньших единиц, но очень неуравновешен с большими единицами
Каждый корабль имеет значение урона, при котором каждый тип оружия умножается на повреждение этого оружия и складывается вместе.
damage = weapon1*damage1 + weapon2*damage2 + ...
Ущерб умножается на здоровье + 2 * щит + 2 * ловкость. Ловкость и щит умножаются, чтобы дать им вес над здоровьем (единица не может потерять здоровье, если ее не ударить). Я также вычитаю стоимость единицы. Таким образом, мое текущее уравнение для одного из моих единиц выглядит следующим образом:
value = damage*(health + 2*shield + 2*agility) - 3*cost
Вот некоторые примеры:
- Unit 1 - 1 лазер 1 здоровья, 93 маневренности, а также расходы 1. Общий балл 233
- Блок 2 - 2 лазера, ракетный пусковой аппарат и 3 здоровья, но только 76 ловкость. Оценка 200.
- Блок 3 - 6 лазеров, 30 здоровья и 15 щитов, 37 маневренности - забивает 585.
Я хочу партитуры блока 3, чтобы быть выше, но баллы для блоков 1 и 2 довольно хороши. Может ли кто-нибудь предложить лучшее уравнение, которое сгладит значения?
Вы не очень поняли свою цель здесь. Вы пытаетесь балансировать единицы, изменяя ущерб, нанесенный каждому оружию? Или это количество различных видов оружия каждого корабля? Или их стоимость? Или что-то еще? ... – ktdrv 2010-12-01 00:46:46
Каждый блок имеет различное количество оружия, которое наносит одинаковый урон (за оружие) - вот почему F ... L умножается на N58 ... N64. Проблема заключается в том, что = ROUND (W * (M + 2N + 2O), 0) -3R подходит для значений, больших для более низких единиц, но смехотворно высоких или низких для лучших единиц. Я ищу лучшую формулу, которая сгладит эти удары. – 2010-12-01 17:20:06