Read by Council Docked entity limits? Simpler Turret system

    Do you think this would help lag as well as creativity?

    • Yes

      Votes: 5 62.5%
    • No

      Votes: 2 25.0%
    • Lag

      Votes: 1 12.5%
    • Who cares

      Votes: 0 0.0%

    • Total voters
      8
    • Poll closed .
    Joined
    Mar 3, 2016
    Messages
    10
    Reaction score
    5
    First off, I'd like to apologize if this topic has been addressed. I couldn't find it, but that's not to say that I may just have no clue on what to type in the search bar.

    Ok, so most if not all servers have rules that limit ship size/ block count to reduce server, and with that they also include a docked entity limit. Now mind you, I don't blame admins for this one bit. Actually I blame no one, it just is what it is.

    Just about every server my friends and I have played on typically have a 20 docked entities limit. Which means that you have to divide that 20 between ships like fighters or shuttles, doors or elevators using the rail system, and turrets, which can take up to 2 spots if you want them to swivel both horizontally and vertically.

    I'd like to propose the addition of a simpler turret system, one where only one core is needed. This core first off wouldn't have the same code structure as a ship core. This would be strictly for ship turrets, no thrust, dock control, or health system. You wouldn't be able to un-dock the turrets, they would be apart of the main core, just an extension. Being that if the turret's blocks take enough damage its useless anyways, it doesn't need a separate health system or to be a separate entity. Being an extension or part of ship it shares the shields and power, which is already the case. This core would then only give you independent control to swivel horizontally and vertically, as well as control it's weapon systems. If this could be done, it would reduce the docked entities as turrets would count as part of the ship. Considering that docked entities now contribute to the ship's overall mass anyways, I think it wouldn't make a difference to be part of the ship.

    Additions I think would make this even cooler:

    1) While the player is in build mode, the turret could then be constructed without leaving and having to create and enter a new core, you'd simple place a docking block, place the core on the docking block and construct the turret. This core would be just a control block, or gunner seat if you will.

    2a) Like all other blue prints, each turret you design can be saved as a blue print right. What about a system where while in build mode in your ship, you place the turret core down and it opens a menu for you to chose from either turret blue prints you've already created.

    2b) Or at least select from turrets you've already constructed on that ship and it auto constructs it. Reducing build times. This could potentially reduce blue prints saved to servers if you have at least the option to chose from turrets already built.

    3) Reduction of the need for a bobby AI on each turret, being apart of the ship, there could be a point defense system block that controls all turret cores. Of course this means that each turret would probably point at the same targeted enemy instead of each turret targeting separately. You could then use more than one point defense AI block. Each turret core would need to be connected to an point defense system or PDS block. This could potentially reduce lag getting rid of all those individual AI running separate from one another.

    In the end, server admins could still put a turret limit on ships to reduce lag from weapon fire, and bobby AI control, but it would save on consistently loading 20 plus separate entities. It's all just a suggestion. Thanks for reading.
     
    Joined
    Feb 25, 2016
    Messages
    1,362
    Reaction score
    268
    This is a very intelligent way to solve such a problem. Perhaps a more direct solution: When you place a BOBBY AI, you get the option to have it function as a turret core, or as a whatever else you may want to run with an AI.

    This turret is an integral part of the ship, rotating via rail turret axes, but does not need a ship core. It will be unable to be undocked. Turrets do not just go flying off of modern battleships. (Unless, of course, the magazine goes off. But we don't have magazines for cannons---we're too antimatter-powered) Instead, the rail turret axes can only take so much damage before turning into decayed/damaged versions of themselves that can only be harvested for scrap, but remain in places to reduce docking/undocking lag and issues.

    Because seriously, when's the last time you saw a ship leaving a WWII era naval battle leave turrets behind?
     

    Master_Artificer

    Press F to pay respects
    Joined
    Feb 17, 2015
    Messages
    1,588
    Reaction score
    612
    • Top Forum Contributor
    • Legacy Citizen 2
    • Thinking Positive
    This is a very intelligent way to solve such a problem. Perhaps a more direct solution: When you place a BOBBY AI, you get the option to have it function as a turret core, or as a whatever else you may want to run with an AI.

    This turret is an integral part of the ship, rotating via rail turret axes, but does not need a ship core. It will be unable to be undocked. Turrets do not just go flying off of modern battleships. (Unless, of course, the magazine goes off. But we don't have magazines for cannons---we're too antimatter-powered) Instead, the rail turret axes can only take so much damage before turning into decayed/damaged versions of themselves that can only be harvested for scrap, but remain in places to reduce docking/undocking lag and issues.

    Because seriously, when's the last time you saw a ship leaving a WWII era naval battle leave turrets behind?
    Well usually the battleships 14 ton turrets have gravity holding them tightly to the ships hull.
    Space is a tad different, things do tend to go flying off everywhere.
     
    Joined
    Feb 25, 2016
    Messages
    1,362
    Reaction score
    268
    Actually, no, not really. The BB turrets are VERY securely anchored to the rest of the ship---they have to be, in order to turn. Also, present SM turrets are fairly ridiculous---they're only external, and on missile turrets this makes no sense---where's the magazine? Where's the massive power banks needed to power this thing, and where's the armored citadel for when everything goes to pieces and the magazine's lighting up?

    Anyway, I hope that turrets also feed power DIRECTLY from the ship's power storage, because if I build an honest to goodness battleship in space, I'm not making another power plant in each turret---I'm getting out the good old fashioned 120V 5A or whatever it is house plug...and throwing it out the airlock. Then I'm getting out the infinite V, 1x10^10000000000 A power cable to power my antimatter turrets. No self-contained garbage for me! Especially because my turrets will eventually come with some sort of citadel to protect the turret rotators. Anyway, enough rambling.
     

    Master_Artificer

    Press F to pay respects
    Joined
    Feb 17, 2015
    Messages
    1,588
    Reaction score
    612
    • Top Forum Contributor
    • Legacy Citizen 2
    • Thinking Positive
    Well that just depends on how you want to build!

    This small turret is actually this size, when you take a look "under the hood".


    If you make turret wells, you can have larger turrets appear smaller at the cost of internal volume.




    In this gif you can see the extent of the turret well (actually quite shallow) as it rotates. It is embedded to the ship rather than bolted on like the typical turret.
     
    Joined
    Oct 22, 2014
    Messages
    338
    Reaction score
    148
    • Legacy Citizen 3
    @ Master Artificer, beautiful turrets.

    Onto the thread. I would support AI modules taking away the need for ship cores on turrets rather than just a different type of ship core for them. I've been for this for a while. AI drones, turrets, and physically built torpedoes would benefit from not needing a ship core. On the other hand, if you want a player or NPC to specifically use that turret, it should need a core or a seat linked to it(they've been talking about NPCs and chairs linked to duties). The turret or whatever should only be able to function autonomously if it doesn't have a core, IMO.

    This is a very intelligent way to solve such a problem. Perhaps a more direct solution: When you place a BOBBY AI, you get the option to have it function as a turret core, or as a whatever else you may want to run with an AI.

    This turret is an integral part of the ship, rotating via rail turret axes, but does not need a ship core. It will be unable to be undocked. Turrets do not just go flying off of modern battleships. (Unless, of course, the magazine goes off. But we don't have magazines for cannons---we're too antimatter-powered) Instead, the rail turret axes can only take so much damage before turning into decayed/damaged versions of themselves that can only be harvested for scrap, but remain in places to reduce docking/undocking lag and issues.

    Because seriously, when's the last time you saw a ship leaving a WWII era naval battle leave turrets behind?
    You don't see them because they don't float on their own. For the undocking lag upon ship destruction I'd suggest having all docked entities die with the mothership if still docked when it goes.
     
    Joined
    Feb 25, 2016
    Messages
    1,362
    Reaction score
    268
    Actually, what I meant there was that battleships don't lose turrets---the mounting is far more secure than our two-cubic-meter system would suggest. Or at least, it should be. Nor do smaller ships.
     
    Joined
    Feb 27, 2014
    Messages
    1,074
    Reaction score
    502
    • Purchased!
    • Legacy Citizen 4
    • Top Forum Contributor
    Interesting concept, I like it!
    Although I needed to re-read it twice (so much text lol).
    Itd be good to see some ease of use and optimization improvements for turrets.
     
    Joined
    Mar 3, 2016
    Messages
    10
    Reaction score
    5
    Yeah sorry for the long winded post. Started with the turret idea, then while typing came up with the idea for auto building currently available turrets and the AI control system.

    I did want to mention to Madman198237.
    This is a very intelligent way to solve such a problem. Perhaps a more direct solution: When you place a BOBBY AI, you get the option to have it function as a turret core, or as a whatever else you may want to run with an AI.
    Having an AI module replace the core would not only remove the ability to test the weapon your self without a setting an enemy down and targeting it and etc, they'd have to code a whole new module for a Turret AI. Now I know having a turret core still means coding a new core module. But I think it would be easier to work off the current core to make a turret core and add to the existing AI module the ability to connect multiple cores to one AI. At this point even if they could just have the current cores function both the horizontal and vertical movement without the need for a second core that would help.
     
    Joined
    Feb 25, 2016
    Messages
    1,362
    Reaction score
    268
    Yeah---that's the biggest thing all of us on this thread are agreed on, I think: We want less complexity in turret-making. You should be able to directly connect a rail turret axis to another axis, put ONE block on the end of it (Turret core for human use, AI unit if you don't need to use it as a person) and then build a turret.

    I hope that turrets begin to feed power directly from the ship they're attached to. Because right now, turrets are not as efficient as they should be, because they often need to contain banks of capacitors and generators in order to fire. Also, cross-entity (Turret and the ship they're attached to) logic signals or connections would be nice-that would allow you to connect multiple turrets to a single BOBBY AI. Even if those turrets can only aim at 1 target at a time, that'd still be effective for linking main battery turrets together and making a unified point-defense system.
     
    Joined
    Jul 15, 2014
    Messages
    506
    Reaction score
    110
    I hope that turrets begin to feed power directly from the ship they're attached to.
    But they already do? If a turrets on board power is insufficient they take power from the mothership. This has been the case since well before the Rail system.

    As for the topic itself, unless I'm misunderstanding your point I don't think it would help lag. Unless you go to the old system of turrets phasing through the parent ship 2 axis turrets are always going to need to consist of two entities in Starmades engine. One to swivel side to side and another to swivel up and down. The game can't really do movement on a single entity, and switching the core block for something else out won't do anything to address that.
     
    Joined
    Mar 3, 2016
    Messages
    10
    Reaction score
    5
    My point was the reduction of having the turrets count as 2 separate entities as well as creating a way for turrets to not have to count as a separate entity from the ship. If server admins put limits on docked entities to reduce lag, removing one or both entities that make up a turret would allow players to create ships with more docked fighters or advanced door systems. My suggestion was more to give players more options in the server they play on rather than a way to reduce server lag.

    I do see where you''re coming from Jim, I don't know too much about what the game engine can and can't do. And unfortunately creating a block the swivels both horizontally and vertically would just collide with it self.
     
    Joined
    May 18, 2015
    Messages
    287
    Reaction score
    165
    • Purchased!
    I hope I don't come off as just being negative, because I do agree that turret control needs improvement, and turret building could use some helpers to simplify construction. There are some assumptions here about 2-part turrets and multiple AI blocks causing lag that would be removed by consolidating them into one (sub?) entity, that is part of the main ship. Not being privy to how the game handles these aspects, I couldn't say whether one way or the other would be better. Mostly I'll just pose some questions to consider:
    and turrets, which can take up to 2 spots if you want them to swivel both horizontally and vertically
    Some server entity limits could be hold-overs from before the significant optimization of rail turrets in v0.19431 I personally haven't noticed any issues from docked turrets since then.
    You wouldn't be able to un-dock the turrets, they would be apart of the main core
    How would you move the turrets? Would this require another change/interface to manage turrets?

    it would reduce the docked entities as turrets would count as part of the ship
    Does the game engine handle a single multi-axis docked entity more efficiently than two single-axis entities?

    1) While the player is in build mode, the turret could then be constructed without leaving and having to create and enter a new core, you'd simple place a docking block, place the core on the docking block and construct the turret. This core would be just a control block, or gunner seat if you will
    You can already do this fairly easily with the "Create Docking" tool, Although switching to docked entities still is a pain if you have more that a few. A way to jump quickly to the desired one, either from a simplified list (not from Nav/filter), or a way switch to the one under the cursor would be nice.

    2a) Like all other blue prints, each turret you design can be saved as a blue print right. What about a system where while in build mode in your ship, you place the turret core down and it opens a menu for you to chose from either turret blue prints you've already created.
    This is a very useful idea. I think it deserves a separate suggestion thread. It could be used to place ships in hangars, or attach a pre-built door, etc.

    Of course this means that each turret would probably point at the same targeted enemy instead of each turret targeting separately. You could then use more than one point defense AI block. Each turret core would need to be connected to an point defense system or PDS block. This could potentially reduce lag getting rid of all those individual AI running separate from one another.
    On the point of better control over turrets, weapon groups, and targeting, I agree this is all sorely needed. As to removal of separate BobbyAI blocks to improve lag, I couldn't say. A PDS block versus separate BobbyAI are just two ways that amount to the same thing. Both systems provide a way to add to the list of AI controlled entities. "Under the hood" it might not make a difference.

    In the end, server admins could still put a turret limit on ships to reduce lag from weapon fire, and bobby AI control, but it would save on consistently loading 20 plus separate entities.
    Would it take less time to load a more complex ship with 20 "embedded" turrets, versus a one with 20 two-piece docked turrets?

    Again, just food for thought.
     
    Joined
    Jan 31, 2015
    Messages
    1,696
    Reaction score
    1,199
    • Thinking Positive
    • Likeable
    Since we all know that more cores = more lag a single-core or even no-core turret seems like a no-brainer (if it's possible within reasonable coding limits). The reason it probably won't happen is that they JUST implemented the current turret system as a big upgrade a mere 6 months ago. I doubt they're keen on re-visiting it.
     
    Joined
    Mar 3, 2016
    Messages
    10
    Reaction score
    5
    Yeah that's true it hasn't been that long and there are plenty of other things that need to be added or worked on. As far as cores = lag, I'm not even sure if that is or isn't a significant contributor to lag. I imagine it is, but I'm merely going off the restrictions place by the server admins and the reasoning.

    In the end, the restrictions suck.
     
    Joined
    Jul 15, 2014
    Messages
    506
    Reaction score
    110
    Why would more cores be more lag? From what I can gather the cores function from a coding standpoint is to act as a center for collision checks. If you replace it with something else there's still going to be the exact same calculations happening. And those calculations are pretty much unavoidable if you want the turret to move, especially in a way that looks remotely convincing.

    If you want a moving part on a ship you either need an animation skeleton, which in a cubic style like Starmade would not work at all, or multiple entities which makes the calculations causing the lag unavoidable (not saying that streamlining and performance boosts won't happen in the future here). There's nothing really inate about the ship core that causes lag here.

    Of course I say this knowing full well I might be wrong, if someone with a better understanding of the games engine then myself would chime in that would be helpful.
     
    Joined
    Mar 3, 2016
    Messages
    10
    Reaction score
    5
    Why would more cores be more lag? From what I can gather the cores function from a coding standpoint is to act as a center for collision checks. If you replace it with something else there's still going to be the exact same calculations happening. And those calculations are pretty much unavoidable if you want the turret to move, especially in a way that looks remotely convincing.

    If you want a moving part on a ship you either need an animation skeleton, which in a cubic style like Starmade would not work at all, or multiple entities which makes the calculations causing the lag unavoidable (not saying that streamlining and performance boosts won't happen in the future here). There's nothing really inate about the ship core that causes lag here.

    Of course I say this knowing full well I might be wrong, if someone with a better understanding of the games engine then myself would chime in that would be helpful.
    I'd imagine that each core has it's own set of stats, each core can move via thrust independently of one other, each one contains it's own set of attached blocks thus creating a separate entity, it has its own health and any power, shields, and armor stats. Only when docked does it share power and shields, yet still something the game has to calculate while the 2 are docked together. Where docking 2 entities together my reduce lag because there are not 2 separate objects moving around in the universe. The lag created by having multiple entities even docked together due to the game engine still having to load all the individual stats that allow for you to independently use each at any given time would still out way one entity by it self with nothing attached creating lag.

    sigh....

    The question is like NTIMES mentioned above.
    "Would it take less time to load a more complex ship with 20 "embedded" turrets, versus one with 20 two-piece docked turrets?"

    That I don't know. Something tell me if it did make a difference, it wouldn't be much.
     
    Joined
    Sep 1, 2015
    Messages
    188
    Reaction score
    37
    I like the last half of the proposal, but I'm also unsure about doing away with the turret core. I have thought it would be nice if there was a different way to use docking for entities that are not turrets. For example sliding doors and other unnecessary decorations that have only aesthetic value.
    My proposal was to eliminate the core for aesthetic docked entities with the requirement that they cannot have any weapon systems added to them. They could still be built and changed from build mode using a build block with a rail docker to complete the structure. It would still be a separate entity, but it would alleviate the limit on aesthetic structures and additions not related to bobby AIs/weapons. These types of structures would produce much less lag than anything using weapon systems or AI. Therefore, I do not believe the limit should apply to these structures.
     
    • Like
    Reactions: MTGraves
    Joined
    May 18, 2015
    Messages
    287
    Reaction score
    165
    • Purchased!
    Since we all know that more cores = more lag a single-core or even no-core turret seems like a no-brainer
    A turret without a "core" would still need to be tracked by the game engine. Removing the player-visible/useable Ship Core block wouldn't eliminate this underlying need, as it would still require an object with all of it's attached stats. Perhaps some minuscule optimization could be had by eliminating separate HP/Shields, but the weapon stats, position, angle, etc would still be there, but just lumped into the ship's data, increasing the time it takes to iterate over the its state.

    Why would more cores be more lag? From what I can gather the cores function from a coding standpoint is to act as a center for collision checks. If you replace it with something else there's still going to be the exact same calculations happening. And those calculations are pretty much unavoidable if you want the turret to move, especially in a way that looks remotely convincing.
    This is more the point I was getting at. I don't know how it all works internally, but the end result is that each piece of data has to be represented, no matter how you structure it.
     
    Joined
    Nov 3, 2015
    Messages
    59
    Reaction score
    5
    That's a smart idea. It would simplify turrets tremendously. In their current state, I find myself dreading building turrets, but this would fix that.