I am trying to balance a board game, where monsters activated based on a given rule, and I am looking for a formula, which takes in account the attacks of the heroes (2-4 heroes [noh], each with a single attack that has a unique attack value [av], and penetration [ap]), and the number of the monsters (1-9 different monsters, each with different health [mh], armor [ma], current enrage value [mce], and max enrage value [mme]), and wants to find the minimum number of activations [na].

The rule set looks something like this: in turn, each hero makes an attack against a single monster (any one monster). For each attack a hero makes, the monsters health is reduced in the following way:

mh = max(0, mh - max(0, (av - max(0, ma-ap))))

After the attack, the monsters current enrage value gets subtracted by 1: mce = mce -1. If mce <= 0, we perform: na = na + 1; mce = mce + mme;.

After each hero performed one move, each monsters mce value changes the following way: mce = mce - (noh - 1). If any monsters mce <= 0, we perform the following operations on the monsters: na = na + 1; mce = mce + mme;

Given these rules, I am looking for a mathematics formula that could calculate the min value of na for a given combat.

Would this calculation be even possible with a simple formula, or simulation is the only way to get the result I am looking for?

EDIT: ma < (ap + av) this presumption is always true, for each monster and each hero attack.

  • 1
    $\begingroup$ Even though it seems plausible to first kill the monster with lowest mme, this is apparently not the best strategy (e.g., some of the heroes with $\text{av}+\text{ap}\le \text{ma}$ might even be worthless against that monster). As a first approximation, I'd suggest that all heroes capable of hurting the monster with currently lowest mme do so while the other heroes attack monsters with weak enough armour (thus making as many hit points as possible) $\endgroup$ – Hagen von Eitzen Jan 5 at 14:25
  • $\begingroup$ @HagenvonEitzen it is impossible for a monster to have ma >= av + ap, I forgot to mention this, in the original post, sorry $\endgroup$ – Adam Baranyai Jan 5 at 14:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.