By additive damage I do not mean additive damage bonuses. I mean damage that adds up over time:
New HP = Old HP - Damage
Additive damage has the following properties:
- It is linear as damage adds up over time.
- Characters are knocked out when their HP falls to 0 or below.
- HP can be displayed as a linear progress bar.
One alternative that I thought of was multiplicative damage:
New HP = Old HP / Damage
Multiplicative damage has the following properties:
- It is exponential as damage multiplies over time.
- Characters are knocked out when their HP falls to 1 or below.
- HP can be displayed as a logarithmic progress bar.
However, multiplicative damage is just additive damage in disguise because
a * b = exp(log(a) + log(b)).
So, when I say that I'm looking for an alternative to additive damage what I mean is that I'm looking for a group structure for damage that's not isomorphic to addition.
A group is a set
G together with a binary operation
• that must satisfy the following properties:
- Closure: For all
G, the result of the operation
a • bis also in
- Associativity: For all
a, b, cin
G, we have
(a • b) • c = a • (b • c).
- Identity: There exist a unique element
Gsuch that, for all
e • a = a • e = a.
- Inverse: For each
G, there exists a unique element
a^-1) such that
a • b = b • a = ewhere
eis the identity element.
For the purpose of this question,
G need not be the set of integers. It could be any set (e.g. reals or complex numbers or even a set of things which aren't numbers) as long as it makes sense in the context of damage:
New HP = Old HP • Damage^-1
Furthermore, it would be nice if
G also formed a ring structure but it's alright if it doesn't. Having a ring structure would make calculating damage easier.
Finally, I'm aware that this question is quite subjective and I know that StackExchange is a place for objective questions. However, I hope that by providing an objective basis for a subjective question this would lead to objective discussions.