Obviously it's a rather specialized design.
That's just the beauty of working with fighters, specialization costs nothing.
If you read closely and followed the discussion then range and speed is my number one priority as well, and I agree completely with your assessment.
Apparently I didn't read carefully enough, I was mostly looking at the designs you posted.
But on to this point:
I'm convince though that in the end large heavily armoured missiles will be much more economical when you consider the tactical and strategical applications.
You could also do the math of how much more efficient a larger yiled is compared to a smaller yield on a missile. It's not like a yield 12 is only double as effective as a yield 6. Its more like four (or maybe more) times as effective in practical terms because of how armour works.
As far as I'm aware I have factored in the total price per MSP versus smaller missiles.
I've done some math on sandpapering. The very rough numbers:
16 WH = 22. 15 * 1 WH missiles
9 WH = 11. 25 * 1 WH missiles
4 WH = 4. 5 * 1 WH missiles
2 WH has basically no boost.
Here's your proposed heavy armor missile:
Capital armoured size 12 missile
Missile Size: 12 MSP (0.6 HS) Warhead: 9 Armour: 4 Manoeuvre Rating: 10
Speed: 33300 km/s Engine Endurance: 67 minutes Range: 134.0m km
Cost Per Missile: 8.25
Chance to Hit: 1k km/s 333% 3k km/s 110% 5k km/s 66.6% 10k km/s 33.3%
Materials Required: 3.25x Tritanium 5x Gallicite Fuel x3750
And here's a simple size 2, using slightly worse tech (5x warhead):
Missile Size: 2 MSP (0.1 HS) Warhead: 2 Armour: 0 Manoeuvre Rating: 10
Speed: 33600 km/s Engine Endurance: 74 minutes Range: 148.2m km
Cost Per Missile: 1.34
Chance to Hit: 1k km/s 336% 3k km/s 110% 5k km/s 67.2% 10k km/s 33.6%
Materials Required: 0.5x Tritanium 0.84x Gallicite Fuel x1000
Aside from slightly worse fuel requirements (that can probably be optimized away), 6x size 2 missiles is basically just better. Conclusion: smaller missiles are superior for sheer anti AMM ability. High yield is another story. But do we want high yield? I'll take your spear class as an example of balanced ASM and AMM capabilities. Assuming 40 internal htk (just how badly off is that??), I get:
~37 High yield capital missiles for a kill. (402 BP) (~450 MSP) (~half killed by AMMs)
~327 Size 2 missiles. (438 BP) (~750 MSP)
Barring enough launchers to penetrate AMM defense altogether (and maybe even then), I guess we do want high yield! Firing one type, then the other could work better, but we have no way of knowing if our opponent has kept some AMMs in stock just in case. I don't really know the mechanics of mixed salvos, so I won't get into that. Lets try shooting down your vindicator instead. (htk 20?)
~45 High yield (480 BP) (535 MSP) (>35 killed by AMMs)
~220 Size 2 (295 BP) (440 MSP)
And a back of hand calculation suggests size 1 missiles would take 3/4s the cost and space of size 2s in this case.
Unsurprisingly, as the ratio of AMMs to armor goes up, small missiles improve. However, within common parameters (long range, high armor ships), it looks like you're right: Large armored missiles are superior. Good to know
I'll try to get some numbers for MIRVs tomorrow, but I'm out of time.
Oh, the python 2. 7 script I'm using, if anyone wants it:
import random
armorstrength = 5
armorlength = 30
htk = 20
iterations = 1000
print "missiles" + "\t" + "warhead"
hit = 0
hits = 0.0
for j in range(0,iterations):
armor = [armorstrength] * armorlength
damage = 0
while (damage<htk):
hits += 1
hit = random.randint(0, (armorlength-9))
armor[hit+0] -= 1
armor[hit+1] -= 2
armor[hit+2] -= 3
armor[hit+3] -= 4
armor[hit+4] -= 4
armor[hit+5] -= 3
armor[hit+6] -= 2
armor[hit+7] -= 1
armor[hit+8] -= 1
damage = 0
for i in range(0,armorlength-1):
if ((armor[i])<0):
damage -= armor[i]
print "WH 21:"
print str(hits/iterations) + "\t\t" + str(hits/iterations*21)
hit = 0
hits = 0.0
for j in range(0,iterations):
armor = [armorstrength] * armorlength
damage = 0
while (damage<htk):
hits += 1
hit = random.randint(0, (armorlength-7))
armor[hit+0] -= 1
armor[hit+1] -= 2
armor[hit+2] -= 3
armor[hit+3] -= 4
armor[hit+4] -= 3
armor[hit+5] -= 2
armor[hit+6] -= 1
damage = 0
for i in range(0,armorlength-1):
if ((armor[i])<0):
damage -= armor[i]
print "WH 16:"
print str(hits/iterations) + "\t\t" + str(hits/iterations*16)
hit = 0
hits = 0.0
for j in range(0,iterations):
armor = [armorstrength] * armorlength
damage = 0
while (damage<htk):
hits += 1
hit = random.randint(0, (armorlength-5))
armor[hit] -= 1
armor[hit+1] -= 2
armor[hit+2] -= 3
armor[hit+3] -= 2
armor[hit+4] -= 1
damage = 0
for i in range(0,armorlength-1):
if armor[i]<0:
damage -= armor[i]
print "WH 9:"
print str(hits/iterations) + "\t\t" + str(hits/iterations*9)
hit = 0
hits = 0.0
for j in range(0,iterations):
armor = [armorstrength] * armorlength
damage = 0
while (damage<htk):
hits += 1
hit = random.randint(0, (armorlength-3))
armor[hit+0] -= 1
armor[hit+1] -= 2
armor[hit+2] -= 1
damage = 0
for i in range(0,armorlength-1):
if armor[i]<0:
damage -= armor[i]
print "WH 4:"
print str(hits/iterations) + "\t\t" + str(hits/iterations*4)
hit = 0
hits = 0.0
for j in range(0,iterations):
armor = [armorstrength] * armorlength
damage = 0
while (damage<htk):
hits += 1
hit = random.randint(0, (armorlength-2))
armor[hit+0] -= 1
armor[hit+1] -= 1
damage = 0
for i in range(0,armorlength-1):
if armor[i]<0:
damage -= armor[i]
print "WH 2:"
print str(hits/iterations) + "\t\t" + str(hits/iterations*2)
hit = 0
hits = 0.0
for j in range(0,iterations):
armor = [armorstrength] * armorlength
damage = 0
while (damage<htk):
hits += 1
hit = random.randint(0, (armorlength-1))
armor[hit] -= 1
damage = 0
for i in range(0,armorlength-1):
if armor[i]<0:
damage -= armor[i]
print "WH 1:"
print str(hits/iterations) + "\t\t" + str(hits/iterations*1)