Guts of bombing
Author: Leonard Dickens
Email: {email removed by editor}
Date: 1998/07/17
Forums: rec.games.computer.stars
Here is an improved version of Thomas Pfister's excellent recent post on bombing. Since it came time for Armageddon's in a game I am in, I took the time to understand the post and brush it up to cover bombing in a more complete manner.
4.1.1) DEFENSIVE COVERAGE
Each Defense type has a specific "base" defense coverage, which is the value of Defense coverage _ONE_ Defense gives population:
SDI 0.99% Missile 1.99% Laser 2.39% Planet 2.99% Neutron 3.79%
The coverage of more than one Defense is calculated as follows:
(4.1.1a) For pop defending against normal bombs:
Def(pop) = 1-((1-d)^n), where n is the number of Defenses.
e.g. 100 Neutron-Defs:
= 1 - ((1 - 3.79%)^100) = 1 - ((1 - 0.0379)^100) = 1 - (0.9621^100) = 1 - 0.0208 = 0.9792 = 97.92%
This is the defensive coverage afforded to population versus normal bombs (like cherry bombs; see list below) and versus packet hits.
(4.1.1b) For buildings (factories, mines, and defenses themselves) the defensive coverage versus normal bombs is halved:
Def(build) = Def(pop)*0.5
e.g. versus 100 Neutron Defs:
= 97.92% *.5 = 48.96%
(4.1.1c) For pop versus invasions the coverage is 75%:
Def(inv) = Def(pop)*.75
e.g. versus 100 Neutron Defs:
= 97.92% * .75 = 73.44%
(4.1.1d) Versus smart bombs the coverage is calculated differently. The base coverage level of the defenses is halved. Thus, the total defensive coverage is calculated as follows:
Def(smart) = 1-((1-(d/2))^n)
e.g. versus 100 Neutron defs:
= 1 - ((1 - (3.79%/2))^100) = 1 - ((1 - (1.895%))^100) = 1 - ((1 - 0.01895)^100) = 1 - ((0.98105)^100) = 1 - .1476 = 0.8524 = 85.24%
(4.1.1e) The following table summarizes the effective defense percentage obtained against each type of attack, using 100 defenses:
pop build inv smart SDI 63.03 31.51 47.27 39.12 Missile 86.60 43.30 64.95 63.21 Laser 91.10 45.55 68.32 69.95 Planet 95.20 47.60 71.40 77.83 Neutron 97.90 48.95 73.43 85.24
4.1.2) NORMAL BOMBS
Each normal bomb type has a specific pop-kill percentage, as well as building-kill number and a minimum kill number. The values given by _ONE_ bomb are summarized here:
perc #inst min Lady Finger 0.6% 2 300 Black Cat 0.9% 4 300 M70 1.2% 6 300 M80 1.7% 7 300 Cherry 2.5% 10 300 LBU-17 0.2% 16 0 LBU-32 0.3% 28 0 LBU-74 0.4% 45 0 OrbtlColnyM 0 0 2000 Hush-a-boom 3.0% 2 0 MultiContnM 2.0% 5 0
Normal bombs add linearly; that is, adding another bomb always increases the amount of stuff killed/destroyed the same amount. (That is, until the enough bombs are there such that the planet is wiped clean, after which point additional bombs add nothing).
The effect of normal bombs is computed as follows:
(4.1.2a) Normal bombs versus pop.
In this case, you get the larger of the percentage kill sum (as modified by defenses), and the minimum kill value (also as modified). It is typically the case that a bomb kills more than its minimum kill value. If so, you should use this formula:
Normalpopkills = sum[bomb_kill_perc(n)*#(n)] * (1-Def(pop))
e.g. 10 Cherry and 5 M70 bombing vs 100 Neutron Defs (97.92%)
= sum[2.5% *10; 1.2% *5] * (1-97.92%) = sum[25% ; 6%] * 2.08% = 31% * 2.08 % = 0.31 * 0.0208 = 0.00868 = 0.868% of planetary pop will be killed
The minimum calculation does not give a percentage of pop killed, but rather an absolute number. It works as follows:
Minkills = sum[bomb_kill_min(n)*#(n)] * (1-Def(pop))
e.g. the same bombs/planet as the previous example:
= sum[300 *10; 300 *5] * (1-97.92%) = sum[3000; 1500] * 2.08% = 4500 * 2.08 % = 4500 * 0.0208 = 93.6 minimum pop killed (probably rounded to 100...(?))
To determine whether the minimum kill value will be used, just multiply the planet population by Normalpopkills and see which is higher. Whichever way gives more kills is used.
e.g. the same bombs/planet as before; assume the planet pop is 300000. The amount of pop killed (via Normalpopkills) is 0.00868 * 300000 = 2604 (rounded to 2600 (?)), which will used since 2604 is greater than 93.6.
(4.1.2b) Normal bombs versus buildings.
Destroy_Build = sum[destroy_build_type(n)*#(n)] * (1-Def(build))
e.g. 10 Cherry + 5 M70 vs 100 Neutron Defs
= sum[10*10; 5*6] * (1-(97.92%/2)) = sum[100; 30] * (1-(48.96%)) = 130 * (1- 0.4896) = 130 * 0.5104 = ~66 Buildings will be destroyed.
Building kills are allotted proportionately to each building type on the planet. For example, a planet with 1000 installations (of all three types combined) taking 400 building kills will lose 40% of each of its factories, mines, and defenses. If there had been 350 mines, 550 factories, and 100 defenses, the losses would be 140 mines, 220 factories, and 40 defenses.
return to table of contents
4.1.3) SMART BOMBS
Each smart bomb type has a specific pop-kill percentage. The values given by _ONE_ bomb are summarized here:
Smart 1.3% Neutron 2.2% Enriched Neutron 3.5% Peerless 5.0% Annihilator 7.0%
Smart bombs do *not* add linearly; instead, they use this formula:
Pop_kill(smart) = (1-Def(smart))(1 - multiply[ (1 - kill_perc(n)^#n) ])
Where "multiply[x(n)]" is the math "big-pi" operator, which means multiply all the terms together, i.e.:
multiply[x(n)] = x(n1)*x(n2)*x(n3)... *x(ni)
e.g. 10 Annihilators + 5 neutron vs. 100 Neutron-Defs(Def(smart)=85.24%)
= (1-85.24%) * (1 - multiply[((1-7%)^10); ((1-2.2%)^5)]) = (1-0.8524) * (1 - ((1-0.07)^10) * ((1-0.022)^5)) = 0.1476 * (1 - (0.93^10) * (0.978^5)) = 0.1476 * (1 - 0.484 * 0.895) = 0.1476 * 0.56682 = 0.0837 = 8.37% of planetary pop will be killed.
Notice that the second term asymptotically approaches 1.0 as the number of bombs increase. Thus, with high bomb numbers, the maximum kills will approach the first term (14.76%); that's the term determined solely by the planet's defenses. There are two results worth noting of this behavior, one each for the attack and defense:
On the attack, you will note that it doesn't really take that many bombs to approach the kill limit; i.e., a single B-52 carrying 16 Annihilators will, by itself, kill roughly 69% of the maximum killable pop; adding a second such bomber boosts this to 90%, and a third to 97%. Adding additional bombers above this point gains you almost no additional pop killed. Thus, fleets of smart bombers should be quite small.
But on defense, we note that there is a maximum kill percentage for any given defensive tech, and that as defensive tech increases, this value can fall below the pop growth rate. Thus, with planetary pop in the high growth zone (say 1/4 to 1/2 max. pop), but above the level needed to operate all defenses (250K), the planet may grow more pop than can be bombed! Sometimes you can never bomb out a high defenses planet with smart bombs alone.
return to table of contents
4.1.4) HETEROGENEOS (MIXED TYPE) ATTACKS
When you attack a planet using multiple types of weapons/bombs (i.e. mixing normal and smart bombs), the effects are resolved in the following order:
waypoint 0 invasions in-space packets move, hit production (new installations built, new packets launched) population grows/dies normal bombing smart bombing waypoint 1 invasions
Each of the steps above is done for each player, before moving on to do the next step. Thus, allies bombing the same planet can therefore overcome the smart bomb pop-kill limitation, as they are individually limited but not collectively. (And two players each knocking off 15% of the pop will be able to clear any planet). It is also possible to use normal bombs to knock down a planet's defenses before destroying the pop using smarts against the weakened defense.
4.1.5) Credit
This file was created primarily by Thomas Pfister, who posted it to r.g.c.s on June 6, 1998. Leonard Dickens has cleaned up the English, anglicized the numbers, and added extra analysis/details not found in the original. Credit is also due to SBPosey, whose useful work on exact order of execution is excerpted here in section 4.1.4