Minor Issues and Ship Emitter Count Questions

Minor feedback:

In NOTIG and NOTPNS there are two separate alerts named “Contract extension deadline exceeded”.
chrome_2022-10-17_10-57-09


Some commands are case sensitive in kind of confusing ways:

“CXOB RAT.ai1” won’t give you an error, but just a eternally spinning progress indicator:
chrome_2022-10-17_10-59-44

“CXOB rat.AI1” has the same issue, but “cxob RAT.AI1” works.
Perhaps all commands should be changed to uppercase before being parsed?

For reference, “co arcl” and “CO ARCL” both work.


Incorrect commands give an error, which is better. But it would be nice if it repeated the correct syntax in the red text:
chrome_2022-10-17_11-00-07

Which is what the autocomplete provides:
chrome_2022-10-17_11-01-02

CXOB is a particularly tough one because I think it’s not obvious to new players that the “commodity exchange ticker” they need to provide is in the format [material].[exchange code]

CXM, is documented as needing the “material ticker”, which is really just the short material code.


Ship emitter count:

Emitter count seems to be calculated strangely for a given ship. I’m not sure if this is a bug, but from what I’ve read, it may not be working as intended. The intent seems to be that each emitter “covers” a certain volume for the ship ( Warp Drive Time - Development Log #244 | Prosperous Universe ). In the game, the FTL_VOLUME_SPAN is given as:

Emitter Size FTL_VOLUME_SPAN
FTL_FIELD_EMITTER_SMALL 250
FTL_FIELD_EMITTER_MED 500
FTL_FIELD_EMITTER_LARGE 1000

However, if you look at various ship designs of various volumes, the emitter count far exceeds what would be expected for the reported volume of the ship. I’ve considered the “volume_span” might be a volume in m3, the radius or diameter of a sphere, or potentially a 2D area, and that also doesn’t work.

My core assumption here is that for a ship of a certain volume, say 1600 m3, the game would find the smallest number of emitters to cover that area.
1 large @ 1000
1 medium @ 500
1 small @ 250 ( with 150 extra)

This theory and the above numbers would mean no small or medium emitter count would reach 2, because it would choose a larger emitter instead.

It’s pretty clear based on my research that the 250, 500, 1000 m3 span values aren’t correct. I get closer results with 100, 300, 1200, but there are still issues. I have compiled a spreadsheet of ship designs and their emitter count here: Archiel Ship Math - Google Tabellen

Ships of volume 800-900 have 1 small 3 medium emitters.
Ships of volume 900-1000 have 2 small 3 medium emitters.
Ships with a volume between 1000 m3 and 1200 m3 have 1 large and 1 small emitter.
Ships with a volume between 1200 m3 and 1400 m3 have 1 large, 1 medium, and 1 small emitter.

  • If 1 large emitter covers 1000 m3, why doesn’t a 980 m3 ship simply have 1 large emitter?
  • If 1 small emitter covers 100 m3, why doesn’t the 1110 m3 ship use 1 large and 2 small?

Are the emitter counts actually just hand typed in a table based on ship volume?

The reason these calculations are valuable is that larger emitters are more efficient than many small emitters, so going from a 963 volume ship with 2 small, 3 medium emitters to a 1089 volume ship with 1 small and 1 large emitter can cut your FTL fuel consumption and charge time significantly.

And I understand if the dev’s answer is: “This is working as intended and it’s meant to be hard to figure out”. But it’s been bugging me long enough, I had to ask :smiley:

Good catch! There are actually two notifications for the deadline exceeded event, one where the recipient can decide to extend or breach and one where the recipient cannot do that. We’ll slightly rename them to make them distinguishable.

Yes, lore wise, every ship has a certain volume that needs to be entirely covered with FTL field emitters. The numbers you initially worked with (250, 500, 1000) are correct. I think the problem is just the algorithm that finds the amount of necessary emitters. Ours works like this:

double volume = 1600; // example ship
int amountSmall = 0;
int amountMedium = 0;
int amountLarge = 0;
double coveredVolume = 0;
while (coveredVolume + 1000 <= volume) {
    amountLarge++;
    coveredVolume += 1000;
}
while (coveredVolume + 250 <= volume) {
    amountMedium++;
    coveredVolume += 250;
}
while (coveredVolume < volume) {
    amountSmall++;
    coveredVolume += 100;
}

This isn’t the prettiest solution, but it gets the work done :slight_smile: I admit it might not produce the best or most efficient results.

Thanks a lot for the reply, that is a big help. I notice some ship designs don’t seem to conform to the math that was posted. For example, this ship with a listed volume of 4016 should have 4 large emitters, but only has 3. It ends up with 1 small, 3 medium, and 3 large, which should only cover 3850 m3.

Sometimes emitter count is wrong in the other direction as well. The above math suggests a 706 m3 ship should require 2 medium and 3 small, but the blueprint puts it at 2 medium and 2 small. (covering only 700?)

Is the listed volume perhaps not the volume used in the calculation? Or there’s an early-out cap on each emitter count?