As an extension I actually want one of the bugs from the earlier versions of C# to return as a feature.
The game allowed us to use different types of the same engine archetype - eg. my ships could have 1 HS 15 military engine and 2 HS 6 military engines but would not be able to mix-match commercial and military engines.
I don't think allowing different size engines on the same ship compromises any sort of game balance. Fuel consumption and thermal signature are already calculated per-engine.
I also do not understand why a ship cannot mount different sized shields, the regen rate and capacity are already calculated on a component-wise basis.
I was going to object to this on the basis of potential exploits, but I can't find any.
Shields:BP cost is the simple sum of the strength and the recharge rate and is independent of size. This applies both individually and in aggregate. While higher tech levels and larger generators give more performance per ton, the cost for a given performance level is constant.
Per-design RP cost is a flat multiple of the BP cost.
Optimizing for cost always favours dividing shields into smaller, equal sized units, with 1HS being the ideal. Such cost savings are always at the expense of performance.
Due to the size bonus, optimizing for performance always favours using the largest possible generators, but always for an increase in cost, especially RP.
Example 1:
Suppose that we can build up to 10HS Gama shields with recharge rate 2 and have 24HS space available.
24*1 HS gives us 24 strength and 48 recharge for 72 BP and 60 RP. This is the cheapest but lowest performing option.
3*8 HS gives us 42 strength and 48 recharge for 90 BP and 600 RP. This is the best performance under current rules, but at the highest cost.
Under the proposed change, 2*10 HS + 1*4 HS would give us 45 strength and 48 recharge for 93 BP and 1060 RP.
Increasing shield size tech to allow a single 24HS shield would give us 74 strength and 48 recharge for 122 BP and 2440 RP.
Example 2:
If the above case is reduced to 23 HS, about a 4.2% space reduction, the differences are more striking.
23*1 HS gives us 23 strength and 46 recharge for 69 BP and 60 RP. Performance and BP cost are reduced by almost exactly 4.2% across the board.
3*8 HS won't fit, but we can reduce to 3*7 HS for 36 strength and 42 recharge for 78 BP and 520 RP. This option leaves 1 HS unused and we take a
14.3% strength penalty and a
12.5% recharge penalty for a
13.3% BP reduction. The larger difference is because we effectively lost 2 HS instead of 1.
2*10 HS + 1*3 HS gives us 43 strength and 46 recharge for 89 BP and 980 RP, a reduction of 4.4% strength and 4.2% recharge, for 4.3% less BP.
A 23HS shield gives 70 strength and 46 recharge for 116 BP and 2320 RP. This takes 5.4% strength and penalty and 4.2% recharge penalties with a 4.9% BP reduction.
Final analysis:While allowing mixed shield sizes does allow increased shield performance in common circumstances, those gains are in amounts and come with costs consistent with existing optimization and improvement strategies. Large gains, like in Example 2, are restricted to critical cases where the existing rules give notably poor results. In all such cases the improved values are in line with similar non-critical cases.
Edit: Engine analysis complete.
Engines:Engines are more complex than shields. They can also suffer from the same prime number space problem that shields have.
For engines, the player controlled inputs are engine tech, boost multiplier, fuel consumption, thermal reduction, and engine size.
Derived factors are engine power, fuel use per hour, thermal signature, BP cost.
Engines have a minimum cost of 5 BP. RP cost is 10x BP cost.
Unless otherwise stated, reference engines are
Improved Nuclear Pulse, 100% boost, Fuel consumption 1, 100% thermal, and 10 HS.
Simple cases:Base engine power only increases other costs because it increases engine power. These cost increases are linear so they average out when mixing.
Fuel consumption tech doesn't increase costs at all and the benefits average out.
Conclusion:It is always better to just use the better tech than mix tech levels.
Boost:Engine power scales directly with boost. A pair of otherwise equal engines with boosts in a 3:1 ratio have exactly the same combined power output as two boost 2:2 engines.
The cost multiplier does not scale consistently. At 100% boost and up, cost is 50% of EP, Below 100% the cost is again multiplied by the boost factor.
The stock reference engine costs 50 BP. At 200% boost this increases to 100 BP and at 300% it is 150 BP. 50 + 150 = 100 + 100, so mixing different boosts above 100% balances out the BP cost.
To prevent hitting the 5 BP price floor, we increase to 100 HS for this test. At 25% boost this costs 31.25 BP, 50% boost costs 125 BP, and 75% gives 281.25. 2x 125 = 250. 31.25 + 281.25 = 312.5, a 25% increase. Mixing different boosts below 100% always costs more.
Going back to 10 HS to simplify fuel consumption gives us the following results:
25% boost = 0.75 L/h
50% boost = 8.84 L/h
75% boost = 36.54 L/h
100% boost = 100 L/h
200% boost = 1131.37 L/h
300% boost = 4676.54 L/h
Mixing engines with a 3:1 boost ratio consumes 2.1 times as much fuel as a pair of 2:2 engines.
Conclusion:Mixing different boost values is always a loss.
Thermal reduction:Two stock engines with 50% thermal have 50 TH signature and cost 75 BP each, for 100 TH and 150 BP total.
Two stock engines, one with 25% and the other 75% gives *24 TH/100 BP and 75 TH/62.5 BP, for 99 TH and 162.5 BP total.
Conclusion:Mixing different thermal reduction techs is always a loss.
*25% reduction actually giving 24% has been reported as a bug.
Engine size:HS | HS | EP | L/h | BP | RP |
10 | 10 | 200 | 200 | 100 | 500 |
9 | 11 | 200 | 199.75 | 100 | 1000 |
5 | 15 | 200 | 193.18 | 100 | 1000 |
1 | 19 | 200 | 169.46 | 100 | 1000 |
| 20 | 200 | 141.42 | 100 | 1000 |
Assuming 10 HS maximum engine size, 24 HS space, 48 HS ship, and 10kL fuel:
HS*# | EP | L/h | BP | RP | Range | Speed |
1*24 | 240 | 758.88 | 120 | 50 | 237m km | 5k km/s | These engines are exactly at the 5 BP cost floor, so going smaller has no cost benefit. |
8*3 | 240 | 268.32 | 120 | 400 | 671m km | 5k km/s |
10*2+4*1 | 240 | 263.25 | 120 | 700 | 684m km | 5k km/s |
24*1 | 240 | 154.92 | 120 | 1200 | 1162m km | 5k km/s |
Reducing to 23 HS, same ship and fuel:
HS*# | EP | L/h | BP | RP | Range | Speed |
23*1 | 230 | 727.26 | 115 | 50 | 237m km | 4.79k km/s |
7*3 | 210 | 251.01 | 105 | 350 | 627m km | 4.4k km/s |
7.6*3 | 228 | 261.54 | 114 | 380 | 654m km | 4.75k km/s |
10*2+3*1 | 230 | 254.77 | 115 | 650 | 677m km | 4.79k km/s |
23*1 | 230 | 151.66 | 115 | 1150 | 1137m km | 4.79k km/s |
Without the reduced size engine:
10 HS*2 produce 200 EP, consume 200L/h, and cost 100 BP. RP cost is 500. 750m km range at 4.2k km/s.
Analysis:Finer granularity of engine sizes in C# helps. The 7.6 HS engines lost less speed and range than the 7 HS engines.
Mixed size engines always get better range than an equal number and tonnage of evenly sized engines without affecting speed or BP cost, but the RP cost is multiplied by the number of sizes.
Reducing the number of engines while maintaining engine tonnage always produces better results than mixing sizes.
Sacrificing the smallest engine without maintaining tonnage will improve range and reduce cost, but at the expense of speed. L/EPh is what determines range, and all else being equal, smaller engines have worse L/EPh.
Conclusion:Mixing engine sizes is never cheaper than using evenly sized engines, and always has a higher RP cost. The optimum use case is to reduce the size of a single engine while expanding all others equally to take up the space. The extreme limit, reducing the odd engine to zero, is logically and numerically equivalent to removing an engine while retaining tonnage, which is already a known and legal optimization.