Closed Poodmund closed 1 year ago
If you want to view any calculations for CommNet, feel free to rip my calculator spreadsheet apart 😄
Hi @Poodmund, thanks for taking the time to make this very well detailed submission😁 Sorry for the late reply, I had to finish up an exam before taking a deep look into this.
I reviewed the details, and as far as I can tell this is due to some miscommunication on my UI. I tried explaining it in the FAQ under (Relay)"Green Signal Lines", but it could still be made clearer.
The planner doesn't state that the probe is connected to KSC: Keep in mind that the solid/direct line does not mean that the final node (the probe) has a connection to KSC
- but rather that Probe is in range to connect to Relay,
- and that Relay is also in range to connect to KSC.
- Unfortunately, without a dashed 'relay' line to carry the signal, the probe will not have a connection.
This is what it would look like if the probe did have a connection to KSC, through the relay:
I recognize this as a problem that I was grappling with for quite a while when I built the visuals for the app early on. Inside KSP, the player views any connection from the perspective of the currently controlled probe. If it has a connection, there is a single(or multiple) solid line shown all the way back (via relays or without) to the KSC. When viewing it in the Tracking Center, there could also be lines everywhere showing all possibilities.
For this app, the perspective is of course not that of a single craft, but rather the constellation as a whole. This introduces the dilemma of "How do we clearly show the user where valid connections are possible?"
It crossed my mind to add a "lens mode" (for lack of a better name) which lets the user test a single craft's connection capability in its current situation. An easy way to see if it has a valid connection, the strength of that, which hops would be chosen, etc.. I decided to postpone that in the meanwhile, feeling that it's more complex than some of the simpler features that more players could make use of, such as planet occlusion blocking valid signals.
In hindsight, I should probably just add a little bulb icon on each craft:
Please let me know if this answers the question, perhaps I missed something.
The relevant bits of code affecting this can be found here (and of course the other parts affected/dependent on this). Power calculations https://github.com/Blaarkies/ksp-visual-calculator/blob/9b5010c1edf07ab172b010bafbfeaaf4e3f50a8b/src/app/common/domain/antenna.signal.ts#L127C19-L127C19 Connection checks https://github.com/Blaarkies/ksp-visual-calculator/blob/9b5010c1edf07ab172b010bafbfeaaf4e3f50a8b/src/app/pages/commnet-planner/services/commnet-universe-builder.service.ts#L162C9-L162C9
I see! This all makes sense now as to how it is currently displayed after reading your explanation as to the current visual setup.
I would posit a couple of things maybe;
1) should the visualiser mimic KSP's default visuals? If so, then it would only show connections back to Kerbin DSN stations or to to vessels with command modules that have an active ModuleProbeControlPoint. In this case, it would not show a connection line between the probe and the relay satellite as the probe cannot talk back home (even if technically the probe and the relay could communicate with each other in isolation).
2) Do we need to show potential connections between vessels that CAN technically communicate with each other when considering their vessels' antennae capabilities but in reality of playing the game never would, like in the setup shown above. There is no game mechanic within the game that requires the probe to talk to the relay satellite, or vice-versa, without having a continuous link back to a DSN or vessel with an active ModuleProbeControlPoint.
Personally, being shown this misunderstanding from an independent user and then myself also interpreting the Planner's visual incorrectly, I would say there would be merit in displaying the comms lines in the same manner as they are shown by default in KSP. I think that may be more intuitive.
As a complete aside, I did also just notice that when I create a vessel in the Planner and put it at a distance with a known expected signal strength, it gives me an incorrect value until I manually set the Tracking Station level and press save. Then it shows me the correct signal strength value. For example, this craft at 6.5Gm should experience 56% signal strength. If I open up the Planner, create the craft, place it at 6.5Gm it says it has 75% signal strength. If I then edit Kerbin, and press save (not changing the default Level 1 station), it then immediately changes to the correct 56%.
I appreciate this is bad manners cross posting issues. 😄
No worries, I really appreciate my app being tested to expose any potential flaws that I missed in my tests 😊
The bad value upon starting issue is a good catch. I saw that when checking this post, but I thought it was a change in the "Difficulty setting" that modifies strength values.
It seems it is real, it probably happens in the initialization of a new universe. Thanks, i'll add that as a task!😄
Resolved in #62 and #61, the changes are in the latest release if you wanted to check them out.
Here's some screenshots of various configurations: multi-hop capability
Relay signals carry control from Kerbin to the craft
single-hop example
single-hop controls itself, and craft in the first hop connection
This issue was highlighted to me by 'Glorious Lynx' on the /r/KerbalSpaceProgram Discord server, wherein vessels were showing that they had connections back to the KSC in setups where they don't have connection in-game. This is due to the planner not discounting direct antenna power values from the vessel's power rating for relayed communications.
To replicate, set the KSC DSN level to 1. Put a relay satellite with a Communotron 88-88 Direct Antenna and a HG-5 Relay Antenna 6.5Gm from Kerbin. The expected Signal Strength here should be 56-57%, which the Planner shows correctly.
Then put a Probe satellite with a Communotron 16 Direct Antenna rendezvoused to the Relay satellite in close proximity of a few km. In the Planner, it is showing that the Probe has connection back to the KSC through the Relay satellite (incorrectly using the Communotron 88-88 to relay the communication). In game, we expect that only the HG-5 Relay Antenna is used to relay the signal, and therefore at 6.5Gm distance the HG-5 cannot communicate back to the KSC DSN1 on its own. The Probe with the Communotron 16 should have no signal and therefore no control.
I can confirm this in the screenshots below:
^ Relay sat with Communotron 88-88 Direct and HG-5 Relay antenna at 6.5Gm from DSN1.
^ Probe with Communotron 16 in close proximity to Relay satellite with no connection back to the KSC DSN1. This is expected behaviour but is in conflict to what the Planner shows.
^ Screenshot showing DSN1
^ Screenshot showing 56% signal strength connection between Relay satellite and DSN1, as expected due to calculation considering both Communotron 88-88 antenna and HG-5 Relay antenna.
^ Screenshot of the Planner incorrectly showing the Probe satellite having connection back to the KSC DSN1 through the Relay satellite. This is due to the planner considering the Communotron 88-88 Direct antenna power contributing to the relay power of the Relay satellite vessel.