(I'm sorry if this isn't the right forum to post this, I wasn't sure if it should go here or ideas)
I play on "tough" difficulty, and I've found that when I compare military ratings I am usually pretty far behind, yet when I end up going to war with the "strongest" opponent I can utterly decimate him, often with no casualties. There are many reasons for this, but ultimately, it is the military might formula that is to blame- if I can easily eradicate someone it should say so. In other words, it should be an reflection of each player's military might, but it isn't.
This has bothered me, so I've been digging around the mathematics to see if I could figure out what's wrong. It's a simple formula that the game uses. That's good.
A+D+H/10
(A=Attack, D=Defense, H=Hit points)
Where does it go wrong? After my analysis, I've determined it's 3 things (which I will explain):
#1 Hit points are drastically undervalued
This is best explained with an example. And let's look at an extreme case to make it clear. Imagine a Ship Alpha with 10A and 100H. It's military might (henceforth "M") is 20. How many 10A, 10H Beta Ships in a single fleet would it take to beat it? For the sake of simplicity, I am going to use the approximation that all attack rolls result in the maximum possible roll. While this approximation is not precise, it is actually quite close to actual results except that battles take half as many volleys to reach the end. I'm also going to let both sides attack at the same time which is fair since either side is equally likely to go first.
Thus, it takes 4 Betas to destroy 1 Alpha (the Alpha destroys 1 Beta each turn, the Betas do 40 damage the first round, 30 the second round, then 20, then 10). Both fleets are annihilated with no overkill, so a fleet of 4 Betas (M=44) is approximately equal to 1 Alpha (M=20). The military mights of the two fleets would be equal if the hit point factor was H/2 instead of H/10 (the new military mights would be 60 for both sides). I showed this process in detail for one example, but the result is general and works for any example you can come up with.
#2 Speed is not taken into account
I think everybody knows how easy it is to beat the snot out of another player if you have significantly faster ships even if they're weaker. I don't have a good way of quantifying why speed is so valuable, but I hopefully you agree that it is self-evident. However, it is tricky to include speed in military might because it helps more on offense. So I have a 2 pronged approach:
2.1) Speed determines the number of turns a ship gets, so speed is even more valuable for "good" ships than "bad" ships. Thus, speed should have a multiplicative factor: like (A+D+H)*spd. Since the first points of speed are more valuable than the last points (3 is a big upgrade from 2, but 11 is not much better than 10) I suggest a function like [sqrt(speed)] that reflects this.
2.2) The computer should make a "Defensive Military Might" check against a player it plans to attack. The reason for this is that a ship with 1 speed who has no other purpose than to defend a planet gets undervalued with my above suggestion (and a human can easily exploit this knowledge). So "Defensive Military Might" is identical to military might, except it puts a floor on how low the speed factor can go, something like [max(2, sqrt(speed))].
#3 Logistics is not taken into account
This clearly has a large impact on military might, but the best way I could think of to include it is as a multiplier on the hit points factor (reason: think about how example #1 would have been different if the Beta ships didn't have enough logistics to make a full fleet). The subtlety of this change is not worth the complexity it brings to the military might formula, so I don't think it's worth adding it as long as we remember that the formula does lose accuracy because of this.
In summary, my revised military might formula, which is much closer to fool-proof is this:
Military Might: (A+D+H/2)*sqrt(spd)
Defensive Military Might (used only by computer players): (A+D+H/2)*max(2, sqrt(spd))