local preponderance of force
I want to borrow a term from the real life military again, an organizing principle for thinking about many kinds of tactical maneuvers.
Remember Lanchester’s Square Law as used by MaasCraft? It is an approximation which says that the power of a force of ranged units is proportional to the square of the number of units. According to this, a force of 6 dragoons is not twice as strong as 3 dragoons, it is 6^2 / 3^2 = 4 times as strong.
In other words, outnumbering the enemy by a little more can be a lot better. 6 dragoons versus 5 is 36/25 ~ 1.4:1 power ratio by the square law, and 7 dragoons versus 5 is 49/25 or nearly 2:1 power ratio. Though it’s good to remember that there are simplifying assumptions behind the derivation of Lanchester’s Square Law. It breaks down if, say, the rear dragoons have to maneuver to get into position. Even in the ideal case it’s not exact; it’s a continuous approximation of a discrete situation.
Having a local preponderance of force is the technical military term for outnumbering the other side. You’ve got more oomph in the fight. If you have a local preponderance of force then you usually want to join battle, because it will help you pull ahead globally and eventually win. That’s the thinking behind UAlbertaBot’s tactical decision making, which amounts to “if it looks like I’ll win then fight, else run away.”
Preponderance of force is why you often want to keep your army together. If you get into a battle, you’ll have the biggest force you could have.
• Killerbot, tscmoo zerg, and Overkill retreat zerglings to their sunkens when faced with a bigger force. Zerglings and sunkens together are more than their sum.
• LetaBot can spread out its army when defending, but when attacking usually tries to concentrate it into a single force for the strongest possible strike. Sometimes LetaBot misbuilds its wall or otherwise leaves some units behind in its base. When that happens, it’s plain to see that the divided army is vastly weaker.
But preponderance of force is also why you often want to split your army, on the principle “hit ‘em where they ain’t” or “fight the base, not the army”.
• Fast units like vultures and mutalisks go harassing on their own because they can race to undefended spots, where they have local preponderance of force, and cause trouble until defenders catch up.
• Ranged units can achieve preponderance of force over units with shorter range by standing back out of reach: They can shoot you and you can’t shoot them because of a cliff, or intervening forces, or whatever. This is the idea behind tank drops on a cliff (which I’ve seen only from IceBot), and it is why LetaBot puts its infantry in front of its tanks.
• Overlord hunting and depot sniping are extreme cases of local preponderance of force. Shoot stuff that can’t shoot back.
• Air units of all kinds often split from the ground army because they are not hindered by terrain. They can achieve local preponderance of force by outmaneuvering ground units, for example using cliffs.
• Drops work best when the drop lands far from defenders and close to juicy targets like workers. It’s true both for harassment drops and doom drops.
Anyway, preponderance of force is a key organizing principle for tactics, an idea that you can use to understand many kinds of tactical choices.
A bot with a strong enough understanding of preponderance of force (maybe from a combat simulator) could theoretically figure out for itself all the uses above, and more beside.
Notes about breaking the general rule: 1. Often it’s correct to fight immediately when you have a preponderance of force, but not always. You may do better by waiting until your advantage is bigger. “I could break this static defense, but I’ll have more left over and end up stronger overall if I wait for the reavers.” Or: “This is a good angle for wraith harass, but now I see a better one.”
2. Sometimes you can come out ahead in a fight from behind, even without superior micro, provided you can engage and disengage at will. Suppose it’s mutas versus marines and the marines win a stand-up fight. The mutas may still be able to poke in and pick off a marine or two before they dance back out of range, taking damage but no losses. The mutas are willing to fight (briefly) because they can come out ahead. It works because the mutas are fast and have more hit points. A similar idea is to send in battlecruisers to fight until they start to take too much damage, then retreat and repair.
3. When you’re ahead in income, it may be faster and safer to win by attrition even if you lose more in every fight. Keep attacking so the enemy must make units and not workers, and can’t catch up in income. If your ratio of income (3:1) beats your ratio of losses (2:1), you’re making progress. And of course the reverse thinking goes for the other side: Fight only the most advantageous battles; you have to win battles by a wide margin to have a chance.
Comments
krasi0 on :
Some good examples of bots trying to win by attrition are IronBot, tscmoo Z and Garm (A. Lermant)