Absolute Rail Rotators

    Joined
    Jul 1, 2013
    Messages
    57
    Reaction score
    21
    • Community Content - Bronze 1
    • Legacy Citizen 5
    You cannot depend on rail rotators to be where a logic system expects them to be. This is due to the fact that when they collide, they return to their initial state; meaning they become desynchronized by a measure of one rotation. You can't detect what position the rail is in to correct this issue and this includes area triggers as they don't detect docked entities.

    My solution is an alternative to normal rail rotators: Absolute Rail Rotators

    When a docked entity passes over this rail block, it rotates until it assumes a specified position relative to the arrow on the block as opposed to incrementing a number of degrees.
    You would determine the amount of rotation by multiplying the number of active activation modules the rail is connected to by the inverse of the total number of linked activation modules. For example if you wanted a docked entity to make a 2/5ths rotation from the arrow direction, you'd connect the rail to 5 activation modules and turn 2 on.
    This block would have a clockwise and a counter-clockwise variant.

    Feedback is welcome.
     
    Last edited:
    • Like
    Reactions: Macharius
    Joined
    Feb 25, 2016
    Messages
    1,362
    Reaction score
    268
    Very nice idea. I definitely agree.

    Food for thought: Can this be folded into the present rail rotators instead?
     

    nightrune

    Wizard/Developer/Project Manager
    Joined
    May 11, 2015
    Messages
    1,324
    Reaction score
    577
    • Schine
    • Top Forum Contributor
    • Thinking Positive
    I'd rather see this added to the new sensor.
     
    Joined
    Jul 1, 2013
    Messages
    57
    Reaction score
    21
    • Community Content - Bronze 1
    • Legacy Citizen 5
    Food for thought: Can this be folded into the present rail rotators instead?
    I think the incrementing functionality should be kept. Perhaps you could be able to switch their type in advanced build mode?
    [doublepost=1475702968,1475702849][/doublepost]
    SmilingDemon confirmed the bug report, so I'm relatively sure.
    Referring to the area trigger part, right? Interesting.
    [doublepost=1475703189][/doublepost]
    I'd rather see this added to the new sensor.
    I don't see how you could do that with a sensor that only outputs true or false. Detecting whether something is in a very specific position eight times over just sounds clunky and impractical.
     

    Lone_Puppy

    Me, myself and I.
    Joined
    Mar 12, 2015
    Messages
    1,274
    Reaction score
    529
    • Purchased!
    • Community Content - Bronze 2
    • Legacy Citizen 8
    I like this idea. I'm curious to try using existing logic to achieve what you want. I could sure use it in my mech joints. Although i can see it making huge clusters of logic in my mech that is already bloating with logic.
     

    jayman38

    Precentor-Primus, pro-tempore
    Joined
    Jul 13, 2014
    Messages
    2,518
    Reaction score
    787
    • Purchased!
    • Thinking Positive
    • Legacy Citizen 4
    Instead of absolute rotations, I'd prefer a linked rotation target system, where you can link something to the rotator, and depending on where the slave is located, the rotator will try to rotate towards that target. The link should be able to be made on other entities, so that the rail can follow the target, even if it's another ship or a subentity or turret. You can easily use this linking to create absolute rotations, while being more flexible.
     
    Joined
    Jul 30, 2013
    Messages
    398
    Reaction score
    282
    • Wired for Logic Gold
    • Legacy Citizen 8
    • Purchased!
    good idea mate.

    Until this be add next future updates ( i hope the new sensor block can send a instant logic signal when placed near a rotator ) i build this with the actual logic blocks... you can control direction of rotation and angle (45º and 90º), is not enought, but i think it can help :)
     
    Joined
    Jul 22, 2016
    Messages
    76
    Reaction score
    17
    I had a whole long post planned out in notepad with three different possible systems for absolute rail rotators, I do a quick due diligence search and find this thread, turns out I should've checked before I started writing! :oops:

    For the most part I completely agree. A couple thoughts:
    1. I'd broaden the suggestion/request to be for the addition of any sort of absolute rotation block. Even a very simple block that otherwise functioned like the basic rail, but had the rail docker rotate to match the direction of the rail before moving, would be a huge boon as it would allow for builders to create a simple reset button for pilots to use if the rotation the logic believes your rail to be in and the actual rotation of your rail ever diverge for whatever reason (lag, movement blocked & logic doesn't notice, etc.) I am certain this could also be useful in a variety of creative contexts such as rail elevators and the like, but the addition of a dependable and simple to use reset function to rail systems would be particular gain to what is possible with rails at the moment.
    2. Is there any way to tie in display modules for setting direction and/or rotation degrees? In some ways even if it was possible I wouldn't like it as part of the charm of StarMade logic to me is the block based nature of it, but it would be powerful if possible.
    Despite a lockout that prevents commands from going through until all turrets have rotated, I have managed through combination of lag and sufficient hammering away at the buttons while they are moving to create a divergence between where the logic thinks the turrets have been rotated to and where they actually were. This is a system where it'd be great to have an absolute rotation button to reset the rotation to match the logic. Instead I've got 45 degree rotators for each turret that can be used to manually fix any problems, but again I'd like to be able to set up a more user friendly reset system for others to use.
    starmade-gif-0012a.gif
     
    Joined
    Aug 23, 2016
    Messages
    758
    Reaction score
    129
    You would determine the amount of rotation by multiplying the number of active activation modules the rail is connected to by the inverse of the total number of linked activation modules. For example if you wanted a docked entity to make a 2/5ths rotation from the arrow direction, you'd connect the rail to 5 activation modules and turn 2 on.
    I'd prefer 5 degrees per block.
    Thinking of angles in terms of integer/integer fractions is strange...
     
    Joined
    Jul 1, 2013
    Messages
    57
    Reaction score
    21
    • Community Content - Bronze 1
    • Legacy Citizen 5
    For the angle, perhaps instead of having loads of activation modules, one could have a setting you could change via some UI.
     

    Ithirahad

    Arana'Aethi
    Joined
    Nov 14, 2013
    Messages
    4,150
    Reaction score
    1,330
    • Purchased!
    • Top Forum Contributor
    • Legacy Citizen 8
    I'd prefer 5 degrees per block.
    Thinking of angles in terms of integer/integer fractions is strange...
    Thinking of angles in degrees is strange. If they weren't a standardized unit, I don't think most people would be doing their angles in 1/360'ths. (1/120 increments are OK in a lot of cases, for instance)
     
    Last edited:
    Joined
    Aug 23, 2016
    Messages
    758
    Reaction score
    129
    Thinking of angles in degrees is strange. If they weren't a standardized unit, I don't think most people would be doing their angles in 1/360'ths. (1/120 increments are OK in a lot of cases, for instance)
    Agreed, conceptually. But practically, that's how we all first learnt to think of them, and it comes easily.
     
    Joined
    Feb 25, 2016
    Messages
    1,362
    Reaction score
    268
    Degrees are easier than, say, radians, which rely on your understanding of the concept of pi. If you want to figure out what a radian actually IS, you have to then understand a lot more angle and circle mathematics. Not fun. (The circles and angular velocity unit of physics was painful. Very painful.)
     
    Joined
    Mar 2, 2014
    Messages
    1,293
    Reaction score
    230
    • Thinking Positive
    • Community Content - Bronze 1
    • Legacy Citizen 3
    Degrees are easier than, say, radians, which rely on your understanding of the concept of pi. If you want to figure out what a radian actually IS, you have to then understand a lot more angle and circle mathematics. Not fun. (The circles and angular velocity unit of physics was painful. Very painful.)
    360° <=> 2*Pi (~ 6.28)
    That's not rocket science.
     
    Joined
    Feb 25, 2016
    Messages
    1,362
    Reaction score
    268
    Yes, I know, however, have you ever read the technical description of a radian? Because I understand the "2 pi radians in a circle" thing. However, that does NOT mean I like the definition. Also, radians ARE an essential part of rocket science (And all other forms of engineering and physics, of which rocket science definitely uses both)
     

    Raisinbat

    Raging Troll
    Joined
    Dec 29, 2014
    Messages
    459
    Reaction score
    269
    You would determine the amount of rotation by multiplying the number of active activation modules the rail is connected to by the inverse of the total number of linked activation modules. For example if you wanted a docked entity to make a 2/5ths rotation from the arrow direction, you'd connect the rail to 5 activation modules and turn 2 on.
    This block would have a clockwise and a counter-clockwise variant.
    Not a big fan of how you want to set the rotation, how about linking the rotato to an activator and just have the angle between the rotato and activator work to set position?
     
    Joined
    Jul 1, 2013
    Messages
    57
    Reaction score
    21
    • Community Content - Bronze 1
    • Legacy Citizen 5
    Not a big fan of how you want to set the rotation, how about linking the rotato to an activator and just have the angle between the rotato and activator work to set position?
    Because for certian builds you might want 1/3 of a full rotation or a different angle that does not agree with squares of 2. Alternatively you might want extreme precision.
    [doublepost=1484688131,1484687960][/doublepost]
    Very nice idea. I definitely agree.

    Food for thought: Can this be folded into the present rail rotators instead?
    After some thinking, you could recreate the effect of the original rotators using this version. So, yeah, they could probably replace them.