space-nerds-in-space
space-nerds-in-space copied to clipboard
Remove or repurpose Comms power
Comms power doesn't do anything, and the engineering screens in Artemis and Empty Epsilon do not have a comms power. Making comms actually affect communications seems anti-fun. So we should get rid of comms, and maybe repurpose it for some other use.
Copy/paste of old posts of mine from the forum:
Speaking of the computer, it feels a bit like cheating since we can ask it do drive for us, mostly. So I was thinking maybe this is what should be controlled by the power slider for COMMS screen. A low power computer would only be able to give manifest and hail stuff, while a fully powered can set courses.
What do you think about my idea of having to power COMMS to use computer? That gives a use to the useless COMMS PWR slider and is a nerf for the computer since it means you cannot use it on top of everything else. The commands would need to be sorted between those requiring power (setting a course), not a lot of power (guiding mining bot?), or always available (hailing stations. Except if COMMS systems are completely damaged I guess).
Actually, comms power does do something, but only if you enable the aimable antenna via a lua script. In that case, it takes into account the direction the antenna is pointed, and what things are between you an any objects which might receive your transmission, and if the signal is too weak, the transmission is dropped entirely, or if it is marginal, the message may be distorted (see distort_comms_message() in snis_server.c, which is to say, some fraction of characters are transformed to asterisks randomly.
Well, if we repurpose comms, then comms won't be able to be damaged. Damage amounts to depriving a system of power, so if a system doesn't use power, it can't be damaged (at least the way things work currently.)
Not sure I like the idea of degrading the computer performance...
I was thinking maybe make the shields more complex. Maybe have front, rear, upper, lower, starboard and port shields and be able to direct power between them? Or maybe be able to set a "heading and mark" for shields and a "balance" control to bias the shield protection in the direction of heading and mark. If balance is 0, then shields are a uniform sphere, if balance is +1, then... shields protect more from the direction of heading and mark, and less from the opposite direction. Then science or nav would need to tell engineering about the location of enemies so they could "angle the deflector shields. " But I suppose this is completely separate from removing comms, as this isn't something that could be done by repurposing the comms power and coolant.
I suppose I'm wondering about repurposing comms power and coolant rather than just removing it because repurposing it just seems easier, supposing a suitable idea is found, and I am lazy.
It seems important to me that broken comms is something possible.
But we are going back to #243 , this discussion should happen there.
Actually, comms power does do something, but only if you enable the aimable antenna via a lua script. In that case, it takes into account the direction the antenna is pointed, and what things are between you an any objects which might receive your transmission, and if the signal is too weak, the transmission is dropped entirely, or if it is marginal, the message may be distorted (see distort_comms_message() in snis_server.c, which is to say, some fraction of characters are transformed to asterisks randomly.
I will have to try this, it does not seem too bad.
There is a MANUAL ANTENNA AIMING menu item on the Utility menu on Demon screen where you can turn it on.
When it is turned on, you will see 2 comms arrows on the Nav screen. One shows where the antenna is aimed, and one shows where the desired antenna aim. The antenna is mounted on the front of the ship, and can point anywhere in a half dome centered on the front of the ship. That is, it can point +/- 90 degrees left/right and +/- 90 degrees up/down, but cannot point behind the ship. So generally whatever you want to communicate with needs to be generally towards the front of the ship, not behind the ship (unless you are close -- There is a COMMS_LONG_DISTANCE_THRESHOLD (which seems very big, this may need tuning)).
The antenna does not need to be pointed exactly at the intended recipient, the antenna vector is dotted with the vector to the recipient and some attenuation is done. Things that can block the signal are planets, nebula, and black holes.
Note there is no real notion of "intended recipient", as the radio is kind of a pub/sub system, whoever's listening on a channel is a potential recipient, so the game has no way to know that the signal cannot reach your intended recipient and tell you this, because it doesn't know who your intended recipient is.
Actually, now that I look at it, I think the antenna aiming only affects received communications, not transmitted communications, so if you attempt to communicate with a distant starbase, the starbase will receive your communications, but you might not get the reply, or the reply might be distorted.
Not getting the reply is one of those things that is hard to distinguish from the game being buggy.
To aim the antenna, comms should ask science for a bearing and mark to whatever they want to communicate with (typically a starbase), then type "/antenna 355 12" if bearing and mark are 355 and 12. The antenna will then attempt to aim at this bearing and mark. As the ship moves, this bearing and mark may become less accurate (the starbase will no longer be at that exact bearing and mark) so it may need to be updated now and then. If the ship moves so that it is pointing generally away from the starbase, then the antenna will do its best to point the right way, but will not be able to point behind the ship. This can be seen on the NAV screen when the two comms arrows split apart, with the yellow arrow pointing at the desired bearing/mark, and the amber arrow pointing at the actual bearing/mark of the antenna.
There is some discussion of the antenna aiming system from the time when I implemented it here: https://bridgesim.net/index.php?p=/discussion/2/game-space-nerds-in-space/p6
Random thought while looking at TODO: Split a sector up into 3 or 6 digit area codes encoding the region of a ship into the channel frequency. Private messages would need a flag as opposed to having a random channel.