Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.98a is out! (03/27/25)

Author Topic: Gaming the "Fleet composition & doctrine" settings  (Read 1647 times)

Tranquility

  • Captain
  • ****
  • Posts: 280
    • View Profile
Gaming the "Fleet composition & doctrine" settings
« on: February 22, 2025, 05:44:00 PM »

Recently, I decided to do some testing on the Fleet composition & doctrine settings - partially because I wanted to optimize the auto-resolve strength of my own modded faction (hehe), but also because I am curious about whether all faction doctrine settings are really created equal, or if some are just better than others. Therefore, after some API digging and hours of coding and testing, I made myself a command that would help me determine whether an optimal setting exists and, if it does, what that setting is. This command will be available in a future update of is now available in my own testing mod (if you really want to try out the command for yourself right now, the dev branch currently contains it at the time of writing; you will also need the Console Commands mod to use the fleet-spawning command).

Using this command to spawn 10,000 player heavy patrol, or Detachment, fleets at a time (and despawning them ASAP to avoid crashing the game) and compute the averages from those fleets, I have gathered some of these results below, which includes auto-resolve strength among other useful stats. These results assume max possible ship quality (Pristine Nanoforge, Orbital Works, 10 stability) and fleet size multiplier (Alpha Core admin, size 6 colony, Cryoarithmetic Engine, 10 stability, High Command/Military Base/Patrol Base with Alpha Core):

3/2/2 composition, ship size 5, no priority ships, all normally-available blueprints
(Officer quality/Ship quality/More ships)
(5/1/1)
Showing 10000 player patrolLarge fleets, using stats from Manasa with ship quality 95.0% and fleet size 382.8125%:
----- Average fleet stats -----
Total base DP: 355.3438
Total effective DP: 355.8234
Average max CR: 72.97334%
Total officers: 13.9589
Average d-mod count: 0.31786197
Total ship FP: 283.3359
Total number of ships: 26.4898
Total frigates/destroyers/cruisers/capitals: 8.8977 / 7.0436 / 5.9319 / 4.6166
Total base XP: 253336.73
Effective strength: 499.893
Auto-resolve strength: 488.3786

(1/5/1)
Showing 10000 player patrolLarge fleets, using stats from Manasa with ship quality 145.0% and fleet size 382.8125%:
----- Average fleet stats -----
Total base DP: 355.4245
Total effective DP: 355.8665
Average max CR: 71.69347%
Total officers: 7.31
Average d-mod count: 0.08797941
Total ship FP: 283.3748
Total number of ships: 26.4596
Total frigates/destroyers/cruisers/capitals: 8.88 / 7.0019 / 5.9561 / 4.6216
Total base XP: 214213.14
Effective strength: 418.53125
Auto-resolve strength: 406.95535

(1/1/5)
Showing 10000 player patrolLarge fleets, using stats from Manasa with ship quality 95.0% and fleet size 574.21875%:
----- Average fleet stats -----
Total base DP: 575.9556
Total effective DP: 576.8071
Average max CR: 71.58003%
Total officers: 9.0
Average d-mod count: 0.31348667
Total ship FP: 426.0803
Total number of ships: 30.0
Total frigates/destroyers/cruisers/capitals: 4.4204 / 5.5911 / 9.6972 / 10.2913
Total base XP: 317017.8
Effective strength: 622.0109
Auto-resolve strength: 610.62024
[close]

5/1/1 composition, ship size 1, priority ships: Astral, Onslaught (XIV), Dominator (XIV), Doom, Medusa, Dram, Hermes, Mercury, Wolf (H)
(Officer quality/Ship quality/More ships)
(5/1/1)
Showing 10000 player patrolLarge fleets, using stats from Manasa with ship quality 95.0% and fleet size 382.8125%:
----- Average fleet stats -----
Total base DP: 336.3846
Total effective DP: 336.4037
Average max CR: 72.91317%
Total officers: 16.0
Average d-mod count: 0.25079334
Total ship FP: 285.5295
Total number of ships: 30.0
Total frigates/destroyers/cruisers/capitals: 18.6348 / 5.7863 / 3.3676 / 2.2113
Total base XP: 258765.34
Effective strength: 536.637
Auto-resolve strength: 533.0983

(1/5/1)
Showing 10000 player patrolLarge fleets, using stats from Manasa with ship quality 145.0% and fleet size 382.8125%:
----- Average fleet stats -----
Total base DP: 336.2315
Total effective DP: 336.2551
Average max CR: 71.82284%
Total officers: 9.0
Average d-mod count: 0.0
Total ship FP: 285.5663
Total number of ships: 30.0
Total frigates/destroyers/cruisers/capitals: 18.6248 / 5.805 / 3.3607 / 2.2095
Total base XP: 222901.33
Effective strength: 462.27374
Auto-resolve strength: 458.67416

(1/1/5)
Showing 10000 player patrolLarge fleets, using stats from Manasa with ship quality 95.0% and fleet size 574.21875%:
----- Average fleet stats -----
Total base DP: 555.1457
Total effective DP: 555.1889
Average max CR: 71.51346%
Total officers: 9.0
Average d-mod count: 0.24963666
Total ship FP: 427.0945
Total number of ships: 30.0
Total frigates/destroyers/cruisers/capitals: 8.8175 / 7.2181 / 10.0114 / 3.953
Total base XP: 321037.84
Effective strength: 657.39874
Auto-resolve strength: 653.85803
[close]

Based on these results and more, I have gathered the following observations and recommendations for maximizing the auto-resolve strength of your player faction patrols:
  • In general, more ships > officer quality > ship quality, regardless of the faction's current ship quality and fleet size multipliers (yes, I did test with lower base ship quality and fleet sizes).
    - In any scenario where fleet size is fixed (e.g., anything that spawns fleets with set fleet points, or FP, which tends to happen in modded games), officer quality is almost always superior - and arguably performs better in actual combat scenarios, as officers help tilt a fleet's initial DP deployment in its favor and concentrate more power in the deployed ships.

  • On average, ship size 1 produces more auto-resolve strength than ship size 5 due to spawning more combat ships - which in turn also raises the fleet's officer cap.
      - The only exception is if the fleet size is so high that it reliably produces 30-ship fleets, in which case ship size 5 may provide slightly more auto-resolve strength. In practice, this only really happens at >500% fleet size, and, even then, this only applies to the heavy patrol fleets, as the medium and small fleets will still have fewer than 30 ships. Therefore, ship size 1 remains better in most cases.

  • Prioritize ships with high FP to increase the FP contributed by officers, as officers in high FP ships contribute more FP than officers in low FP ships.
    - For frigates only, prioritize the lowest FP possible (e.g., Kite, Hound, Shepherd) to minimize wasted FP as well as increase the number of combat ships and, thereby, officers.

  • Always prioritize Hermes, Dram, and Mercury for civilian ships, as they have the lowest FP for their respective civilian categories (FREIGHTER, TANKER, LINER).
    - I am not too sure why prioritizing the bigger civilian ships - Atlas, Prometheus, and Starliner - actually decreased the average fleet's auto-resolve strength by ~20-25 (compared to Hermes/Dram/Mercury). My best guess is that fleets can only have up to a certain number/ratio of civilian ships, with any excess civilian FP becoming additional combat FP, which could explain this phenomenon.

  • Do not prioritize ships with built-in d-mods (e.g. Executor, LP ships), as the d-mods count against a ship's auto-resolve strength.

With those observations in mind, these are the recommended ships to prioritize if you want to optimize auto-resolve strength without sacrificing much in-combat strength, assuming you have the blueprints (if you do not have them, just prioritize High Tech ships, as those generally have the higher FP values):
  • Frigates: Wolf/Lasher/Wayfarer/Vigilance/Cerberus/Monitor [5 FP]
  • Destroyers: Enforcer (XIV)/Manticore/Medusa [12 FP]
  • Cruisers: Dominator (XIV) [18 FP] and Doom [22 FP]
  • Capitals: Onslaught (XIV)/Invictus [35 FP] and Legion (XIV) [30 FP]
Side note: I originally used Astral [27 FP] for the carrier slot since I was testing if prioritizing ships with high DP:FP ratios (which is basically all High Tech ships) resulted in the most auto-resolve strength (it did not, but it is close). When I tested what I thought was the most optimized fleet (the one described in the 2nd spoiler), I had forgotten that the Legion is also classified as a carrier and has a higher FP than the Astral (28 FP for base Legion, 30 FP for XIV Legion). I don't think this would have affected the result much though, given the difference is only a few FP anyways.

Edit (2/23/2025): I officially updated my testing mod since this post, so anyone can use the command if they wish. While the command's outputs are somewhat different now (most notably by making the initial patrol FP affected by randomness, like vanilla does with the in-game patrols), the overall results have not changed too much. Therefore, this post's conclusions should still hold.

With that out of the way, here are a few more results that I have ran with the final, updated version of this command, which shows the fleet stats for the average Remnant fleet (a little inaccurate since Nexus-spawned Remnant fleets actually spawn with 100% ship quality, not 120%, but that should not affect their overall composition as far as I know) and also demonstrates the auto-resolve difference when prioritizing Hermes/Dram/Mercury vs. prioritizing Atlas/Prometheus/Starliner:

Composition of the average max-strength Ordo fleet (~320 FP)
Command used: spawnfactionfleets -cv remnant 100000 84
Showing 100000 remnant taskForce fleets, using stats from fake with ship quality 120.00001% and fleet size 382.8125%:
----- Average fleet stats -----
Total base DP: 380.699
Total effective DP: 380.82333
Average ship max CR: 82.69013%
Total officers: 19.66157
Average ship d-mod count: 0.0
Total ship FP: 317.5461
Total number of ships: 24.76101
Total frigates/destroyers/cruisers/capitals: 8.15294 / 9.27229 / 5.67695 / 1.65883
Total base XP: 343250.03
Effective strength: 762.37946
Auto-resolve strength: 762.37946
----- Fleet composition of spawned fleets -----
apex: 279088 (11.271269%)
brilliant: 288607 (11.655704%)
fulgent: 573467 (23.16008%)
glimmer: 407683 (16.464716%)
lumen: 407611 (16.46181%)
nova: 85379 (3.4481227%)
radiant: 80504 (3.2512405%)
scintilla: 353762 (14.287059%)
Total number of ships: 2476101
[close]

5/1/1 composition, 1/1/5 doctrine, ship size 1, priority ships: XIV ships (Onslaught, Legion, Dominator, Enforcer), Doom, Wolf (H), Hermes, Dram, Mercury
Command used: spawnfactionfleets -cv player 100000 patrolLarge
Showing 100000 player patrolLarge fleets, using stats from Manasa with ship quality 95.0% and fleet size 574.21875%:
----- Average fleet stats -----
Total base DP: 457.8553
Total effective DP: 457.9065
Average ship max CR: 73.16648%
Total officers: 9.17807
Average ship d-mod count: 0.24968603
Total ship FP: 410.20453
Total number of ships: 30.14606
Total frigates/destroyers/cruisers/capitals: 10.62266 / 7.5158 / 8.01721 / 3.99039
Total base XP: 312781.34
Effective strength: 639.0287
Auto-resolve strength: 634.99524
----- Fleet composition of spawned fleets -----
dominator_xiv: 744006 (24.68004%)
doom: 57715 (1.9145122%)
dram: 225814 (7.490664%)
enforcer_xiv: 751580 (24.931284%)
hermes: 230199 (7.636122%)
legion_xiv: 205225 (6.8076887%)
onslaught_xiv: 193814 (6.429165%)
wolf_hegemony: 606253 (20.110521%)
Total number of ships: 3014606
[close]

5/1/1 composition, 1/1/5 doctrine, ship size 1, priority ships: XIV ships (Onslaught, Legion, Dominator, Enforcer), Doom, Wolf (H), Atlas, Prometheus, Starliner
Command used: spawnfactionfleets -cv player 100000 patrolLarge
Showing 100000 player patrolLarge fleets, using stats from Manasa with ship quality 95.0% and fleet size 574.21875%:
----- Average fleet stats -----
Total base DP: 451.42075
Total effective DP: 451.46756
Average ship max CR: 73.19648%
Total officers: 9.33836
Average ship d-mod count: 0.24947765
Total ship FP: 405.32327
Total number of ships: 30.00902
Total frigates/destroyers/cruisers/capitals: 8.1922 / 7.34252 / 7.11762 / 7.35668
Total base XP: 308297.3
Effective strength: 608.8009
Auto-resolve strength: 598.4945
----- Fleet composition of spawned fleets -----
atlas: 248494 (8.280643%)
dominator_xiv: 653581 (21.779486%)
doom: 58181 (1.9387838%)
enforcer_xiv: 734252 (24.46771%)
legion_xiv: 169037 (5.632873%)
onslaught_xiv: 171863 (5.727045%)
prometheus: 146274 (4.8743343%)
wolf_hegemony: 819220 (27.299124%)
Total number of ships: 3000902
[close]
« Last Edit: February 23, 2025, 05:21:16 PM by Tranquility »
Logged

PixiCode

  • Admiral
  • *****
  • Posts: 673
    • View Profile
Re: Gaming the "Fleet composition & doctrine" settings
« Reply #1 on: February 22, 2025, 06:18:03 PM »

That sounds painful to discover, hehe. Thanks for sharing the information!
Logged

Bungee_man

  • Admiral
  • *****
  • Posts: 943
    • View Profile
Re: Gaming the "Fleet composition & doctrine" settings
« Reply #2 on: February 22, 2025, 08:00:02 PM »

The FP/DP distinction still feels weird to me, now that the balance has seemingly settled around the idea of DP being the number around which ship power is balanced. It made sense in earlier versions, where an expensive 10DP ship might just be outright better than a cheap 10DP ship, but nowadays everything is meant to compare somewhat evenly with everything else, so it's weird for two 10DP ships with the same S/D mods and the same officers to have different autoresolve strength.

Any case, is attrition a meaningful factor here? Ship size 5 would lose less strength over multiple repeated engagements, right?
Logged

Tranquility

  • Captain
  • ****
  • Posts: 280
    • View Profile
Re: Gaming the "Fleet composition & doctrine" settings
« Reply #3 on: February 23, 2025, 05:04:31 PM »

I updated the OP with a few new results, now that I updated the testing mod as well as the command that I had originally used. Go check them out, especially if you are curious about fleet stats and composition regarding Remnant fleets!

...

Any case, is attrition a meaningful factor here? Ship size 5 would lose less strength over multiple repeated engagements, right?

I did not really consider attrition here, since that matters a little less in auto-resolve (which only cares about FP generally and not ship sizes). That said, in auto-resolve engagements, the fleets will lose CR as if they deployed every single ship, even their civilian ones, so the best ships for this purpose are the ones with the least CR spent per deployment, which generally are Low Tech ships. Fortunately, most of the ships I recommended for optimizing auto-resolve also happen to be Low Tech ships anyways (another win for XIV Battlegroup ships!), so attrition really isn't a big deal for optimizng auto-resolve (unless you are fighting with your patrols in-combat, but then you probably would be maximizing in-combat potential rather than auto-resolve potential, which honestly is not the main point of the OP).
« Last Edit: February 23, 2025, 05:10:55 PM by Tranquility »
Logged

Vanshilar

  • Admiral
  • *****
  • Posts: 807
    • View Profile
Re: Gaming the "Fleet composition & doctrine" settings
« Reply #4 on: February 23, 2025, 11:34:38 PM »

Composition of the average max-strength Ordo fleet (~320 FP)
[close]

This stuff is neat! I was just going to ask if you could do the same for Ordos. In the past I actually spawn a bunch of fleets from a full Nexus and then wrote down the fleet stats manually into an Excel spreadsheet to gather the statistics. This will make it much easier to figure out what the statistics for a given fleet are supposed to be!

I will note that sometimes [REDACTED] ships do have d-mods though. From my stats (20 Ordos fleets) it was around 18.6% of the time, and does not seem to depend on ship (i.e. a Radiant has the same chance as a Lumen of having one).

Any idea if a damaged Nexus has different fleet statistics compared with a full Nexus? I've never bothered to check them out.

Also, can you break down the officers by level, i.e. Alpha/Beta/Gamma? (I say "level" so that it could be readily applied to faction fleets as well.) My data was an average of 10.9 Alphas, 4.95 Betas, and 5.1 Gammas per fleet, or 20.95 total, but you got 19.66 so it looks like my statistics ended up being a bit bigger than average. In fact, comparing 1) your statistics 2) my manual statistics and 3) my double Ordos test fleet statistics (divided by 2), they did seem fairly close:

Code
code	manual	test	field
380.70 399.85 382.00 base DP
19.66 20.95 19.50 total officers
317.55 333.90 310.00 ship FP
24.76 26.10 23.50 number of ships
0.81 0.85 1.00 Radiant
0.85 0.85 1.00 Nova
2.79 2.80 2.00 Apex
2.89 3.20 3.50 Brilliant
3.54 4.20 3.50 Scintilla
5.73 5.60 5.50 Fulgent
4.08 4.45 4.00 Gimmer
4.08 4.15 3.00 Lumen

I find it funny that it looks like my double Ordos test fleet was actually closer to the "actual" statistics than the 20-fleet data that I manually recorded.

Also, is there a way to display the count of the different wings? To see how often Flash/Lux/Spark shows up.
Logged

Tranquility

  • Captain
  • ****
  • Posts: 280
    • View Profile
Re: Gaming the "Fleet composition & doctrine" settings
« Reply #5 on: February 24, 2025, 01:02:45 PM »


This stuff is neat! I was just going to ask if you could do the same for Ordos. In the past I actually spawn a bunch of fleets from a full Nexus and then wrote down the fleet stats manually into an Excel spreadsheet to gather the statistics. This will make it much easier to figure out what the statistics for a given fleet are supposed to be!

I will note that sometimes [REDACTED] ships do have d-mods though. From my stats (20 Ordos fleets) it was around 18.6% of the time, and does not seem to depend on ship (i.e. a Radiant has the same chance as a Lumen of having one).

Any idea if a damaged Nexus has different fleet statistics compared with a full Nexus? I've never bothered to check them out.

Also, can you break down the officers by level, i.e. Alpha/Beta/Gamma? (I say "level" so that it could be readily applied to faction fleets as well.) My data was an average of 10.9 Alphas, 4.95 Betas, and 5.1 Gammas per fleet, or 20.95 total, but you got 19.66 so it looks like my statistics ended up being a bit bigger than average. In fact, comparing 1) your statistics 2) my manual statistics and 3) my double Ordos test fleet statistics (divided by 2), they did seem fairly close:

...

I find it funny that it looks like my double Ordos test fleet was actually closer to the "actual" statistics than the 20-fleet data that I manually recorded.

Also, is there a way to display the count of the different wings? To see how often Flash/Lux/Spark shows up.

I updated the testing mod to include your suggestions; thank you for suggesting showing the officer level and fighter count/types!

I also re-ran the 100,000 Remnant fleet spawns with the updated command, so here's the new results, using an exact target FP of 320 and a forced ship quality of 100%:
Composition of the average 320 FP Ordo fleet
Command used: spawnfactionfleets -cfvi remnant 100000 320 1
Showing 100000 remnant taskForce fleets, using stats from fake with ship quality 100.0%:
----- Average fleet stats -----
Total base DP: 380.1396
Total effective DP: 380.26465
Average ship max CR: 82.69117%
Total officers: 19.67019
  {"4": 4.70016, "6": 4.85066, "8": 10.11937}
Average ship d-mod count: 0.16688275
Total flight decks: 12.70441
  {"flash_wing": 1.63263, "lux_wing": 2.0886, "spark_wing": 3.40698, "terminator_wing": 5.5762}
Total ship FP: 317.51254
Total number of ships: 24.78968
Total frigates/destroyers/cruisers/capitals: 8.194 / 9.28131 / 5.6662 / 1.64817
Total base XP: 343011.28
Effective strength: 753.3687
Auto-resolve strength: 753.3687
----- Fleet composition of spawned fleets -----
apex: 278810 (11.247019%)
brilliant: 287810 (11.610074%)
fulgent: 574747 (23.184929%)
glimmer: 409727 (16.528128%)
lumen: 409673 (16.52595%)
nova: 84928 (3.4259417%)
radiant: 79889 (3.2226715%)
scintilla: 353384 (14.255287%)
Total number of ships: 2478968
[close]

As for damaged Nexus stats, looking at RemnantThemeGenerator.java's generateForSector() and RemnantStationFleetManager.java's spawnFleet() suggests that, at the max possible strength, a damaged Nexus spawns Remnant fleets with target FP values between 144 and 192 (average of 168), while a fully-operational Nexus spawns fleets with FP values between 256 and 384 (average of 320). So, Remnant fleets from damaged Nexus only have, on average, a little more than half the FP of a Remnant fleet from a fully-operational Nexus.

One thing to note here with these stats is that the results do change slightly, if not more, when spawning fleets with an exact FP vs. spawning fleets with a range of FP values, even if the average FP matches the exact FP. This is actually why I ended up putting back the randomized FP values for patrol fleets, since I noticed during testing that, with a set heavy patrol FP, each player fleet somehow always ended up with having 2 Hermes and 2 Drams, which clearly did not seem right when actual patrols spawn with varying amounts.

Still, the results are definitely quite close with what you had recorded (similar core distribution and all), so I think it works well enough as a numerical representation of the Remnant Ordo fleet. (I'll look into allowing fleets to spawn with any range of FP next time, perhaps.)