A question on how the damage is calculated in this game
Posted: Sat 16 Nov, 2013 5:15 am
So the displayed health for a unit is an integer, but events can occur where a unit is attacking another unit, e.g. a shoota boy is shooting a predator, and the predator isn't losing health, yet eventually the predator does lose 1hp.
So does that then mean that the game records the hp of the unit post-damage and then rounds this to the nearest integer in order to grant us with a 'perceived hp' (basically whatever is on the hp bar for us), but in reality the game keeps the pre-rounded scores to so many decimal places hidden away somewhere and uses that to determine the remaining health of a unit after it receives more damage.
Some people I've spoke to seem sceptical about the latter happening, however this raises two problems which are illustrated by the shoota boy paradox. Firstly if we assume the perceived hp represents the real value of hp for a unit then it makes no sense that when a shoota boy shoots a vehicle it eventually, albeit not after one burst of firing, inflicts 1hp of damage, this is because due to the low damage of the shoota boy's shoota to vehicles and the high amount of times it procs (although proccing for such weapons is almost certainly calculated in bursts rather than single shots fired [remember, animation doesn't necessarily correlate with damage]) is so high it would mean every time it was rounded down it would result in 0 damage+0+0+0+0... and the shoota would never ever kill any vehicle, which is false because they can. Similarly though if it was rounded up to the nearest integer then for evey burst of any weapon any unit fired, included one shoota model to the tank, it would inflict roughly a 1dps minimum, depending on the rate of the weapon, but again we know this not to be the case as it takes a squad of unupgraded shootas a very long time to drop a predator's hp by 1, it is not instantaneous.
So at this point I would like to ask whether my original idea of the game having two values of health - a perceived and a real value - is true. However, if it is then it raises a further confusion:
I once observed a game in which Kvek had a dreadnought that escaped from a battle with only 1hp remaining, and afterwards Kvek discovered he was unable to repair said dreadnought. Could this be due to a bug, the circumstances weren't particularly suspicious, he had various different scouts and a techmarine all of whom couldn't repair it, nor was the dreadnought stuck or deformed in any obvious way. So could it be that the dreadnought had a real hp value of <0.5 and for that reason the game assumed the dreadnought was dead as it was closer to 0hp rather than 1hp hence it couldn't be repaired. If this is the case though then we have the rounding problem again which results in the shoota paradox.
What the hell is going on here?
So does that then mean that the game records the hp of the unit post-damage and then rounds this to the nearest integer in order to grant us with a 'perceived hp' (basically whatever is on the hp bar for us), but in reality the game keeps the pre-rounded scores to so many decimal places hidden away somewhere and uses that to determine the remaining health of a unit after it receives more damage.
Some people I've spoke to seem sceptical about the latter happening, however this raises two problems which are illustrated by the shoota boy paradox. Firstly if we assume the perceived hp represents the real value of hp for a unit then it makes no sense that when a shoota boy shoots a vehicle it eventually, albeit not after one burst of firing, inflicts 1hp of damage, this is because due to the low damage of the shoota boy's shoota to vehicles and the high amount of times it procs (although proccing for such weapons is almost certainly calculated in bursts rather than single shots fired [remember, animation doesn't necessarily correlate with damage]) is so high it would mean every time it was rounded down it would result in 0 damage+0+0+0+0... and the shoota would never ever kill any vehicle, which is false because they can. Similarly though if it was rounded up to the nearest integer then for evey burst of any weapon any unit fired, included one shoota model to the tank, it would inflict roughly a 1dps minimum, depending on the rate of the weapon, but again we know this not to be the case as it takes a squad of unupgraded shootas a very long time to drop a predator's hp by 1, it is not instantaneous.
So at this point I would like to ask whether my original idea of the game having two values of health - a perceived and a real value - is true. However, if it is then it raises a further confusion:
I once observed a game in which Kvek had a dreadnought that escaped from a battle with only 1hp remaining, and afterwards Kvek discovered he was unable to repair said dreadnought. Could this be due to a bug, the circumstances weren't particularly suspicious, he had various different scouts and a techmarine all of whom couldn't repair it, nor was the dreadnought stuck or deformed in any obvious way. So could it be that the dreadnought had a real hp value of <0.5 and for that reason the game assumed the dreadnought was dead as it was closer to 0hp rather than 1hp hence it couldn't be repaired. If this is the case though then we have the rounding problem again which results in the shoota paradox.
What the hell is going on here?