Turret system redesign

    Joined
    Mar 28, 2014
    Messages
    76
    Reaction score
    9
    This thread made me think a little about turrets. I do think they need a little bit of a redesign, so I got to thinking about it, and here's what I've come up with.

    Turrets should not be a separate entity, they should be part of the main ship (or station), built from the build mode of the main ship.

    To accomplish this, a new block should be created; let's call it a Turret Core for now. This is the block that you would place first, to start a turret. To help keep track of them, when you place the turret core down, you would give it a name, just like you do when you create a new ship.
    The turret core would automatically come with A.I., and you would control the settings for it from a Turrets tab in the menu. The range of motion for the turret would be controlled from build mode, so that you could have a visual representation of how far it was allowed to turn & in which directions.

    Now, you would have to have a way to separate what is part of the turret and what is part of the ship.
    One way to do that would be to create a new Turret Enhancer block (probably call it something else; turret separator maybe). These would be place on the bottom of the turret (relative to the turret, not the main ship), and they would not connect to the blocks of the main ship, although they would still touch. This may be complicated though, and it would limit the design of the bottom of the turret.

    A better solution would be to have blocks be joined to the turret core in the standard C+V method. Any blocks connected to the turret would move with the turret.
    Blocks that a turret could collide with would need to be tracked in build mode, and that should automatically limit what range of motion you can give the turret. Any blocks on the main ship touching a surface of a block connected to the turret would allow the turret to rotate parallel to the touching surfaces, but stop it from rotating perpendicular to the touching surface. Therefore, if two perpendicular surfaces of a block were touching a block not connected the the turret core, the turret would have zero range of motion in both directions.
    To allow turrets to still be able to move in both directions, another new block would be needed. Call it a "Turret Mounting Point". It would ignore the rules for turret collisions, and allow the turret blocks to pass through it. Alternatively, leave that block out, and force builders to create multi-turret hinges if they wanted two planes of motion on their turrets.

    For example, if you created a turret that was flat with the ship, it would have zero vertical range of motion. If you created one that was on a 1 block high post made of turret mounting point blocks, it's vertical range of motion would be limited to 1 block. If you created a turret in the middle of a ship with blocks on all six sides, or you did not connect a block in the middle of a turret to the turret, it would have zero range of motion horizontally and vertically.
    To make sure this did not create massive lag, turret range of motion would only by calculated & controllable in build mode; once you left build mode, it would be fixed.
    Alternatively, turrets range of motion could only be limited automatically based on the touching surfaces rules above. You would then have to manually limit the range of motion to prevent collisions with nearby blocks, and if a turret collided with the rest of your ship during operation because you didn't limit it's range of motion enough, it would break off the ship.


    Additional notes & benefits:

    Turrets would not be able to be entered by players unless a cockpit was on it. Ships should be able to be entered by multiple players, with each one going to different cockpit. I'm not sure how well that would work though, so maybe someone else could come up with a good way to allow secondary pilots into the turret cockpits on a ship.
    Maybe have a second cockpit entry block, that you then linked to the cockpit on the turret, and you would enter the cockpit on the turret by pressing 'r' on the cockpit entry block. To make that work properly, a different kind of cockpit would probably be needed, one that could only be entered through a linked cockpit entry block, and not by using the arrow keys from the core. That way, there wouldn't be conflicts if the person in the core tried to select the cockpit on the turret while someone else was in it.

    Turrets should be stackable, and the A.I. should target ships even if it has no guns on that turret. This would allow you to create a turret that had a base that was limited to horizontal rotation, and then guns attached to it that were limited to vertical rotation. To make the stacking make sense, when you attached a turret core to another turret core, any blocks attached to the second turret core should be automatically attached to the first turret core.

    Since turrets are part of the main ship now, you would be able to include the weapons on them in the new action block systems on the main ship. It could even be set up where you could control which guns on the turret the A.I. had control over. You could then create turrets that only tracked a target, and you had control over their guns through either an action block or by selecting the weapons computer on them in the hotbar.

    Weapons computers for the weapons on a turret would have to be on that turret for them to be useable.

    Turret turning speed could be set based on thrusters on the turret.

    Since turrets are part of the main ship, it would be easy to make them be covered by the main ship shields. That may need to be a server setting, as whether or not that happens greatly changes gameplay.

    This would allow turret arrays to be created on the side of a ship that has zero range of motion, and could only fire at enemys that were on that side of the ship.

    Since turrets are part of the main ship, this would eliminate them targeting the ship they were on or other turrets on that ship.
     
    Last edited:

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    Turrets which are covered by the ship's shields will give small fighters and bombers nothing to attack.

    And letting turrets fire through the ship (you could build them internally) is exploitable too.

    I rather want turrets not fire at all if they have no clear line of sight (or give you power back if they hit your own ship) as they may just waste huge amounts of power, thus limit your creativity in ship design (you don't wanna build inefficient ships?)


    But with a very limited arc of fire (+-15°) it could be balanced in some way, as you need more mass to cover all angles of your ship