I'm trying to come up with an effecient algorithm for a unit based game I'm making. The units will be grouped together in a fleet and fighting another fleet of units. Each fleet could comprise of 10's to 1000's of units, so looping through them may not be very effecient.
Each unit has the following stats:
- Attack Rating (compared against defense rating of another unit to determine if it hits)
- Defense rating
- Hit points
- Low damage (low range of damage)
- High damage (high range of damage)
My original idea included looping over each unit and doing something like this:
Hit chance = Attack Rating / (attack rating + defense rating of enemy)
Roll die to determine hit
if hit, then random damage between low and high damage
apply damage to enemy unit
However, as stated above, with 1000's of units, it is very ineffecient.
Ideally, I'd like to come up with a simple calculation that provides the outcome of damage done by the fleet against the other fleet while taking into account hit chance of each unit (or perhaps an avg of units?)... other ideas are welcome as well.
Thanks
PS. This is written in C#
Start Free Trial