Docking should be split: Rails, Turret, Fixed

    Joined
    Aug 14, 2013
    Messages
    2,811
    Reaction score
    960
    • Councillor 3 Gold
    • Wired for Logic
    • Top Forum Contributor
    The more I see of the docking system the more I think it should be split into three systems in the end. There are really three types of docks that all need to interact differently with logic, ship systems and I don't think rails and axis pivots alone can do all the jobs.

    Rails:
    (Basic Rail, Corner, Docker)

    Rails are great but they are going to be optimized for moving parts. These parts could be small and therefore unable to support themselves so they will need to pull stats from the mother-ship. There also may be a lot of them on a ship so docked rail components will need their own nav filter or be removed from the nav menu all together.

    Logic controls rails differently then fixed docking, this can make it a poor choice as the all or nothing docking option. Using logic controls the direction a rail will transport it's cradle, they also be able to export a signal when there is currently a docked entity.

    To balance out docked entities sharing 100% of the ships stats this out anything docked to a rail might not be able to have AI installed making it so they cannot act as fixed guns.

    Turrets:
    (Turret Axis, Docker)

    The new turret docking system is amazing but I am afraid it will greatly limit our ability to create epic turrets if the two parts cannot share components such as weapons. If all the weapons need to be at the end of the chain it will be quite impossible to make effective naval style artillery and the base of the turret is essentially going to be dead weight. Turrets should be able to pull some shields, from the mother-ship in addition to any shields they are equipped with. Their stats will not be shared to the mother-ship.

    The docked axis could send a signal when there is a turret present and possibly a signal sent to the axis could activate the AI as I see no need to remotely detach turrets.

    Docking to a turret axis dock should be capable by docking a core itself or a docker block. Any extra blocks on smaller turrets makes them extremely difficult to build properly. We should be able to dock the core directly on the turret axis itself as if was a docker with the arrow facing forwards. If you have a bigger turret the core can be placed anywhere and a receiver used.

    Fixed:
    (Fixed Dock, Docker)

    Docking a ship will be handled much like it is done now except using a mass based enhancer and proximity system. This can be done with point to point docking using a docker or using the area below the core at the lowest point of the ship as the docker with the arrow facing forward. Docked ships can take power and a portion of shields from the mother-ship like turrets to keep them still viable as fixed guns.

    Logic will be handled the same as it is now. A signal can be sent when a ship is docked and sending a signal to the dock will disconnect the ship.

    The problem with relying simply on the rails and their point to point docking is it will be impossible to make universal docks. Most docks will have to be specially built for specific ships and even ships in the same fleet by the same builder might not even be able to share docks properly depending on build style. Rails also have their own logic interface so docked ships cannot be automatically launched from rails.
     
    Last edited:
    Joined
    Dec 29, 2014
    Messages
    115
    Reaction score
    37
    One issue I fore see with the new system is that any ship that has its docker shot off will not be able to dock. It would be nice if the block attached to the ship that allows docking didn't have to be placed on the exterior of the ship.

    It would be nice if the blocks the ship docks to could be covered also but I don't know of any reliable way to indicate an available docking point without it being actually visible.

    (edit)
    As far as turrets and moving parts on rails go, why do they even need ship cores unless they are intended to be able to un-dock and function separately?

    Why can't we just place the rail docker on the rail and build off the rail docker block, same with the turret rotor blocks?

    I see no problem with the parts that move on rails or rotors being considered as part of the ship or station to which they are attached. The only part of a turret weapon system that would need to be completely in the barrel section of a turret would be the primary weapon modules, and in multi-barrel systems they would not all need to be in the same turret mount. To make an A.I. controlled weapon just enable the Bobby A.I. to be linked to the primary weapon computer.
     
    Last edited:
    Joined
    Sep 27, 2013
    Messages
    684
    Reaction score
    1,247
    The more I see of the docking system the more I think it should be split into three systems in the end. There are really three types of docks that all need to interact differently with logic, ship systems and I don't think rails and axis pivots alone can do all the jobs.

    Rails:
    (Basic Rail, Corner, Docker)

    Rails are great but they are going to be optimized for moving parts. These parts could be small and therefore unable to support themselves so they will need to pull stats from the mother-ship. There also may be a lot of them on a ship so docked rail components will need their own nav filter or be removed from the nav menu all together.

    Logic controls rails differently then fixed docking, this can make it a poor choice as the all or nothing docking option. Using logic controls the direction a rail will transport it's cradle, they should also be able to export a signal when there is currently a docked entity.

    To balance out docked entities sharing 100% of the ships stats this out anything docked to a rail might not be able to have AI installed making it so they cannot act as fixed guns.

    Turrets:
    (Turret Axis, Docker)

    The new turret docking system is amazing but I am afraid it will greatly limit our ability to create epic turrets if the two parts cannot share components such as weapons. If all the weapons need to be at the end of the chain it will be quite impossible to make effective naval style artillery and the base of the turret is essentially going to be dead weight. Turrets should be able to pull some shields, from the mother-ship in addition to any shields they are equipped with. Their stats will not be shared to the mother-ship.

    The docked axis could send a signal when there is a turret present and possibly a signal sent to the axis could activate the AI as I see no need to remotely detach turrets.

    Docking to a turret axis dock should be capable by docking a core itself or a docker block. Any extra blocks on smaller turrets makes them extremely difficult to build properly. We should be able to dock the core directly on the turret axis itself as if was a docker with the arrow facing forwards. If you have a bigger turret the core can be placed anywhere and a receiver used.

    Fixed:
    (Fixed Dock, Docker)

    Docking a ship will be handled much like it is done now except using a mass based enhancer and proximity system. This can be done with point to point docking using a docker or using the area below the core at the lowest point of the ship as the docker with the arrow facing forward. Docked ships can take power and a portion of shields from the mother-ship like turrets to keep them still viable as fixed guns.

    Logic will be handled the same as it is now. A signal can be sent when a ship is docked and sending a signal to the dock will disconnect the ship.

    The problem with relying simply on the rails and their point to point docking is it will be impossible to make universal docks. Most docks will have to be specially built for specific ships and even ships in the same fleet by the same builder might not even be able to share docks properly depending on build style. Rails also have their own logic interface so docked ships cannot be automatically launched from rails.
    Well thought out, i completely agree.
    A small thing i would add to that is the suggesting that deactivating a turrets ai resets the turret to its initial facing (so retractable turrets are actually a possibility). Depending on how well the collision system works (as far as i have seen it, it seems pretty good) fixed weaponry could be still achieved with normal turret axis docker + blocking the movement.
    ...and i really want rotating parts (with adjustable speed)
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    and I don't think rails and axis pivots alone can do all the jobs
    I think schema should try to unify everything.
    • and we can try to provide fleshed-out solutions.
    There also may be a lot of them on a ship so docked rail components will need their own nav filter or be removed from the nav menu all together.
    Just filter by whether «thrusters AND power-supply is installed (ship)» or «AI is installed (turret)» else «(rail thingy)»
    • Or ask whether thrust > x% of mass

    Logic controls rails differently then fixed docking, this can make it a poor choice as the all or nothing docking option. Using logic controls the direction a rail will transport it's cradle, they should also be able to export a signal when there is currently a docked entity.
    Rails also have their own logic interface so docked ships cannot be automatically launched from rails.
    Are you asking for a docking controller?
    Perhaps it could act as a "group of docking-stuff" to logic and import/export different properties depending on ID or orientation.
    • A "group of docking-stuff" controller also reduces the number of blocks you have to select with multiple orientation-input-activation modules.
    • Perhaps the activation module could be the default controller doing nothing but forwarding a signal?

    To balance out docked entities sharing 100% of the ships stats this out anything docked to a rail might not be able to have AI installed making it so they cannot act as fixed guns.
    Or just let the rail entity behave different (in terms of share shields+power) if they have an AI module installed.

    The new turret docking system is amazing but I am afraid it will greatly limit our ability to create epic turrets if the two parts cannot share components such as weapons. If all the weapons need to be at the end of the chain it will be quite impossible to make effective naval style artillery and the base of the turret is essentially going to be dead weight.
    Can you give a pic and explain more detailed _what_exactly_ will be impossible with the new system but possible with the old one?

    The docked axis could send a signal when there is a turret present and possibly a signal sent to the axis could activate the AI as I see no need to remotely detach turrets.
    Perhaps a different forward-controller for rails could cause slaved rails to send|export different signals to the docked|controller.
    • Use the old docker-textures for this block :)

    Docking to a turret axis dock should be capable by docking a core itself or a docker block. Any extra blocks on smaller turrets makes them extremely difficult to build properly. We should be able to dock the core directly on the turret axis itself as if was a docker with the arrow facing forwards. If you have a bigger turret the core can be placed anywhere and a receiver used.
    You just need 5 blocks (1 more core, 2 rail docker, 2 axis rails).
    • You should not be required to spam 100 turret-drones or mini-turrets with 10 blocks if you can also build 10x 100 block ones.
    • This would also change the balance, which is quite good with the requirement for 4 blocks.
     

    jayman38

    Precentor-Primus, pro-tempore
    Joined
    Jul 13, 2014
    Messages
    2,518
    Reaction score
    787
    • Purchased!
    • Thinking Positive
    • Legacy Citizen 4
    ...Can you give a pic and explain more detailed _what_exactly_ will be impossible with the new system but possible with the old one?...
    By naval turrets, he's referring to this.

    The main base: the part that turns: neat and big and heavy; will naturally contain the most blocks. The barrels that rotate up and down? Very few blocks, especially if it looks nice, covered in a layer of hull. Without system sharing, any weapon system in the barrel will be far too small and weak to be effective.

    With the old turret, where the turret is all in once piece and moves in any direction, the entire turret shares all systems, because it is a single entity. Nothing docked to move separately. All systems are in, and are shared across the entire turret. This will be impossible with the new-style turrets unless they can share systems across the different parts of the turret.
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    But aren't leaf-entities supposed to share shields and power with the parent-entity?
     

    jayman38

    Precentor-Primus, pro-tempore
    Joined
    Jul 13, 2014
    Messages
    2,518
    Reaction score
    787
    • Purchased!
    • Thinking Positive
    • Legacy Citizen 4
    But aren't leaf-entities supposed to share shields and power with the parent-entity?
    In the most recent update, Schema himself said that they were working to implement that to some extent. The question remains: to what extent?
    sharing of stats will also be redesigned so turrets can be designed any way. however turrets will still be somewhat exposed. with other systems that are planned in mind (ship and armor hp), they will be able to get a lot from the mothership (like they will share shields up to certain point) but they won't get full protection.
    [DOUBLEPOST=1427910068,1427909990][/DOUBLEPOST]as for loading, I'll definitely make a system that can replicate turrets for debugging purposes which is probably also going to end up in the game somewhat
     
    Joined
    Aug 14, 2013
    Messages
    2,811
    Reaction score
    960
    • Councillor 3 Gold
    • Wired for Logic
    • Top Forum Contributor
    We already have two systems to handle two different docking types. Fixed docking should handle differently enough to warrant it's own system. Forcing all ships to have required docking ports causes a lot of problems such as not being able to make universal docks and if your docking port gets shot off not being able to dock the ship at all until it is manually fixed. If the upcoming shipyards require you do dock a ship to them in order for them to function you will have to manually repair your ship in order to run the automatic repair system. What if you got hit by a hulk missile and the docking port and everything even close to it has been vaporized?

    I think schema should try to unify everything.
    • and we can try to provide fleshed-out solutions.
    I already suggested allowing cores to dock to rails. It's already been stated that the way rails work is by the two blocks linking up so this is pretty much not an option without re-doing what's already been done.

    Can you give a pic and explain more detailed _what_exactly_ will be impossible with the new system but possible with the old one?





    smallest possible point defense using the old system VS the new system.


    This also demonstrates the "style" of turret that will work with the new system. A base that is nothing more than a hinge for the turret body. Any turret like this 3x3 will have an exposed core because the center block must be the docker. This is why I proposed the core can act as the dock alternatively.

    Perhaps a different forward-controller for rails could cause slaved rails to send|export different signals to the docked|controller.
    • Use the old docker-textures for this block :)
    So what you're saying is we should have a separate fixed dock block that does other things when something is docked to it. You are agreeing with me now?

    In the most recent update, Schema himself said that they were working to implement that to some extent. The question remains: to what extent?
    Exactly. If you add a moving hanger door chances are it's just a slab of hull, maybe some decorative blocks. It's not exactly going to be set up with it's own power and shields so why shouldn't it get 100% protection from the mother-ship, it is essentially a part of the ship. I can understand turrets and fixed guns being vulnerable points as they are capable of dealing damage themselves.
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    What if you got hit by a hulk missile and the docking port and everything even close to it has been vaporized?
    Build many! + Expanding Phallus (ups, I meant Docking-Port :D)
    Probably ship-yards will not require rail-docks but put your core into the centre of a box.

    Perhaps a different forward-controller for rails could cause slaved rails to send|export different signals to the docked|controller.
    • Use the old docker-textures for this block :)
    So what you're saying is we should have a separate fixed dock block that does other things when something is docked to it. You are agreeing with me now?
    No. You still use rails.

    You just have "another activation module" that acts as an interface to and from a second function applying to the entity docked to a rail.
    Function 1 : Direction (Activation Module)
    Function 2 : Docking (in : Eject docked stuff, out : whether something is docked)

    BTW: Activation modules next to rails activate when something is on that block.
     

    Keptick

    Building masochist
    Joined
    Sep 26, 2013
    Messages
    4,062
    Reaction score
    1,841
    • Councillor 2 Gold
    • Railman Gold
    • Thinking Positive Gold
    I 100% agree with the entire suggestion. If this isn't implemented there's gonna be some crucial functionality elements that will be lacking (such as being able to undock ships with logic).

    A thing you may want to add is that turret docks could send out a signal to an adjacent not-gate when the turret on it is in default position. That would allow us to make very nice auto-retracting turrets and other automatic "battle mode" transformations (like red lights). And it wouldn't mess with the output to activator blocks when a turret is docked, since it'd use a not-gate instead. Of course, that's all assuming that turrets will return to default position when there's nothing to shoot at, otherwise it wouldn't really work.
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    A thing you may want to add is that turret docks could send out a signal to an adjacent not-gate when the turret on it is in default position.
    Not=True _if_ defaultPos=true? Confusion Ahead ;)
    Of course, that's all assuming that turrets will return to default position when there's nothing to shoot at, otherwise it wouldn't really work.
    You can already detect which rail has something above it (put activation next to it).

    This would require us to see whether something wants to enter combat (activate) or leave combat (deactivate battle mode with a few sec delay).
    • If something is firing or aiming.

    I also think we need a "fire at selected ENEMY" option since "selected target" might be a shop. Enemy if you have fired any gun at it repeadetly the last 5 minutes?
     

    Keptick

    Building masochist
    Joined
    Sep 26, 2013
    Messages
    4,062
    Reaction score
    1,841
    • Councillor 2 Gold
    • Railman Gold
    • Thinking Positive Gold
    Not=True _if_ defaultPos=true? Confusion Ahead ;)

    You can already detect which rail has something above it (put activation next to it).
    Having something docked to it and detecting if it's in default orientation are two very very different things.

    NeonSturm said:
    This would require us to see whether something wants to enter combat (activate) or leave combat (deactivate battle mode with a few sec delay).
    • If something is firing or aiming.
    That's exactly what I'm suggesting.
     
    Joined
    Feb 26, 2014
    Messages
    154
    Reaction score
    185
    smallest possible point defense using the old system VS the new system.


    This also demonstrates the "style" of turret that will work with the new system. A base that is nothing more than a hinge for the turret body. Any turret like this 3x3 will have an exposed core because the center block must be the docker. This is why I proposed the core can act as the dock alternatively.
    Maybe small turrets are easier to design as well if it becomes possible to link computers to modules on other segments.
    That way one would be free to for example have the computer and maybe some slave systems on the base and the barrel could consist of only the core, connector and the actual weapon modules.

    However, i have no idea how this had to work out in the code, or if it's even possible without overhauling the complete engine.
     
    Joined
    Aug 14, 2013
    Messages
    2,811
    Reaction score
    960
    • Councillor 3 Gold
    • Wired for Logic
    • Top Forum Contributor
    Maybe small turrets are easier to design as well if it becomes possible to link computers to modules on other segments.
    That way one would be free to for example have the computer and maybe some slave systems on the base and the barrel could consist of only the core, connector and the actual weapon modules.

    However, i have no idea how this had to work out in the code, or if it's even possible without overhauling the complete engine.
    Schema already sort of responded to this part of my idea

    I don't know yet if that would be a good idea in terms of balancing. The more ties there are between ships the more those ships are bound together and the more meta data there is, so I try to avoid it. It would cause a lot of menus of what goes where and if anything is assigned wrongly it would be hell to find the mistake.

    While power consumption and shields are very straight forward, weapon stat sharing is unfortunately a whole other story
    [DOUBLEPOST=1427910775,1427910612][/DOUBLEPOST]To be general: I try to make things simple while still complex if that makes sense. I don't like having to configure a ship for hours even if it's done building.

    I like to use the advantage that a block grid system gives us, which is that we can put the data in the actual structure of the entities
    I do however think it is a must have feature when it comes to turrets. We need the base, which is potentially the largest part of the turret, to not be dead weight. Even if the computers and their modules have to be in the same entity together the ability to link the master/slave/effect across the two parts would be amazing. This would mean 1/3 of your weapon could be contained in the barrel and the rest could be in the base.
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    Perhaps we need a new entity-type.
    • If an entity has a core, you can enter it, undock and fly.
      • But you don't need that for a barrel, maybe not even for a turret body (if there is another way to clone turrets than spawning ships).
    Just make the rail docker a core or the core a rail docker?
     
    Joined
    Sep 27, 2013
    Messages
    684
    Reaction score
    1,247
    Perhaps we need a new entity-type.
    • If an entity has a core, you can enter it, undock and fly.
      • But you don't need that for a barrel, maybe not even for a turret body (if there is another way to clone turrets than spawning ships).
    Just make the rail docker a core or the core a rail docker?
    That actually makes a lot of sense, a turret (maybe consisting of 2 or more sub-entities) would need a core though as it has to be independently controlled by a player or an ai (there has to be a way though to control the barrel... weapons computer maybe).
    That would also ease the balancing of shield sharing... Something with a core (Turrets, docked Ships) would only get a portion of the shielding while no-core equals full shieldstrength and weapon system interlinking.
     
    Joined
    Aug 14, 2013
    Messages
    2,811
    Reaction score
    960
    • Councillor 3 Gold
    • Wired for Logic
    • Top Forum Contributor
    Perhaps we need a new entity-type.
    • If an entity has a core, you can enter it, undock and fly.
      • But you don't need that for a barrel, maybe not even for a turret body (if there is another way to clone turrets than spawning ships).
    Just make the rail docker a core or the core a rail docker?
    I would love the ability to remove the core from entities that do not need it. The "Barrel" on a turret would have to have a core but the base doesn't really need it as the base is controlled by the end of the chain.
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    That would also ease the balancing of shield sharing... Something with a core (Turrets, docked Ships) would only get a portion of the shielding while no-core equals full shieldstrength and weapon system interlinking.
    Or Vice-versa.
    Should the barrel not get full shield from the turret body and the turret as a whole (the body+barrel) a portion of shielding?

    Also docked ships could behave like fully build into the ship, while doors would only share a portion
    (thus you have to protect these more fragile parts by not building it at the spots which are likely attacked and putting them into a hole...).
     
    Joined
    Sep 27, 2013
    Messages
    684
    Reaction score
    1,247
    Or Vice-versa.
    Should the barrel not get full shield from the turret body and the turret as a whole (the body+barrel) a portion of shielding?

    Also docked ships could behave like fully build into the ship, while doors would only share a portion
    (thus you have to protect these more fragile parts by not building it at the spots which are likely attacked and putting them into a hole...).
    One thing i fear is that rail doors will be completely under-powered (solely a design choice) when compared to blast doors (being a part of the main ship)
     

    Lecic

    Convicted Lancake Abuser
    Joined
    Apr 14, 2013
    Messages
    5,107
    Reaction score
    1,228
    • Thinking Positive Gold
    • Purchased!
    • Legacy Citizen 11
    With your suggestion, would power gen on rail docked entities also travel to the main ship?