Page MenuHomeSchine - Phabricator

Starmade | Incorrect Sensor Behaviour
Closed, RejectedPublic

Description

Since the sensor and activation module system work off a percentage, as I'm sure you're aware, it means the logic goes like this:
4/4 activation modules active is detection of 100%
3/4 activation modules active is detection of 75%
2/4 activation modules active is detection of 50%
1/4 activation modules active is detection of 25%
0/4 activation modules active is detection of 0%

Connecting the activation module to thrusters it will correctly detect 0% speed and output an active signal.

However, once the ship accelerates above 0% the activation module still outputs an active signal, this is wrong, it should turn off its active signal.

In the case of thrusters this would easily allow detection of movement; something currently not possible due to this bug. In my particular case, and how I discovered this bug, I was attempting to have the engines light up whenever the ship was moving; make it look like there was actually a use for those big engines. The closest I was able to achieve was to connect 100 activation modules, 1 active, 99 inactive to the sensor. This was a waste of space in my ship and only provided detection of 1% speed, which on a normal server with max speed of 225 would be 2.25. My ship is quite slow to move, so I was moving for 5-10 seconds before the engine lights turned on, it looked absurd. I did some math and in order to get my ship to look right, the engines come on as early as possible, I needed to get no more than 0.1% speed detection. To get that percentage would require a minimum of 1000 activation modules, which in turn feeds back to mass and acceleration issues.

Details

Task Type
Bug
Testing Results
Affected Gamemode(s)
none/unspecified
Reproducible
Yes
Last tested (version)
0.199.402
Category
Logic Gates
First occurrence (version)
0.199.402
Hardware/Software/System
OS-Specific
No
Hardware-Specific
No
Video Card Vendor
NVIDIA
Video Card Model
GeForce GTX 1070
Steps to reproduce
  1. Create basic ship with sensor connected to thrusters (with clock of course);
  2. Connect a single activation module to the sensor and keep it inactivate;
  3. Place activation module next to sensor and connect to a light (for easier visualisation of sensor activating);
  4. Go into 'Flight mode';
  5. The light should be on as you have no speed;
  6. Accelerate the ship to any speed;
  7. The light is still on, it should be off

Event Timeline

lancake closed this task as Rejected.
lancake claimed this task.

-Rejected-

The sensor gives a true signal for anything above X%. In your case that is above 0% so any speed you do causes that.
If you want the opposite behavior, use a NOT logic block to turn this around. Then any speed above 0% is going to give you false, and it will be true for no speed (which is what you want I believe)

Restricted Application removed a project: Issue Navigation. · View Herald TranscriptJan 28 2017, 10:55 AM
lancake shifted this object from the S1 Public space to the S3 Starmade space.Jan 28 2017, 10:56 AM
lancake changed the visibility from "Custom Policy" to "Public (No Login Required)".
lancake changed the edit policy from "Task Author" to "Starmade (Project)".
lancake set First occurrence (version) to 0.199.402.
lancake triaged this task as Low priority.
theoriginalbit added a comment.EditedJan 28 2017, 11:31 AM

So applying the same example of thrust/speed, if I were to set 40% of activation modules, then the signal emitted would be active when signal is >= 40%, correct?

In this case the issue I've mentioned is still an issue, just not quite how I had interpreted it.

There is never a case where you can ever detect 0%

You can detect 100, because 100 >= 100 is true, and 100 >= 20 is false.
But you can't detect only 0, because 0 >= 0 is true, and 100 >= 0 is also true. Which is why there is always a signal being emitted from the sensor.

It makes sense for the sensor to be able to detect 0% without detecting anything above it.

One way to solve this that I can think of would be to have the logic for 0% require no activation modules connected to the sensor, that way you can keep the current logic of using >= for when there are activation modules connected.

Restricted Application added a project: Logic. · View Herald TranscriptMar 10 2017, 5:41 PM
AndyP moved this task from Unclassed to Archived on the Starmade board.Mar 29 2017, 1:22 PM