Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Pages: [1] 2 3 ... 32

Author Topic: Optimizing the Conquest: a Mathematical Model of Space Combat  (Read 17095 times)


  • Admiral
  • *****
  • Posts: 672
    • View Profile
Optimizing the Conquest: a Mathematical Model of Space Combat
« on: October 23, 2022, 12:11:27 PM »

Optimizing the Conquest: a Mathematical Model of Space Combat
Authors: CapnHector, intrinsic_parity, Thaago, Vanshilar*

The Conquest-class battlecruiser is a ship designed for a combination of speed and firepower, with a specific goal of winning engagements by rapid deployment of overwhelming firepower while sacrificing defense. Therefore, correct weapon choice is paramount to success. Simulations show that the Conquest is an effective ship for combating high-level threats [1], but the optimal weapon layout remains unknown. While simulation can demonstrate the effectiveness of a specific layout [1], it is unrealistic to simulate all possible combinations of weapons against all the diverse threats that spacefaring fleets face in the Sector. Furthermore, human bias, such as for symmetry, and excessive focus on particular threats may guide unsystematic simulation experimentation. Thus, effective combinations may exist that are so far untested. To provide an unbiased analysis of weapon effectiveness and layout effectiveness for the Conquest, we developed a mathematical model of space combat, calibrating against simulation data, and used this model to forecast the time to kill (TTK) of  weapons and combinations of weapons when mounted on the Conquest-class battlecruiser. To our knowledge, this is the first complete mathematical model of spaceborne weapons and their effects in the Persean sector.

Weapons and ships
The weapons studied were the Squall MLRS, Locust SRM, Hurricane MIRV, Harpoon MRM, Sabot SRM, Gauss Cannon, Mark IX Autocannon, Mjolnir Cannon, Hephaestus Assault Gun, Storm Needler, Arbalest Autocannon, Heavy Mauler, Hypervelocity Driver, Heavy Needler, and Heavy Mortar. A Conquest layout was considered to include 2 choices of large missile, 2 choices of medium missile, 2 choices of large gun, and 2 choices of medium gun. The target ships were Glimmer, Brawler (LP), Vanguard, Tempest, Medusa, Hammerhead, Enforcer, Dominator, Fulgent, Brilliant, Radiant, Onslaught, Aurora, Paragon and Champion-class vessels. Damper Fields and Fortress Shields were not modeled. For the weapons, damage per shot, damage type, firing pattern over time, accuracy, and recoil (accuracy loss per shot) data were used. For target ships, the data used were ship width and length, number of armor cells, baseline flux dissipation capacity, maximum flux capacity, shield effectiveness, hull integrity score, and armor score. All variables were imported from Starsector version 0.95.1a files, except weapon firing pattern was constructed based on firing duration and delay data, and armor cell number was calculated based on a previously published and verified algorithm [2].

Mathematical model
Mathematical model
For the mathematical model, the following assumptions were made:
1. The target vessel is in the center of the weapon's field of fire, but with an error term that follows the normal distribution. We define f=SD(error)/range(px). The target vessel is facing the weapons.
2. Range to target is 1000 units.
3. All weapons target the center of the target vessel.
4. Weapons firing angle is random with an angle range determined by the weapon's known maximum angle range. The weapons are mounted on turrets, not hardpoints.
5. The weapons fire continuously for the testing period.
6. The target vessel has no flux capacitors and only enough flux vents to offset shield upkeep cost.
7. The target vessel has no officer or hullmods.
8. The target vessel will raise shields to block any shots that it can block without overloading. If it were overloaded by blocking the next shot, the target vessel will lower shields instead.

A single shot's firing angle is modeled as drawn from a uniform distribution [-maxangle/2, maxangle/2]. The target vessel's visual angle is calculated based on ship width and engagement range, ignoring curvature. These are used to compute the expected hit location in pixels, to which is added a random error described by a normal distribution such that mu=0 and SD=f*1000 pixels. The result is used to determine whether the target vessel was hit and if so, which armor cell was hit, based on the pixel ranges for the target vessel's hull width and each armor cell's width. The hit is considered to be immediate with no travel time.

In order to create a probabilistic model of armor damage permitting cell by cell operations, ship armor is described as a [5, armorcells+4] matrix which is damaged according to cell by cell calculations with each hit on the central [1,armorcells] cells damaging the [5,5] matrix around it, in an inverse of the Starsector armor pooling function, such that damage is spread over a [5,5] matrix with corner cells taking 0 damage, the central cells and adjacent cells taking 1/15 damage, and their neighbor cells taking 1/30 damage, to a total of 100% of damage spread over the hit armor matrix, with central cells absorbing double the damage of peripheral cells. By contrast, Starsector is thought to pool armor strength from the cells, with peripheral cells contributing half the armor contribution of the central cells. While formal proof that the method is exactly equivalent to Starsector's handling of armor has proven elusive, we have previously noted that, based on experimentation, any error is expected to be small. Elementary algebra shows that the two methods of calculating damage are at least equivalent when it is not the case that armor %u2248 5% of starting armor. For an illustration of armor calculations, see Figure 1.

Weapon hits were modeled as the expected value of the hit (i.e. an expected value wave over the armor), an approximation previously found to be very close to the true value found by simulating individual shots [3]. Shot damage could only be reduced by a maximum of 85% by armor. When armor was lower than 5% of maximum, armor was counted as 5% of maximum for purposes of determining damage reduction. Damage was first applied to shields, then to armor if shields were not used to block, and then the excess to hull if armor could not absorb the entirety of the hit strength. Damage modifiers were used as in Starsector, that is, all weapon types contribute their full hit strength to hull damage, but adjusted by damage type for shield and armor damage. The mathematical model in its entirety is included in the appendix.

The factor f was determined to be 0.05 based on previously published [4] empirical data (Figure 2), corresponding to an error in assumption 1 such that 95% of the time the enemy ship is within 100 pixels of the center of the weapon's firing arc.

The maximum permitted combat time was 500 seconds, which was exceeded by some combinations with Hurricane-Hurricane or Hellbore-Hellbore vs. Paragon or Radiant. These outliers were excluded from the analysis.
Statistical analysis
Statistical analysis
The distribution of hits for each weapon, ship and timepoint was generated based on the mathematical model using 100 000 samples. Because the model was deterministic, it was run once for every studied combination of weapons for every ship. The distribution for each weapon, ship and timepoint combination was calculated once, then re-used based on a lookup table. The total number of combat models run was 16 times the number of possible unique layouts, that is, 16 x 7938 = 127 008 combats. For each combat model, the time to kill and weapons used were recorded. Time to kill was averaged across all ships for each weapon separately, for pairs of weapons from each category, and for combinations of large missiles and large guns. The results represent the reduction / increase in time to kill that results from using a specific combination, all other equipment being equal, on average, with flux and range combinations ignored. All analyses were performed using RStudio 2022.07.1+554. While analysis of variance was not performed, the sample size was at least 48 combats for each reported result. Further sub-analyses were performed for capital ships and Remnants as meriting special consideration.

Figure 1. Expected distribution of damage from a Hephaestus Assault Gun firing on a Dominator-class Heavy Cruiser

Figure 2. Effect of positional error (f-factor) on TTK

The results of the main analysis including pairs and combinations of weapons are presented in Table 1. Scores for individual weapons are presented in Table 2. Mean time to kill each type of ship in the second analysis which included medium guns is presented in Table 4. Preliminary analyses (reported separately) have shown that the model yields vastly different results if weapon accuracy is not simulated. Finally, Figure 3 demonstrates different strategies against the hardiest ship tested, the Radiant-class drone battleship.

Table 1. Combinations of weapons

"Large missiles"   "Avg. time to kill"   "TTK speed score"
"Squall Locust"   21.8   "4.0%"
"Locust Locust"   22.1   "2.7%"
"Squall Hurricane"   22.5   "0.9%"
"Squall Squall"   22.9   "-0.8%"
"Locust Hurricane"   23   "-1.3%"
"Hurricane Hurricane"   23.9   "-5.0%"

"Medium missiles"   "Avg. time to kill"   "TTK speed score"
"Harpoon Harpoon"   20.1   "12.8%"
"Sabot Harpoon"   22.1   "2.6%"
"Sabot Sabot"   25.8   "-12.2%"

"Large guns"   "Avg. time to kill"   "TTK speed score"
"Mjolnir Mjolnir"   18.8   "20.7%"
"Gauss Mjolnir"   19.4   "17.1%"
"Gauss Gauss"   20   "13.2%"
"Hephaestus Mjolnir"   20.6   "10.3%"
"Mjolnir Storm Needler"   21   "8.3%"
"Mark IX Mjolnir"   21.1   "7.7%"
"Gauss Hephaestus"   21.1   "7.6%"
"Hellbore Mjolnir"   21.8   "4.0%"
"Gauss Storm Needler"   21.9   "3.5%"
"Gauss Mark IX"   22   "3.1%"
"Hephaestus Hephaestus"   22.7   "0.1%"
"Hephaestus Storm Needler"   22.9   "-0.8%"
"Gauss Hellbore"   23.1   "-1.8%"
"Hephaestus Mark IX"   23.2   "-2.3%"
"Storm Needler Storm Needler"   23.7   "-4.1%"
"Mark IX Storm Needler"   24.1   "-6.0%"
"Hellbore Hephaestus"   24.2   "-6.4%"
"Mark IX Mark IX"   25   "-9.3%"
"Hellbore Storm Needler"   25.1   "-9.7%"
"Hellbore Mark IX"   26.1   "-12.9%"
"Hellbore Hellbore"   28.7   "-21.0%"

"Medium guns"   "Avg. time to kill"   "TTK speed score"
"Arbalest Heavy Needler"   21.6   "5.2%"
"Heavy Mortar Heavy Needler"   21.8   "3.9%"
"Heavy Autocannon Heavy Needler"   22   "3.3%"
"Arbalest Arbalest"   22   "3.1%"
"Arbalest Heavy Autocannon"   22.1   "2.8%"
"Heavy Needler Heavy Needler"   22.1   "2.5%"
"Arbalest Heavy Mortar"   22.1   "2.5%"
"Heavy Autocannon Heavy Mortar"   22.2   "2.1%"
"Heavy Autocannon Heavy Autocannon"   22.3   "1.8%"
"Arbalest Heavy Mauler"   22.3   "1.7%"
"Heavy Autocannon Heavy Mauler"   22.6   "0.4%"
"Arbalest Hypervelocity Driver"   22.7   "0.0%"
"Heavy Mauler Heavy Mortar"   22.8   "-0.6%"
"Heavy Mortar Hypervelocity Driver"   23   "-1.2%"
"Heavy Mauler Heavy Needler"   23   "-1.2%"
"Heavy Autocannon Hypervelocity Driver"   23   "-1.3%"
"Heavy Needler Hypervelocity Driver"   23   "-1.4%"
"Heavy Mortar Heavy Mortar"   23.1   "-1.6%"
"Heavy Mauler Hypervelocity Driver"   24.2   "-6.3%"
"Hypervelocity Driver Hypervelocity Driver"   24.3   "-6.5%"
"Heavy Mauler Heavy Mauler"   24.4   "-7.0%"

Large missiles x Large guns x Medium guns table is too large to post on the forum, available here:

Table 2. Single weapon effectiveness.

"Large missile"   "Avg. time to kill"   "TTK speed score"
"Squall"   22.4   "2.5%"
"Locust"   22.5   "1.8%"
"Hurricane"   23.9   "-4.0%"

"Medium missiles"   "Avg. time to kill"   "TTK speed score"
"Harpoon"   21.1   "11.2%"
"Sabot"   25.8   "-9.2%"

"Large gun"   "Avg. time to kill"   "TTK speed score"
"Mjolnir"   20.5   "12.1%"
"Gauss"   21.3   "8.3%"
"Hephaestus"   22.8   "1.1%"
"Storm Needler"   23.7   "-2.7%"
"Mark IX"   23.9   "-3.7%"
"Hellbore"   26   "-11.5%"

"Medium gun"   "Avg. time to kill"   "TTK speed score"
"Arbalest"   22   "2.8%"
"Heavy Autocannon"   22.2   "2.0%"
"Heavy Needler"   22.3   "1.3%"
"Heavy Mortar"   22.5   "0.5%"
"Hypervelocity Driver"   23.3   "-3.0%"
"Heavy Mauler"   23.4   "-3.3%"

Table 3. Target ship durability.

"Ship"   "Avg. time to kill"   "Avg. TTK speed score"
"glimmer"   8.8   "158.1%"
"tempest"   9.2   "147.9%"
"brawlerlp"   10.2   "121.4%"
"medusa"   10.8   "109.1%"
"vanguard"   12.1   "87.6%"
"fulgent"   13   "74.7%"
"hammerhead"   14.6   "55.0%"
"enforcer"   16   "41.4%"
"brilliant"   24.1   "-6.0%"
"aurora"   25.1   "-9.5%"
"champion"   25.4   "-10.7%"
"conquest"   27   "-16.1%"
"dominator"   32.2   "-29.6%"
"onslaught"   35.1   "-35.4%"
"paragon"   47.5   "-52.3%"
"radiant"   51.6   "-56.1%"


To our knowledge, this was the first complete mathematical model describing weapon damage in space combat in the Persean sector. Our results demonstrate that it is critical to consider all factors in the simulation. For example, our preliminary results from models that did not consider the different shot distributions and accuracy of different weapons diverged markedly from those produced by the complete model. A model without a positional error factor (f-factor) also significantly underestimated TTK compared to simulations, proving the need to include a measure of uncertainty in mathematical models of space combat.

Our results with regard to target vessel durability display linearity: ships are approximately as durable as can be expected from their deployment costs. Generally, older technology stands better to the rigors of space combat. An interesting special case, however, is the Conquest-class battlecruiser itself, which clearly has the defensive attributes of a cruiser, being in line with the defensive attributes of the Aurora- and Champion-class vessels. Another outlier is the Dominator-class heavy cruiser, which was found to have defensive attributes on par with capital ships.

The weapons of the Sector are surprisingly balanced, with no clearly dominating choices among the categories of single weapons. While certain weapons such as the Mjolnir appear to be generally advantageous in TTK, this comes at the cost of flux efficiency and / or range. The exception to this general rule is the category of medium missiles, where Harpoon MRMs should be the preferred choice, as they have a longer range, equal ammunition, and result in quicker times to kill than Sabot SRMs or combinations including Sabot SRMs.

It is interesting to note that among medium guns, older Collapse-era technology has a surprising advantage, as the Arbalest resulted in slightly faster kills than newer weapons, despite accuracy problems that were included in the model. However, we note that this comes at a range disadvantage that may not be justified by the slightly faster TTK.

The picture is significantly more nuanced when considering combinations of weapons, where carefully chosen combinations yield significantly larger effects than those of single weapons. It is especially interesting to note that while the Locust SRM is by itself inferior to the Squall MLRS, the combination of one Squall MLRS and one Locust SRM was the strongest combination of large missiles tested, although it should be noted that the ensuing range limitation likely means this combination might be inferior to two Squall MLRS in a fleet setting. Even more important than careful choice of weapon combinations, however, is avoiding combinations with limited potential against a variety of targets. For example, a Hellbore Hellbore combination was associated with -21.0% speed to achieve kill, and was notably one of the only combinations that could not kill all targets.

Overall, our results highlight the potential in systematic study and simulation of space combat, and the importance of commanders' personal skill in designing compatible weapon layouts holistically, considering the excellent balance among single weapons.

Author statement
CapnHector created the mathematical models and wrote the report. Vanshilar, intrinsic_parity and Thaago made significant contributions to developing the model.

[1] Vanshilar 2022,
[2] Vanshilar 2022,
[3] Vanshilar 2022,
[4] Vanshilar 2022,

Note: tables updated on 22-11-04. Errata in:


  • Admiral
  • *****
  • Posts: 672
    • View Profile
Re: Optimizing the Conquest: a Mathematical Model of Space Combat
« Reply #1 on: October 23, 2022, 12:11:37 PM »

Appendix 1: R scripts: attachment
Original data available upon request

Figure 3 and tables 4 and 5 to be added.

Table 4. Vs. Remnant ships only

"Large gun"   "Avg. time to kill"   "TTK speed score"
"Mjolnir"   22.2   "10.9%"
"Gauss"   22.9   "7.5%"
"Storm Needler"   23.5   "4.9%"
"Hephaestus"   24.5   "0.6%"
"Mark IX"   25.7   "-4.1%"
"Hellbore"   29   "-15.0%"

"Large guns"   "Avg. time to kill"   "TTK speed score"
"Mjolnir Mjolnir"   20.7   "18.2%"
"Gauss Mjolnir"   20.9   "17.4%"
"Gauss Gauss"   21.6   "13.1%"
"Mjolnir Storm Needler"   21.8   "12.4%"
"Mark IX Mjolnir"   22.6   "8.3%"
"Hephaestus Mjolnir"   22.7   "7.7%"
"Gauss Storm Needler"   22.9   "6.9%"
"Gauss Hephaestus"   23   "6.3%"
"Storm Needler Storm Needler"   23.5   "4.3%"
"Hellbore Mjolnir"   23.6   "3.7%"
"Gauss Mark IX"   23.7   "3.3%"
"Hephaestus Storm Needler"   23.7   "3.3%"
"Mark IX Storm Needler"   24.8   "-1.2%"
"Hephaestus Mark IX"   25.2   "-3.0%"
"Hephaestus Hephaestus"   25.3   "-3.1%"
"Gauss Hellbore"   25.3   "-3.4%"
"Hellbore Storm Needler"   25.6   "-4.4%"
"Hellbore Hephaestus"   26.5   "-7.4%"
"Mark IX Mark IX"   27.3   "-10.4%"
"Hellbore Mark IX"   28.5   "-14.1%"
"Hellbore Hellbore"   34.8   "-29.7%"

"Large missile"   "Avg. time to kill"   "TTK speed score"
"Squall"   23.5   "6.3%"
"Locust"   24.8   "0.7%"
"Hurricane"   26.6   "-6.2%"

"Large missiles"   "Avg. time to kill"   "TTK speed score"
"Squall Locust"   22.9   "6.7%"
"Squall Squall"   23.5   "4.4%"
"Squall Hurricane"   24.2   "1.2%"
"Locust Locust"   24.5   "-0.1%"
"Locust Hurricane"   25.2   "-2.7%"
"Hurricane Hurricane"   26.6   "-8.1%"

"Medium missile"   "Avg. time to kill"   "TTK speed score"
"Harpoon"   23.2   "8.3%"
"Sabot"   27.1   "-7.1%"

"Medium gun"   "Avg. time to kill"   "TTK speed score"
"Arbalest"   23.5   "3.8%"
"Heavy Autocannon"   23.5   "3.6%"
"Heavy Mortar"   23.9   "1.8%"
"Heavy Needler"   24.1   "1.1%"
"Hypervelocity Driver"   25.3   "-3.5%"
"Heavy Mauler"   25.9   "-5.9%"

"Medium guns"   "Avg. time to kill"   "TTK speed score"
"Arbalest Heavy Needler"   22.9   "6.7%"
"Heavy Mortar Heavy Needler"   23.1   "5.9%"
"Heavy Autocannon Heavy Mortar"   23.4   "4.8%"
"Arbalest Heavy Mortar"   23.4   "4.5%"
"Heavy Autocannon Heavy Needler"   23.4   "4.5%"
"Arbalest Heavy Autocannon"   23.4   "4.5%"
"Arbalest Arbalest"   23.5   "4.2%"
"Heavy Autocannon Heavy Autocannon"   23.6   "3.7%"
"Arbalest Heavy Mauler"   24   "2.1%"
"Heavy Needler Heavy Needler"   24   "2.1%"
"Arbalest Hypervelocity Driver"   24.1   "1.4%"
"Heavy Autocannon Heavy Mauler"   24.2   "1.0%"
"Heavy Autocannon Hypervelocity Driver"   24.4   "0.2%"
"Heavy Mortar Hypervelocity Driver"   24.5   "0.1%"
"Heavy Mauler Heavy Mortar"   24.6   "-0.3%"
"Heavy Mortar Heavy Mortar"   24.7   "-1.0%"
"Heavy Needler Hypervelocity Driver"   25   "-2.2%"
"Heavy Mauler Heavy Needler"   25.2   "-2.7%"
"Heavy Mauler Hypervelocity Driver"   27.1   "-9.5%"
"Hypervelocity Driver Hypervelocity Driver"   27.2   "-10.0%"
"Heavy Mauler Heavy Mauler"   28.3   "-13.6%"

Large missiles x Large guns x Medium guns table at


This is a continuation of the discussion we had in the Conquest appreciation thread, see . But I felt it had expanded enough that it warranted its own topic.

Please let me know if you do not wish to be included as an author.


  • Admiral
  • *****
  • Posts: 672
    • View Profile
Re: Optimizing the Conquest: a Mathematical Model of Space Combat
« Reply #2 on: October 23, 2022, 12:11:47 PM »

Reserved, possibly for further analysis.


  • Global Moderator
  • Admiral
  • *****
  • Posts: 6705
  • Harpoon Affectionado
    • View Profile
Re: Optimizing the Conquest: a Mathematical Model of Space Combat
« Reply #3 on: October 23, 2022, 01:06:53 PM »

This is amazing work, and reaffirms my love of the harpoon :D. Though the lack of travel time does make the harpoon real performance have a decent size asterisk on top. Its interesting that the budget medium ballistics do so well, but otoh this is in the absence of range and both of them have their strong points (DPS and decent HE hit size for mortar, kinetic damage type for anti-shield and high hit size for anti-hull for arbalest).

I will admit I find it puzzling that the Dominator ranked tougher than the Onslaught! Given that the Onslaught has more of all defenses this is weird to me, but is its larger size making it up given the strong role that shot dispersion plays in the model?


  • Lieutenant
  • **
  • Posts: 90
    • View Profile
Re: Optimizing the Conquest: a Mathematical Model of Space Combat
« Reply #4 on: October 23, 2022, 02:03:34 PM »

This is no longer a video game  :D


  • Admiral
  • *****
  • Posts: 672
    • View Profile
Re: Optimizing the Conquest: a Mathematical Model of Space Combat
« Reply #5 on: October 23, 2022, 09:47:07 PM »

This is amazing work, and reaffirms my love of the harpoon :D. Though the lack of travel time does make the harpoon real performance have a decent size asterisk on top. Its interesting that the budget medium ballistics do so well, but otoh this is in the absence of range and both of them have their strong points (DPS and decent HE hit size for mortar, kinetic damage type for anti-shield and high hit size for anti-hull for arbalest).

I will admit I find it puzzling that the Dominator ranked tougher than the Onslaught! Given that the Onslaught has more of all defenses this is weird to me, but is its larger size making it up given the strong role that shot dispersion plays in the model?

The exact data used for the ships were

#ship, hullhp, shieldregen, shieldmax, startingarmor, widthinpixels, armorcells, name
glimmer <- c(1500, 250/0.6, 2500/0.6, 200, 78, 5, "glimmer")
brawlerlp <- c(2000, 500/0.8, 3000/0.8, 450,110,floor(110/15), "brawlerlp")
vanguard <- c(3000, 150, 2000, 600, 104, floor(104/15),"vanguard")
tempest <- c(1250, 225/0.6, 2500/0.6, 200,64,floor(64/15), "tempest")
medusa <- c(3000,400/0.6,6000/0.6,300,134,floor(134/15), "medusa")
hammerhead <- c(5000,250/0.8,4200/0.8,500,108,floor(108/16.4), "hammerhead")
enforcer <- c(4000,200,4000,900,136,floor(136/15), "enforcer")
dominator <- c(14000, 500, 10000, 1500, 180, 12, "dominator")
fulgent <- c(5000,300/0.6,5000/0.6,450, 160, floor(160/15), "fulgent")
brilliant <- c(8000,600/0.6,10000/0.6,900,160,floor(160/20),"brilliant")
radiant <- c(20000,1500/0.6,25000/0.6,1500,316,floor(316/30),"radiant")
onslaught <- c(20000,600,17000,1750,288,floor(288/30),"onslaught")
aurora <- c(8000,800/0.8,11000/0.8,800,128,floor(128/28), "aurora")
paragon <- c(18000,1250/0.6,25000/0.6,1500,330,floor(330/30),"paragon")
conquest <- c(12000,1200/1.4,20000/1.4,1200,190,floor(190/30),"conquest")
champion <- c(10000,550/0.8,10000/0.8,1250, 180,floor(180/24),"champion")

On paper, the Dominator does have worse defenses. There are two things that likely contribute to the Dominator's durability: 1) the Dominator is harder to hit, despite having comparable defenses and 2) the Dominator has more dense armor. The exact figure was calculated by Vanshilar in . Dominators have 5.56 armor per pixel, while Onslaughts have 3.89 armor per pixel. Now the Onslaught has slightly more armor but it is spread over 9 horizontal cells rather than 12 and the cells are wider. So the Onslaught's individual armor cells are likely penetrated quicker.

There is another interesting effect in that it is not a matter of the shortest times to kill being shorter for the Onslaught. Rather it is that poor combos (e.g. Squall Squall Hellbore Hellbore Sabot Sabot Arbalest Arbalest) have more trouble finishing off the Dominator. Looking at the graphs, this seems to be caused by more damage leaking through to the hull of the Onslaught, as predicted by the theory above, as the Onslaught's armor stays higher despite taking more hull damage.

I do notice that accidentally the Dominator was 180 px wide rather than 220 px wide for the model in the report (it was the first ship I programmed in and I accidentally used the sprite height rather than width, which I noticed later but apparently forgot to save the change into the script running all the models - I paid attention to this when programming the rest of the ships, but if you see any other mistakes in ship attributes let me know. This is what peer review is for guys, you are now it.).

Edited: Therefore I re-ran the model for the Dominator only with 220 px width, yielding an average time to kill of 32.2 seconds for the Dominator. so, still on par with the Onslaught, but slightly weaker than it (Onslaught was 35.2 sconds). I'll re-run all the analyses when I have the computing time later, but since this is 1 ship out of 16 where the TTK changed roughly 10% I do not expect much of a change in the results..

If Alex wanted to change this to make Dominator be more in line with other cruisers, then changing the Dominator to have fewer armor cells without tweaking any of the visible values would help. Although, in practice, the shape of the Onslaught compensates (see Vanshilar's post), probably also differences in equipment in the real game may change things.


  • Captain
  • ****
  • Posts: 337
    • View Profile
Re: Optimizing the Conquest: a Mathematical Model of Space Combat
« Reply #6 on: October 26, 2022, 07:31:44 AM »

Don't have much, if anything, to add, but thank you (and the other co-authors) for the fascinating post.


  • Captain
  • ****
  • Posts: 427
    • View Profile
Re: Optimizing the Conquest: a Mathematical Model of Space Combat
« Reply #7 on: October 26, 2022, 11:49:20 AM »

One thing to keep in mind about the Conquest is that it's a broadside ship. So it's probably more accurate to model its hittable area based on its length rather than its width. This may also be true to a certain extent for the Odyssey. Under AI control, both ships seem to be more diagonal than anything, but that's a bit harder to model. For simplicity it might easier to just see the results with them from the front and from the side and then just knowing that the actual amount would be somewhere in between.

Though the lack of travel time does make the harpoon real performance have a decent size asterisk on top.

However, the Harpoon also has tracking, which means its hit rate is going to be very high. It also stays on the battlefield to seek out other targets if the one it was tracking blows up. So these attributes mean that it'll do higher damage in actual combat compared to other weapons in these models.

I will admit I find it puzzling that the Dominator ranked tougher than the Onslaught! Given that the Onslaught has more of all defenses this is weird to me, but is its larger size making it up given the strong role that shot dispersion plays in the model?

The Onslaught's frontal shape is diagonal, meaning some shots will hit armor cells that are further away and others will hit armor cells that are further in. This has the effect of increasing the number of armor cells that can be hit per unit width, and thus reduces its effective armor cell size (increasing armor density) in actual combat. So it can actually absorb more damage than a simple square block would suggest.

Attached is the Onslaught's and Dominator's "true" shape with respect to collisions (I assume it's the same for determining whether or not a weapon hits) shown in white, courtesy of the Console Command's "ShowBounds" command. You can see that the Onslaught has a lot more hills and valleys when viewed from the front, plus its sides gradually slopes away. This increases the number of armor cells that can be hit from the front, increasing its armor's effectiveness.


  • Admiral
  • *****
  • Posts: 672
    • View Profile
Re: Optimizing the Conquest: a Mathematical Model of Space Combat
« Reply #8 on: October 27, 2022, 02:45:48 AM »

Excellent illustration, thanks.

I've re-uploaded the scripts as an attachment to this forum as the original link apparently expired. The original data (ie. raw results from running the script) is several megabytes. Ask me if you need it, but it can be re-generated by running the scripts weaponsoptimize3 and weaponsaggregatemeantimebasic2 as they are.

Also added the Remnants table. I don't think I'll re-run the whole analysis in the near future as it seems like 1 day of computing time might not be worth the effort just to fix the Dominator value, but we'll see. I'm planning some more ambitious analyses for the future.

By the way, I tentatively think this analysis speaks to Squall-Squall-Gauss-Gauss or Squall-Hurricane-Gauss-Gauss (see large missiles x large guns x medium guns table at being the superior weapon choice for the Conquest, with medium guns to be decided (it seems Squall-Hurricane-Gauss-Gauss-Heavy Mauler-Heavy Mauler is one combo that did quite well at +13% ttk speed while maintaining the maximum engagement range available). This is because I think you probably generally want +25% range over +25% killing speed for a capital ship in fleet action. If this is not correct, of course, then it's one of the Mjolnir-Mjolnir layouts, or possibly Mark IX-Mjolnir if flux is an issue.


  • Global Moderator
  • Admiral
  • *****
  • Posts: 6705
  • Harpoon Affectionado
    • View Profile
Re: Optimizing the Conquest: a Mathematical Model of Space Combat
« Reply #9 on: October 27, 2022, 03:40:05 PM »

Squall-Hurricane-Gauss-Gauss-HMauler-HMauler + an Ion beam is my preferred AI conquest, with the hurricane and squalls into linked fire mode so that they fire on cooldown in a combined salvo. I like putting Harpoons in the medium missiles but it sometimes doesn't fire them very much because its "stuck" firing the larger missiles.


  • Captain
  • ****
  • Posts: 427
    • View Profile
Re: Optimizing the Conquest: a Mathematical Model of Space Combat
« Reply #11 on: October 28, 2022, 05:59:34 AM »

So I'm looking at the real-world statistics of these weapons, thanks to the Detailed Combat Results mod. I put 9000 ammo on a bunch of weapons, then took stock of how many was left at the end of the fight, and compared that with how many hits the Detailed Combat Results mod registered. This gives a good accounting of how many of the shots fired during the fight actually hit an enemy ship.

Note that this includes non-hits from all sources, i.e. hitting hulks, firing at a ship that blew up while the shot was in transit (including shots fired in a burst), ship maneuvering, ship moving out of range, etc. At first, it also included fighters (which notably made the Locust's hit rate very low), so I removed all fighters from the enemy fleet to collect this data. This somewhat overstates real-world efficiency (since in reality, some of the shots go toward hitting fighters) so I can redo the testing with the fighters added back in if anybody wants, but this gives a better idea of how often the weapons hit when they target enemy ships. The enemy fleet was my triple Ordos setup. I had Gunnery Implants (best target leading, -25% recoil) and Ballistic Weapon Mastery (+33% projectile speed), as well as Ballistic Rangefinder and ECCM. My flagship was either an Onslaught or a Legion modified for this purpose (2 large ballistics, 2 medium ballistics, 2 small ballistics, 2 large missiles, and 2 medium missiles all in the middle of the ship, with the other slots and fighter slots left empty, and flux increased to be able to handle all weapons), with the rest of the fleet being Gryphons with Squall/Harpoon/Breach/HVD. I took stats of only the flagship though, so the Gryphons didn't really matter. I did several runs, using a different set of weapons each run, then aggregated the numbers for each weapon across the runs.

The hit rate results were as follows:

hits	fired	hitrate	weapon
868 1043 83.22% storm
181 289 62.63% gauss
619 777 79.67% mjolnir
1148 1540 74.55% HAG
337 1073 31.41% devastator
248 364 68.13% mark9
136 216 62.96% hellbore
2875 3804 75.58% heavy needler
517 639 80.91% HVD
208 265 78.49% heavy mauler
464 783 59.26% HAC
213 292 72.95% arbalest
196 358 54.75% heavy mortar
3585 4699 76.29% light needler
985 1290 76.36% railgun
610 742 82.21% LAG
319 440 72.50% LDAC
324 409 79.22% LAC
125 184 67.93% light mortar
340 927 36.68% hurricane
984 1908 51.57% squall
2137 3622 59.00% locust
488 820 59.51% harpoon
346 860 40.23% sabot
169 477 35.43% annihilator
37 75 49.33% pilum

For the large ballistics, I was surprised by how often the Gauss missed. But it was that way across multiple runs (hit 64 out of 103, 57 out of 92, and 60 out of 94). Not sure if it was because of the extreme range and/or because of the low turn rate. The Hellbore also missed a lot but that was expected. A lot of the Devastator's misses were simply due to it exploding before reaching the target. Overall, in terms of hit rate, it was Storm (83%) > Mjolnir (80%) > Hephaestus Assault Gun (75%) > Mark 9 (68%) > Hellbore and Gauss (63%) >> Devastator (31%).

For the medium ballistics, the Heavy Autocannon and Heavy Mortar were noticeably worse than the others in the hit rate. It was Hypervelocity Driver (81%) > Heavy Mauler (78%) > Heavy Needler (76%) > Arbalest (73%) >> Heavy Autocannon (59%) > Heavy Mortar (55%).

For the small ballistics, they were all generally fairly accurate, although the Light Mortar was a bit worse than the others.

For the large missiles, the Locust was the most accurate, once fighters were removed. However, when fighters were present, only about 35% hit enemy ships. So in actual combat, this may need to be considered, that if there are fighters, it's probably going after them rather than enemy ships. But if it's going after enemy ships, the hit rate isn't that bad, and it also provides anti-fighter coverage. A lot of the misses are just from it not finding another target in time when its target explodes, since it fires in bursts. The Squall is good at area denial but about half of them will miss. For the Hurricane, the hit rate is low because it's a burst weapon plus its missiles are relatively slow and unguided once it spreads into its burst. It does a lot of damage when it hits though (especially on big ships like the Radiant). So it's very all-or-nothing.

For medium missiles, the Harpoon had the highest hit rate. Again, a lot of its misses is just due to it not finding another target in time after its target explodes, due to it being fired in bursts.

All the missiles were also sometimes shot down by enemy PD, which lowers their hit rate.

The hit rate factors into the weapons' flux efficiency. For example, since the HVD is a lot more likely to hit than the HAC, then it turns out that the HVD actually ends up being more flux efficient in the end. Similarly, the Heavy Mauler ends up being more flux efficient than the Heavy Mortar. In both cases the former also has more range, so they're going to be more worthwhile most of the time, depending on the ship's OP.

In terms of the Conquest, it seems like the best large missile would be Squall or Locust (or one of each), with probably Gauss or Mjolnir, depending on the range that you want to fight at. Gauss would miss more but would keep them at a longer distance, while Mjolnir might be better if you "assume" that they'll close in anyway (since Remnant ships are fast). Then it looks like Harpoons and HVD. I'd pick HVD over Heavy Mauler since HVD will do more damage to shields and hull even though Heavy Mauler is better against armor. The ship would have Gauss and/or Mjolnir and/or Harpoon for anti-armor anyway.


  • Admiral
  • *****
  • Posts: 672
    • View Profile
Re: Optimizing the Conquest: a Mathematical Model of Space Combat
« Reply #12 on: October 28, 2022, 09:37:08 AM »

Given that you have this simulation down to an art, could I ask you to simulate the layouts predicted to be most successful vs remnants by the model for Gauss -Gauss-HVD/Mauler and Mjolnir-Mjolnir, ie Squall x2 Mjolnir x 2 Harpoon x 2 Arbalest Heavy Mortar, and Squall x 2 Gauss x2 Harpoon x 2 Heavy Mauler HVD, and see which is more effective in practice in a mono-Conquest fleet in fleet combat?


  • Captain
  • ****
  • Posts: 427
    • View Profile
Re: Optimizing the Conquest: a Mathematical Model of Space Combat
« Reply #13 on: October 28, 2022, 11:13:58 PM »

Hmm. It's hard to actually use a monofleet, because in practice it's better to have a couple of other ships fulfilling other roles. In this case, the Conquest at 40 DP is a bit much to send to the initial objectives; doing so leaves only 3 ships in the middle to absorb the enemy's initial fleet. Also, I personally don't really know how to pilot a broadside ship very well.

So I took out my Onslaught, 4 Conquest, 2 Gryphon (with Squall/Harpoon/Swarmers/HVD/Xyphos) fleet, and ran it against my double Ordos test fleet (note that this includes enemy fighters now). The Gryphons grab the objectives and help with the flankers, while I pilot the Onslaught and wreck things in the middle (primarily the bigger ships, using my Proximity Charge Launchers), along with the Conquests. Since I have BotB, I start with 3 Conquests with me, and then the 4th one comes later on. Each of the Conquests had Expanded Missile Racks, Heavy Armor, ITU, Flux Distributor, Extended Shields, Stabilized Shields, Solar Shielding, ECCM, max vents, then remainder into capacitors. Each also had officers with Combat Endurance, Ballistic Mastery (elite), Gunnery Implants, Target Analysis, Missile Spec (Elite), and Ordnance Expertise. Along with the tested weapons, each Conquest also had a Burst PD Laser in the nose and 2 at the engines.

At the end of each fight, when the final Radiant is about to die, I have everyone back off and retreat. While they're retreating, I transfer command to each ship to record how much ammo they had left. Then I directly end combat using Console Command's "endcombat" command, i.e. to finish recording the stats as-is. Then I use Detailed Combat Results to check the hits and compare with the screenshots from the end of the fight. Summing up the results between the 4 Conquests, I get:

squall x2, harpoon x2, mjolnir x2, arbalest, heavy mortar
shield armor hull hits fired hitrate time %squall weapon
237493 14904 33884 1443 2760 52.28% 3.738 100.00% squall
18799 9619 31065 118 288 40.97% 0.900 24.08% harpoon
76418 33703 67604 637 965 66.01% 1.508 40.34% mjolnir
10167 481 1217 69 149 46.31% 0.745 19.93% arbalest
2260 2064 1520 111 316 35.13% 0.658 17.61% heavy mortar

squall x2, harpoon x2, gauss x2, HVD, heavy mauler
shield armor hull hits fired hitrate time %squall weapon
212640 16484 32721 1432 2672 53.59% 3.618 100.00% squall
23994 16671 27116 134 288 46.53% 0.900 24.87% harpoon
76726 14551 23468 227 425 53.41% 1.771 48.94% gauss
22952 2286 5764 155 230 67.39% 1.917 52.97% HVD
6046 14400 6289 207 330 62.73% 2.292 63.33% heavy mauler

The columns "shield", "armor", and "hull" refers to the total damage to each of them. "Hits" is the number of hits recorded by Detailed Combat Results, "fired" is number of shots fired based on screenshots from the end of combat. "Hits" divided by "fired" gives the "hitrate".

We know how long it takes to fire each weapon. So, based on the number of shots fired, we can calculate how much time (in minutes) each weapon was actively firing, on average. Since Squall has the longest range, we can use that to normalize how often each weapon was active, hence the "%squall", which is how often each weapon was actively firing compared with the Squall. The Squall can fire in any direction, so it represents how often there was an enemy target within range of the Conquest.

The Harpoons, of course, ran out early. (I had them in the same weapon group as the Squalls, linked, not sure if I should put them in their own group instead.) The Mjolnirs were active about 40% of the time, while the Gauss Cannons were active around 49% of the time, probably due to their longer range. However, the HVD and Heavy Mauler were active a lot, more than the Gauss. This is probably because they outrange the Mjolnir and have much better turn rates than the Gauss Cannon; the HVD turns at 10 degrees per second, the Heavy Mauler at 20, Mjolnir at 25, and Gauss at 3. This also likely contributes to the Mjolnir's better hit rate compared with the Gauss.

The Arbalest and Heavy Mortar had relatively low hit rates, but also weren't firing most of the time. That's probably because of their lower range (700 base range); the Conquests did *not* have Ballistic Rangefinder. The Heavy Mortar has a very low projectile speed (at 500, it matches the Hellbore), plus a large spread of 20 degrees. The Arbalest also have a fairly wide spread, at 15 degrees, compared with the Heavy Mauler's 5 degrees, and the HVD and Gauss which have no spread at all.

I also did another run with Squall, Locust, Harpoon x2, Mjolnir, Gauss, HVD, and Heavy Mauler:

shield	armor	hull	hits	fired	hitrate	time	%squall	weapon
128307 5691 10945 657 1140 57.63% 3.088 100.00% squall
35172 6337 29972 2092 3797 55.10% 3.520 114.01% locust
29879 13707 28760 161 288 55.90% 0.900 29.15% harpoon
26518 20226 26904 283 425 66.59% 1.328 43.02% mjolnir
46483 7019 15687 124 207 59.90% 1.725 55.87% gauss
24162 2090 8046 163 224 72.77% 1.867 60.46% HVD
4440 11253 9074 175 294 59.52% 2.042 66.13% heavy mauler

Both the Squall and Locust were in the same weapon group, so not sure why the AI fired the Locust more often. Might just be statistical noise, i.e. since ships die at different times, so sometimes it fires another Locust volley but not Squall or something, dunno. (That the Locusts were fired more often than Squalls were common to all 4 Conquests, so it's not a matter of one Conquest getting glitched out, either.) The hit rate for the Locusts was also surprisingly good for this run, so the fighters apparently didn't have as much of an effect as my initial testing. It's possible that this is because my initial testing was done using my flagship, i.e. in the center of the fleet action where it's busiest, whereas the data now is from the Conquests which were to either side of me, along with Gryphons (which do have Xyphos plus Swarmers) on the flanks.

What's interesting about it is that it was noticeably faster (note the Squall's time spent firing), but it's not immediately clear which combination may be better, i.e. Squall vs Locust, Mjolnir vs Gauss, HVD vs Heavy Mauler. Squall obviously did the bulk of the anti-shield, so that may imply that if there are 2 Squalls, then it should maybe be Mjolnir instead of Gauss (since the ship would already have enough anti-shield), and maybe Heavy Mauler over HVD. But Locust also did a lot of hull damage, which is useful for finishing off targets (along with its great tracking) -- the Harpoons run out after the first minute, so anti-hull was mostly Locust and Mjolnir after that. So I'm not sure if 2 Squalls is actually overkill. There are quite a few combinations that look pretty good.

I'll probably redo the testing with a somewhat different fleet; I'm thinking using 5 Conquests in the middle with me in a flanker (probably Medusa) on one side and the Gryphon on the other side, where we're really just there to keep enemy ships from spilling out the sides, and see how the Conquests handle the center bulk of the enemy fleet.

Edit: So, playing around with this a seems like using the "traitor" command on the last Radiant will prevent the battle from prematurely exiting out. So this is probably a cleaner way to record ammo at the end of combat.
« Last Edit: October 29, 2022, 12:26:10 AM by Vanshilar »


  • Admiral
  • *****
  • Posts: 672
    • View Profile
Re: Optimizing the Conquest: a Mathematical Model of Space Combat
« Reply #14 on: October 29, 2022, 01:29:28 AM »

Thank you. Need to look into this with more time. But just as a quick note I do not think the Harpoons should be in the same group as the Squalls. The ships will use them suitably when in a different group - unlike for the Gryphon you should not attempt to make the ship use them fast. Based on my experience anyway.

Though to be fair it is more accurate to the model if they are fired constantly.

One thing that might still be off about the model is that currently Squall is modeled as being as accurate as other missiles. Which may not be true, but to what extent is the question. Ie. What the error should be.
Pages: [1] 2 3 ... 32