В настоящее время я работаю над игрой, в которой у каждого юнита есть здоровье, щиты и ловкость, а также определенное количество видов оружия.
Например, в блоке B есть 2 лазера, 2 тяжелых лазера и 1 ракетная пусковая установка, без ионного бластера, без тяжелого иона, без ядерных ракет, 5 единиц здоровья, 2 щита и 40 ловкости.
Я прошел через 20 различных алгоритмов, пытаясь заставить MS Excel сбалансировать все эти факторы, чтобы дать кораблю оценку.Мой текущий алгоритм отлично работает для некоторых меньших юнитов, но он становится очень неуравновешенным с большими юнитами
Каждый корабль имеет величину урона, где каждый тип оружия умножается на урон этого оружия и складывается вместе.
damage = weapon1*damage1 + weapon2*damage2 + ...
Значение урона умножается на здоровье + 2 * щит + 2 * ловкость.Ловкость и щит умножаются, чтобы дать им вес над здоровьем (юнит не может потерять здоровье, если его нельзя поразить).Я также вычесть стоимость единицы.Таким образом, мое текущее уравнение для одного из моих юнитов выглядит так:
value = damage*(health + 2*shield + 2*agility) - 3*cost
Вот несколько примеров:
- 1-й блок - 1 лазер, 1 здоровье, 93 ловкости и затраты 1Общая оценка 233.
- Блок 2 - 2 лазера, ракетная установка и 3 единицы здоровья, но только 76 ловкости.Счет 200.
- 3-й блок - 6 лазеров, 30 единиц здоровья и 15 щитов, 37 ловкости - 585 баллов.
Я хочу, чтобы баллы блока 3 были выше, нооценки для блоков 1 и 2 довольно хорошие.Кто-нибудь может предложить лучшее уравнение, которое сгладит значения?