Post by Jatsu on Nov 28, 2019 13:39:36 GMT 1
KoGaMa Profile: www.kogama.com/profile/578812/
Web Browser: Firefox
Client: WebGL
AboutMyBrowser.com Link: aboutmybrowser.com/AUpNKZlf
Steps to Reproduce
1. Place two logic triggers of the same type into project.
2. Build a XOR gate (one negate for each trigger, AND the output and opposite negate of each trigger).
*XOR gates output when only one input is active.*
3. Connect the ANDs of the XOR gate to a once toggle with some output event.
4. Use grid snap to move both triggers into the same position.
*This system will only output if only one of the overlapping triggers activates instead of both.*
5. Enter play mode.
6. Activate and disable the trigger repeatedly. (I recommend building something to automate this step; bouncing between two bouncy materials, oscillating windmills, falling through teleporters, standing on a moving platform/rotator, etc.)
->Eventually, the output event that shouldn't be able to be activated will turn on. This shouldn't occur because both logic triggers exist in the same space, thus one should never be activated without the other.
Note: Because this is an inherent edge case depending on either the update cycle or logic acceleration, this may take anywhere from seconds to minutes to observe.
Additional Information (Optional)
The chances of this unexpected case to occur increases proportionally to the distance between the two overlapping triggers. So if one trigger is moved one tick downwards, this increases the chances that the higher one will be activated before the second one - even though the time that passes between activating both is so small it shouldn't make a difference. This makes me think it's logic acceleration to blame, but it could also just be an inherent edge case with how logic updates and the time between activating both triggers simply falls between the edge of two update cycles.
Web Browser: Firefox
Client: WebGL
AboutMyBrowser.com Link: aboutmybrowser.com/AUpNKZlf
Steps to Reproduce
1. Place two logic triggers of the same type into project.
2. Build a XOR gate (one negate for each trigger, AND the output and opposite negate of each trigger).
*XOR gates output when only one input is active.*
3. Connect the ANDs of the XOR gate to a once toggle with some output event.
4. Use grid snap to move both triggers into the same position.
*This system will only output if only one of the overlapping triggers activates instead of both.*
5. Enter play mode.
6. Activate and disable the trigger repeatedly. (I recommend building something to automate this step; bouncing between two bouncy materials, oscillating windmills, falling through teleporters, standing on a moving platform/rotator, etc.)
->Eventually, the output event that shouldn't be able to be activated will turn on. This shouldn't occur because both logic triggers exist in the same space, thus one should never be activated without the other.
Note: Because this is an inherent edge case depending on either the update cycle or logic acceleration, this may take anywhere from seconds to minutes to observe.
Additional Information (Optional)
The chances of this unexpected case to occur increases proportionally to the distance between the two overlapping triggers. So if one trigger is moved one tick downwards, this increases the chances that the higher one will be activated before the second one - even though the time that passes between activating both is so small it shouldn't make a difference. This makes me think it's logic acceleration to blame, but it could also just be an inherent edge case with how logic updates and the time between activating both triggers simply falls between the edge of two update cycles.