User:Evil4Zerggin/Advanced cannon notes

Rebalance

 * All damage was changed from scaling as 0.5 power of volume to 0.65 power of volume.
 * Ammo formula seems unchanged, so long aspect ratio shells still deal less per ammo.
 * Cooldown was changed from scaling as 0.65 power of volume to 0.5 power of volume.
 * Feed time seems unchanged, so larger shells deal more DPS per cannon volume.
 * Recoil still scales as 0.65 power of volume.
 * Barrel length for propellant burn changed from 16 * propellant length to 12 * propellant length^0.75.
 * Barrel length for 1 degree accuracy changed from 4 * number of shell modules * sqrt(diameter) to 3 * shell length^0.75.

Optimization
Script: https://github.com/ajul/fromthedepths/blob/master/optimization/autoloaders.py

Assumes a flat fixed cost plus a variable cost of loaders, clips, and feeders.

Results in terms of fire rate per RP cost, with the baseline being direct feed with 4 feeders. Note that different tables cannot be compared directly, as they refer to cartridges of different lengths and use different fixed costs.

1m loaders
Assuming 10k fixed costs.

Belt-fed loaders are king.

2m loaders
Assuming 15k fixed costs.

Conventional is best, though clipless may reduces threat of ammo explosions and pack better at the cost of ~30% efficiency.

4m loaders
Assuming 20k fixed costs.

8m loaders
Assuming 25k fixed costs.

Old analysis
Warning: now obsolete.

Let us measure time in units of the time needed to fire a cartridge (i.e. a feeder takes 2 time units to load). We will consider only 1m cartridges, as they are generally the most effective.

We will consider the limiting factor to be the number of blocks on the cannon itself, i.e. counting feeder inputs but not outputs. Let $$n$$ be the number of blocks per autoloader (including clips and feeders). The number of autoloaders that can fit is then proportional to $$n_a^{-1}$$. However, due to the complexity factor, the fire rate is proportional to $$n_a^{-0.75}$$. Thus, the space "cost" of an autoloader is not $$n$$ but $$n_a^{0.75}$$.

Our measure of efficiency is then the rate of fire multiplier per block0.75, which has the most peculiar units of m-2.25.

Now let us consider various configurations.

1 clip, 2 feeders
The fire rate is 1, and we have 4 blocks, for an efficiency of

$$\frac{1}{4^{0.75}} \approx 0.354 $$

1 clip, 1 feeder
Note that the complexity factor affects fire rate but not feed rate. Thus with enough autoloaders, fewer feeders are needed to sustain full rate of fire.

This example sustains full rate of fire at 16 or more autoloaders.

$$\frac{1}{3^{0.75}} \approx 0.439$$

2 clips, 2 feeder
Sustains full rate of fire at 4 or more autoloaders, but not so great packing.

$$\frac{\sqrt{2}}{5^{0.75}} \approx 0.423$$

2 clips, 1 feeder
Courtesy of User:RA2lover.

Sustains full rate of fire at 64 or more autoloaders. Good 3x3 packing assuming you have a central shaft to attach the autoloaders to as well as 2x2 packing for even-sized designs, but sustaining a full fire rate through it continuously is difficult.

$$\frac{\sqrt{2}}{4^{0.75}} = 0.5$$

3 clips, 2 feeder
Sustains full rate of fire at 9 or more autoloaders and fits nicely in a 3x2x1 when the clips are oriented properly.

$$\frac{\sqrt{3}}{6^{0.75}} \approx 0.452$$

4 clips, 2 feeder
Sustains full rate of fire at 16 or more autoloaders. While it has great efficiency on paper I would generally go with the better packing offered by the 3-clip above.

$$\frac{\sqrt{4}}{7^{0.75}} \approx 0.465$$

4 clips, 4 feeder
Sustains full rate of fire regardless of the number of autoloaders and packs well in a 3x3x1. It does beat out 1 clip, 2 feeder.

$$\frac{\sqrt{4}}{9^{0.75}} \approx 0.385$$

0 clips, 1 feeder
This cannot be compared in the same way since it is not affected by autoloader complexity. With the new feeder behavior it does indeed take about 1.5 times the regular time to feed. Each autoloader gives a fire rate of 1/3 and each takes 2 blocks, so the effective efficiency for $$n$$ blocks is

$$\frac{n}{6} \frac{1}{n^{0.75}} = \frac{n^{0.25}}{6}$$

This passes the 3 clips, 2 feeders setup at about 54 blocks; that's 27 of this type or 9 of the 3 clips, 2 feeders.

These are now affected by complexity as well, making them no longer the best option in terms of fire rate, though they may have other benefits (e.g. less catastrophic explosions).

$$\frac{2/3}{2^{0.75}} \approx 0.396 $$

Belt-feds
Previously I made an error in my analysis, namely that I incorrectly penalized belt-fed feeders for complexity. Running some optimization scripts, this seems to be enough to decisively tilt things in favor of belt-feds.