Manxome wrote:You just have to add exactly half of your total attributes to each attack/defense type, and achieve a certain degree of symmetry so that each attribute contributes an equal amount overall.
OK, it's been bothering me that I couldn't quite put my finger on what I meant by "symmetry" here. Turns out I was having trouble nailing it down because the "exactly half of your total attributes" part was a red herring! So, sorry, messed up a bit there.
The actual condition is much weirder. Or, at least, this is a
sufficient condition--I suspect it may be necessary, but I've only proven so far that it's sufficient. Here it is:
Every attack type must have a complement.
More precisely: For every attack type
T, there exists an attack type
U such that a character's bonus with
T plus their bonus with
U gives a sum that is constant across all legal character builds.
So, for example, say you're doing a linear point-buy system with the attributes "red" and "blue". If one of your attack types uses red as the bonus, and the other uses blue, then those attack types are complements, because every character has the same total red + blue.
With me so far? OK, try this one:
Linear point-buy
5 attributes: A, B, C, D, E
5 attack types:
- Type 1: A
- Type 2: B + C + D + E
- Type 3: A + B + 2*C - D
- Type 4: 2*D + E - C
- Type 5: A + B + C + D + E
This is "balanced," by the definition we've been using. No, honest, it really is. Types 1 and 2 are complements, types 3 and 4 are complements, and type 5 is a complement of itself.
This may be easier to understand with an arbitrary example:
- Alice has stats 6, 7, 5, 2, 0 (sum to 20)
- Bob has stats 1, 4, 2, 5, 8 (sum to 20)
- Using Type 1, Alice has a 5-point advantage: (6) - (1)
- Using type 2, Bob has a 5-point advantage: (4 + 2 + 5 + 8 = 19) - (7 + 5 + 2 + 0 = 14)
- Using Type 3, Alice has a 17-point advantage: (6 + 7 + 2*5 - 2 = 21) - (1 + 4 + 2*2 - 5 = 4)
- Using Type 4, Bob has a 17-point advantage: (2*5 + 8 - 2 = 16) - (2*2 + 0 - 5 = -1)
- Using Type 5, both are at +0
Alice attacks with type 3, Bob attack with type 4, each of them have the same net attack bonus. You can chop off types 1 & 2, or types 3 & 4, or type 5, and it still works--you just need to make sure that every allowed type has a complement.
Formal proof:
Let a character be defined by an array of numerical scores, called the character's attributes.
Let an attack type be a function from attributes to reals (or integers, if you prefer). A character's attack or defense with this type is the output of the function when applied to that character's attributes.
Let the net attack bonus of character A against character B using attack type T be T(A) - T(B). Let the maximum attack bonus of A against B be the maximum net attack bonus of A against B over all attack types.
IF:
For every attack type T, there exists an attack type U (called the complementary attack type) and a constant C such that for any legal character A, T(A) + U(A) = C.
THEN:
For any legal characters A and B, the maximum attack bonus of A against B equals the maximum attack bonus of B against A.
Proof:
Let T be the attack type which yields the maximum attack bonus of A against B. By premise, there exists a complementary attack type U and a constant C such that T(A) + U(A) = C and T(B) + U(B) = C.
Therefore:
T(A) + U(A) = C = T(B) + U(B)
T(A) + U(A) - T(B) = U(B)
T(A) - T(B) = U(B) - U(A)
Thus, the net attack bonus of A against B using T is equal to the net attack bonus of B against A using U. Since we know that T is the optimal attack type for A against B, the maximum attack bonus of B against A must equal or exceed the maximum attack bonus of A against B. But since the same argument could be made with A and B inverted, the reverse is also true, and thus their maximum attack bonii must be equal. QED
This means you can do fairly arbitrary, non-uniform attack types with any number of attributes and still achieve the same kind of balance if you keep this condition in mind. For example, you could have a 3-stat system with attack types A, B, A+C, and B+C and it's still totally balanced, irreducible, and coefficient-free.
Still not sure quite what Frank means by an RPS system, though.