In terms of conveying everything that goes into it, though... that's where it gets complicated, and part of the question is just how much to explain. I mean, talking about "logarithmic dropoff" is probably not a good idea.
... it'd be a lot simpler if ships could just contribute a linear amount. Too bad this leads to ranges that just don't work out gameplay-wise - either super-tiny on the low end, or super-huge on the high end.
I think this is one of those situations where trying to keep the mechanical calculations elegant is a losing battle. Starfarer is already condensed to 2D, even pseudorealism can take a back seat to being intuitively explainable.
I propose a hybrid exponential system:
- Per-ship contributions can be presented to the player in terms of standard covered area rather than an arbitrary range.
- Summed coverage areas represent the total circular sensor/detection area of the fleet vs. a lone frigate. The radius of this circle can be substituted for however base fleet detection ranges are currently calculated -- linear individual ship contributions to total covered area, making individual ship contributions scale exponentially to effective fleet ranges.
- Fleet modifiers can then be applied as in the current system.
(following numbers made up-- individual ships can start balanced approximately where they would be now. )
Say an Onslaught is visible to a 'standard' baseline frigate sensor array at half a parsec - 500 units. This range defines a circle with an area of ~758,000 microparsecs².
A lone phase frigate on the other hand is way harder to see, and that frigate would need to be within 100 units -- effectively a circle of 31,500 µpc².
The two ships combined have a standard sensor visibility of 789,500 µpc², or a circular radius a bit under 502 units, so 502 milliparsecs is the value shown in the sensor range displays on the main screen. Adding a phase frigate next to an Onslaught has a minimal effect on the distance that the Onslaught would normally be visible.
Adding a second Onslaught to this fleet takes us to 1547,500 µpc², or a circular radius a bit under 702 units.
The same concept could be applied to sensor strength, which right now is very abstracted and does not do a good job conveying of what the actual effect will be of changes in fleet composition.
Putting it all together:
- Individual ships get a meaningful, context-independent standard coverage area to display for their base sensor/detection values. This is good on many levels, I can only imagine what a nightmare it is trying to visualize and balance ship stats against normal usage and edge cases in the current system.
- The tooltips for detection range display contribution in area on a per-ship basis -- ShipInfo - Current Sensor Coverage Area (base) - Current Detectability Area (base), sorted in descending order by coverage area or detectability depending on which display you're mousing over. This provides instant feedback to the player about the sensor/visibility contribution of individual ships.
Let's say we have a Medusa and Wolf(D) that have some negative modifiers, so they are more detectable than they usually would be.
Ship | Sensors | (base) | Detection | (base) |
Medusa | 185,000µpc² | (185,000) | 220,000µpc² | (100,000) |
Wolf | 120,000µpc² | (150,000) | 180,000µpc² | (40,000) |
| | | | |
Fleet Total | 305,000µpc² | (305,000) | 400,000µpc² | (140,000) |
This gives us a standard sensor range of 312 units (milliparsecs) and a standard detection range of 357 units, the approximate ranges where an unmodified lone frigate would expect to see/be seen this fleet.
Stuff that affects the entire fleet could scale the per-ship contributions appropriately in the tooltips, although I'm not sure how you'd display all of the multipliers cleanly without nested tooltips, which sounds terrible.
Also, this provides the opportunity to add other per-ship scalars and convey that information to the player in an intelligible way. A wolf with a fleet travelling at burn 6 doesn't need to burn at full speed, and has the ability to hunt around a bit without needing to stick to the main fleet's course like glue --> minor bonuses to coverage from being able to move out a bit for a better view, minor reductions in detectability because the engines aren't burning full-blast. Or however we want to run it!