I'll take a stab at it.
s = a + p - (2/3 * c)
a is the number of armies one currently has (in other words it's the Armies/Turn w/o bonus)
p is the number of additional armies one can expect in the next turn based
only on the number of countries one has
c is the number of contries one controls
I think you will agree that strength has something to do with the number of armies one already (
a) has and the number of extra armies one is going to get in the next turn (
p).
But what is the
- (2/3 * c) term doing there? I think it's trying to take account of the concentration factor, that is, how densely populated with armies one's countries are. If one's countries are more densely populated then they are easier to defend and easier to attack from. That is, given a constant number of armies, those armies are relatively stronger when the number of countries is smaller than when the number of countries one controls is larger.
This gives the following results, if the number of armies per turn are held constant (
p = 3):
- Code: Select all
armies countries
-------- ----------
11 3
16 6
15 9
All three of the above cases have the same strength (
s = 12).
Is this realistic? It's saying a player with 11 armies controlling 3 countries is as strong as a player with 16 armies controlling 9 countries. Sound reasonable?
What is not represented in the strength calculation? Two very important things: control of continents for which a bonus number of armies are received, and possession of a playable set of cards for which bonus armies are received.
The card iissue would seem to be the easier one to program, since the number of cards is known (that is, in parentheses following the player's name). Presumably it could also be known which colors a player has and the assumption could be made that cards would be played as soon as possible and not deferred.
The control of continents would be more difficult to calculate, but could probably be done. The information necessary to do this calculation is not currently present in the visible game log, but I guess it could be added. Though that is an issue for the game developer and probably beyond the control of the add-on script developer. You can't do the calculation without the necessary information (being present in the game log I think is required for the script to work properly).
So a more accurate strength calculation might look like this:
s = a + P - (2/3 * c)
where
P is defined as:
P = p + x + y + z
where
x is the number of additional armies due to controlling a continent
y is the number of additional armies due to cashing in a set of cards
z is the number of bonus armies due to cashing in a card for a country one controls