System Inventory (Solution to ship construction tedium)

    Joined
    Apr 23, 2013
    Messages
    111
    Reaction score
    41
    • Legacy Citizen 2
    • Legacy Citizen
    Credit for the suggestion goes to TouhouTorpedo

    A lot of the time when somebody abandons Starmade, they'll say something along the lines of "building a viable combat ship is really time consuming and boring so i quit" or "i didn't understand how i'm supposed to use the different modules to best effect and i got bored figuring it out", and the unfortunate "i hate having to replace specific blocks in every nook and cranny every time i realize there's something i could to to make my ship more effective".

    And truly, a lot of what makes Starmade both good and bad is in the ship building. It's great that we can make all sorts of aesthetic looking ships and meticulously design both exteriors and interiors which are then (mostly) fully functional physical voxel surroundings to walk around in and fly around with, but designing the systems of the ship is a source of extreme tedium while not being particularly challenging: it's mostly just extremely time consuming trial and error.

    So what's this easy solution in the title?

    New blocks: System inventory, System Main Computer
    The system inventory is a separate cargo inventory which provides storage of module blocks for your ship's System Main Computers interface in order to easily rearrange your ships systems.

    The idea is: Fill your ship's empty spaces with System Inventory blocks. Put down a System Main Computer. Dock at a shipyard. Open the interface of the System Main Computer, and drag system module blocks from a nearby cargo inventory into your System Inventory.
    Here's an example of what the System Main Computer interface could look like.


    Very simple. You put the systems in the System Inventory and they will physically take up space in your System Inventory Blocks, just like cargo would in cargo blocks, and you can then drag and drop the systems into groups while docked to a shipyard to "outfit" your ship. You can split your system module stacks by holding a modifier key while dragging and dropping, which lets you create for example Cannon-Cannon groups even though the System Inventory is automatically sorted.

    Power, shields, thrusters and other such "automatic" systems don't need to be put into a group to provide their effects - you just fill the system inventory and its automatically assigned to a group.

    So this is great, but how do you link your guns to an output? Very simple. You put down just a relevant weapon block and open its interface.
    The Weapon Block interface, in marvelous mspaint glory:

    Linking multiple outputs to the same group "splits" the output of the group, evenly divided between the cannon modules. This has another benefit of allowing you to make multi-gun arrays where the outputs are adjacent instead of having to make a checkerboard array.

    Okay, hold up says Checkerboard Array Lover A. How am i supposed to make muh gigantic multi gun spam arrays if i have to select my group with a drop down list on every single block?

    Simple: C - V Linking for example a cannon module to another cannon module copies the group selection from the first to the second.

    Okay, hold up says Logic Controlled Weapon Lover A. How am i supposed to do muh timed heatseeker bursts and autofiring drain beams with this shit?

    Instead of linking the logic output to the computer, you just link it to any of the outputs of a system group and that group will fire.

    Since the weapon, effect and system computers would lack a function they could have a new functionality instead. Weapon computers for example could be linked to system groups and would allow NPCs to control and apply bonuses to the relevant group. So if for example the mass of your ship lets you have 10 crew and 5 of your crew was sitting in front of cannon computers linked to missile group A, then missile group A would get a 50% bonus to fire rate. There could be a whole another thread to explore on that subject alone, since it would be an opportunity to implement system - weapon synergies (linking a manned cannon computer to your scanner group would give a bonus to scan frequency but a penalty to range etc).

    So, the obvious benefits of this entire system is:
    • Much easier to trial-and-error your ship design to combat viability
    • Much faster refitting of ships
    • Much more information presented to the player in fewer windows and button clicks
    • Gives another purpose to shipyards
    • Opens up another purpose for "computer" blocks and a purpose for NPCs
    • Allows server owners to easily tweak the relative system power per size of all ships by adjusting how much system inventory space every system inventory block provides
    And the potential downsides would be:
    • Less opaque and "intuitive" system to understand initially, added complexity
    • Shipyard requirement might be very restrictive. Actually it might make it too restrictive when i think about it. Then again, there needs to be a limit to how fast you can refit your ship somehow.
    • Requires redesign of power mechanics, scanning mechanics, and any other dimension based mechanics i may have overlooked. But i suppose that's happening soon, anyways?
    • It will never happen etc
     
    Joined
    Feb 11, 2017
    Messages
    73
    Reaction score
    11
    I don't get it.
    1. You put a new storage system onto ships that can make it supposedly easier to refit only at shipyards? Why not, say, bases?
    2. How do you designate empty areas that should be filled? Surely you don't think that there is any program in this world that wouldn't use this system to make the ship into a hideous cube or fill in interiors, right?
    3. Why not just use the implemented build system? You know, the one that by default can place any number of blocks up to 100 units in any direction?
    4. If they thought it was time consuming, why bother playing a sandbox game in the first place that points out that its main purpose as of now is building? If they thought something was too hard, why not bother asking someone for help? If you hate having to replace blocks to make it more effective, why not just don't replace it? Or how about using the replace tool? With some polish and a slightly ease-of-use update, it'd be perfect, even though it works absolutely fine anyways.
     
    Last edited:
    Joined
    Apr 23, 2013
    Messages
    111
    Reaction score
    41
    • Legacy Citizen 2
    • Legacy Citizen
    I don't get it.
    You place cargo blocks, but they're not cargo blocks, they're "system" cargo blocks.
    Then, instead of placing weapons, shields, power etc in your ship, you load the blocks into your "system" cargo and it will fill up the cargo, NOT PLACE THE BLOCKS. The idea is that the system will work without ever placing the system blocks.
    Then you can swap out your systems whenever you want by just putting something else in the cargo, was the idea.
     
    Joined
    Feb 11, 2017
    Messages
    73
    Reaction score
    11
    I see how that could be a good idea. But I also see this problem: How does the code equate into this? Surely you would consider that since each block emulates a select block, not only would they be forced to calculate everything they're supposed to do and check if they've changed or not, but it would most likely have to emulate every single aspect of the block it's supposed to be and the block it is at the same time, which could significantly slow down processes.
     
    Joined
    Apr 8, 2013
    Messages
    1
    Reaction score
    0
    • Legacy Citizen 2
    • Legacy Citizen
    Hey thanks Apelsinsaft, I wasn't expecting this idea to get followed up by someone. Updated my account so I could reply.

    I don't get it.
    1. You put a new storage system onto ships that can make it supposedly easier to refit only at shipyards? Why not, say, bases?
    2. How do you designate empty areas that should be filled? Surely you don't think that there is any program in this world that wouldn't use this system to make the ship into a hideous cube or fill in interiors, right?
    3. Why not just use the implemented build system? You know, the one that by default can place any number of blocks up to 100 units in any direction?
    4. If they thought it was time consuming, why bother playing a sandbox game in the first place that points out that its main purpose as of now is building? If they thought something was too hard, why not bother asking someone for help? If you hate having to replace blocks to make it more effective, why not just don't replace it? Or how about using the replace tool? With some polish and a slightly ease-of-use update, it'd be perfect, even though it works absolutely fine anyways.
    1. Faction home bases I suppose would be fine for this.
    2. A "system space" block of some kind would probably do it. Any joined system spaces blocks would count as one system space.
    3 & 4. The point behind this idea is that Starmade has a wide variety of systems that can be used in a large number of combinations. If you build a moderately large ship with a certain weapon and system combination only to find out later that it happens to be utter garbage, there's no easy way to rip out the systems from the inside of your ship and change it. This proposal is to allow users to avoid this problem.

    Another thing that got missed is I think the game would benefit from "From the Depths" style repair, so broken blocks will be put back at any location you can "repair" such as a shop. I would also recommend this is at reduced monetary or material cost (with the choice of either)

    The whole purpose of all of this is to encourage the player to take risks and get involved in battles; By making it much easier to refit for a good configuration, and making it not prohibitively expensive to risk taking damage.
    [doublepost=1493839388,1493839143][/doublepost]
    I see how that could be a good idea. But I also see this problem: How does the code equate into this? Surely you would consider that since each block emulates a select block, not only would they be forced to calculate everything they're supposed to do and check if they've changed or not, but it would most likely have to emulate every single aspect of the block it's supposed to be and the block it is at the same time, which could significantly slow down processes.
    I can't see why this would incur any significant overhead. Far as I can tell everything is handled in groups of blocks now, so a system space group would be calculated just the same as a weapon or system group is, and by whatever stack of blocks was added to it, the appropriate function is assigned. The selection of which function is appropriate would have occurred when the inventory was filled, so the additional overhead is a one off occurrence of "check what type went in and how many, assign function".
     
    Joined
    Feb 11, 2017
    Messages
    73
    Reaction score
    11
    Hey thanks Apelsinsaft, I wasn't expecting this idea to get followed up by someone. Updated my account so I could reply.



    1. Faction home bases I suppose would be fine for this.
    2. A "system space" block of some kind would probably do it. Any joined system spaces blocks would count as one system space.
    3 & 4. The point behind this idea is that Starmade has a wide variety of systems that can be used in a large number of combinations. If you build a moderately large ship with a certain weapon and system combination only to find out later that it happens to be utter garbage, there's no easy way to rip out the systems from the inside of your ship and change it. This proposal is to allow users to avoid this problem.

    Another thing that got missed is I think the game would benefit from "From the Depths" style repair, so broken blocks will be put back at any location you can "repair" such as a shop. I would also recommend this is at reduced monetary or material cost (with the choice of either)

    The whole purpose of all of this is to encourage the player to take risks and get involved in battles; By making it much easier to refit for a good configuration, and making it not prohibitively expensive to risk taking damage.
    [doublepost=1493839388,1493839143][/doublepost]

    I can't see why this would incur any significant overhead. Far as I can tell everything is handled in groups of blocks now, so a system space group would be calculated just the same as a weapon or system group is, and by whatever stack of blocks was added to it, the appropriate function is assigned. The selection of which function is appropriate would have occurred when the inventory was filled, so the additional overhead is a one off occurrence of "check what type went in and how many, assign function".
    Well, you'd need to essentially be having two blocks in one spot. You'd constantly have to be checking if the system's computer is still connected to the system blocks, you'd have to make sure that the system block isn't destroyed and if it is revert it back to a system inventory, if the system main computer is destroyed ALL of those get turned back into inventory blocks, then you have to decide if they can auto-fill themselves when destroyed, which could mean that a ship could become practically invincible because every destroyed system block is simply replaced.
     
    Joined
    Apr 23, 2013
    Messages
    111
    Reaction score
    41
    • Legacy Citizen 2
    • Legacy Citizen
    I think you misinterpreted the suggestion still.

    The Main System Computer would have X cargo space according to how many System Inventory blocks you have on the ship.
    Say you have 200 cargo space in your System Inventory. You fill the System Inventory cargo space with 200 cannon modules, and the System Main Computer pretends that you have a cannon with 200 blocks in it. There is, physically, no cannon anywhere on your ship.
    Put down a single cannon block and link it to your cannon group by interacting with the cannon and selecting the group in a drop down list. If you then fly the ship and put that group on the hotbar and fire, the single cannon block you placed down would fire a shot equal to the power of 200 cannon modules.

    I suppose all of this could even be done without the "System Main Computer", just have it all in an interface somewhere in the ship UI.
     
    Joined
    Feb 11, 2017
    Messages
    73
    Reaction score
    11
    But then that would encourage ghost ships that can have a minimal amount of blocks to actually destroy, but completely wreck other ships since the blocks they are imitating aren't physical and therefore would not add the same amount mass that they usually do nor consume the same amount of power that they usually do.
     
    Joined
    Apr 23, 2013
    Messages
    111
    Reaction score
    41
    • Legacy Citizen 2
    • Legacy Citizen
    But then that would encourage ghost ships that can have a minimal amount of blocks to actually destroy, but completely wreck other ships since the blocks they are imitating aren't physical and therefore would not add the same amount mass that they usually do nor consume the same amount of power that they usually do.
    The System Inventory blocks would be physical and have mass. By destroying one System Inventory block out of say 1000, the ship would lose a random selection of 0.1% of its system modules from its cargo. If you keep destroying blocks until the ship has say 500 System Inventory blocks left, the system inventory would now have 50% of the modules it used to have in its cargo.
     
    Joined
    Feb 11, 2017
    Messages
    73
    Reaction score
    11
    Ok, but that still doesn't explain how this system deals with power consumption and mass. Do each of these blocks imitate the block they act like's power consumption and mass as well, or do they only reflect their own power consumption and mass?
     
    Joined
    Apr 23, 2013
    Messages
    111
    Reaction score
    41
    • Legacy Citizen 2
    • Legacy Citizen
    It would pretend to be those blocks, but you will only ever see the blocks in the system cargo interface. Everything will be simulated with numbers. So, every System Inventory block would be completely the same regardless of the state of the inventory itself.

    Depending on whether or not it will create performance issues, you can definitely skip having the system inventory blocks "animate" like regular cargo blocks when the system inventory fills up. The important part is the inventory itself.
     
    Joined
    Aug 3, 2016
    Messages
    187
    Reaction score
    96
    Se let me get this straight: you define the space reserved for systems with "cargo space"-like "system space", then put a "system" in groups of those blocks.
    Basically is something akin to EVE Online but you're the one defining the size and number of those system slots, as well as not being restricted with what you put in there, is that correct?
    That's... honkin' awesome!

    Although I could do with a bit more control over those system spaces.
    • do away with "one system per one space", allowing instead to place as many systems as you want, even duplicates, and assign them a % of available space (naturally, rounded down)
    • eliminate the need to place "output blocks" by allowing us to set the system space blocks as outputs
    • allow us to group the system space groups (think treating x12 missile groups as one big group)
    • allow us to group the groups of system space groups must go deeper... (think treating two of those big groups of x12 missile groups on either side of a ship as one even bigger group)
    • allow us to link one group to the blocks of the other and have this link transfered (if applicable) to the weapon/support system/effect computer we will place in that group (linking computer to modules, linking primary to secondary and effect computers and etc.)
    • multiple system computers could be used to split big groups into smaller ones (think salvage waffles)
    • due to their more... "complex" nature cargo and reactor systems are excluded form this system, auxiliary reactors, however, are not
    I expect you still have to provide the system blocks to fill those spaces.
    And since you have to store them somewhere beforehand, refitting on shipyards makes even more sense.
     
    Last edited:
    Joined
    Apr 23, 2013
    Messages
    111
    Reaction score
    41
    • Legacy Citizen 2
    • Legacy Citizen
    Se let me get this straight: you define the space reserved for systems with "cargo space"-like "system space", then put a "system" in groups of those blocks.
    Basically is something akin to EVE Online but you're the one defining the size and number of those system slots, as well as not being restricted with what you put in there, is that correct?
    Yup, that's the gist of it.

    • allow us to group the system space groups (think treating x12 missile groups as one big group)
    • allow us to group the groups of system space groups must go deeper... (think treating two of those big groups of x12 missile groups on either side of a ship as one even bigger group)
    You wouldn't need to do that: Assigning 12 missile output blocks that you placed on your ship all to the same group would cause that group to fire all 12 of the outputs, with its power split between them.
    • due to their more... "complex" nature cargo and reactor systems are excluded form this system, auxiliary reactors, however, are not
    Cargo would be the obvious exemption to the system inventory, but i think reactor systems would be changed somehow to accommodate the change. Either by having a new system for the reactors (the old heat boundary suggestion by the devs would actually mesh pretty well with the system inventory idea) or by just lazily letting you put reactors inside the system inventory like other systems. The current dimension-based system is one of the most unintuitive things i've ever come across in any sandbox game ever.
     
    Joined
    Aug 3, 2016
    Messages
    187
    Reaction score
    96
    Assigning 12 missile output blocks that you placed on your ship all to the same group would cause that group to fire all 12 of the outputs, with its power split between them.
    Now that I think about it, it does make more sense to assign all x12 system space groups to a single controller. Silly me.
    Though being able to control several such groups simultaneously as if they were one, say swapping twin cannons on either side of the ship for twin beams, while retaining the ability to keep one of the twin cannons, certainly wouldn't hurt.
    I suppose this grouping could be achieved with system space controllers, connected to other controllers. Simple and elegant, with no additional blocks and potentially infinite nesting.

    Regarding reactors, I've excluded them for several reasons:
    • you seldom, if ever, make changes to them; shuffling other systems around instead
    • the ease of placing down the power lines conventionally outweighs the tedium of setting up groups to do the very same thing via suggested system
    • unless you define the aforementioned groups via multiple system space computers you have virtually no control of how systems will be placed inside the system space volume
    • and due to previously stated lack of placement control, it would be ill-advised to enable this system for reactors, as the power overhaul could make reactor building incorporate several blocks that require careful placement
    I strongly oppose "lazily putting reactors inside the system space", there's absolutely no need to trivialize reactor building like that.
    I suggest loading templates right into the group through the group's controller instead. Loading a reactor snippet, if you will.
    Although it's for the upcoming NEVER EVER update mostly, the current reactors benefit more from stretching the entire length of the ship, rather than being kept in tight bundles in a reactor room.
     
    Joined
    Jun 17, 2015
    Messages
    300
    Reaction score
    90
    I like some of the ideas here but as implemented it would cause some issues. The weapon outputs would become an incredibly valuable target. Most people would probably bury it in their ship then. I'm not sure how it would work with armor, as armor would be intensely nerfed by this. It ends up changing a lot of dynamics in the game and I don't really think its worth it.

    I do agree that altering ship systems is tedious and I want some improvement. I would rather they still be placed in the ship itself but that they would function as a group. If there were more group oriented behaviors between blocks I wouldn't feel the need to stuff every crack with blocks.Something to where I feel the system blocks come together to form a component instead of me just adding blocks to tweak stats.
     
    Joined
    Aug 3, 2016
    Messages
    187
    Reaction score
    96
    The weapon outputs would become an incredibly valuable target.
    Would they, really? As it stands, the weapons we have now have no trouble finding a new output when their old one get blasted to pieces. I see no reason why such behavior would not apply to the "slotted" weapons.
    I would rather they still be placed in the ship itself
    Well, the cargo space blocks do change as they fill up, no reason why system space blocks can't change when a system gets slotted in them.
    And by changing I mean assuming the role of the slotted block - for all intents and purposes it's the block of the system currently occupying that space, i.e. AUX would explode, salvage beam would mine and etc. The only difference being the fact that you can swap systems with little effort and a shipyard.
     
    Joined
    Jun 17, 2015
    Messages
    300
    Reaction score
    90
    If all you are doing is putting the blocks in a slot (with no compression), I don't really see the point its the same as what we have now except in how you place down the blocks. I would still have to set down the initial area so it only is a benefit if you want to change current systems. The problem then becomes how do I control what blocks are where on my ship? I'd rather place it down myself then have to play RNG with the computer.

    I could see all of this being accomplished with additional build tools. I see no reason to totally change this aspect of the game purely so it is less tedious to modify systems. I start to think about how this would effect the rest of the game and it has ENORMOUS effects. This is especially true of combat.
     
    Joined
    Aug 3, 2016
    Messages
    187
    Reaction score
    96
    If all you are doing is putting the blocks in a slot (with no compression), I don't really see the point its the same as what we have now except in how you place down the blocks.
    Why would you have any kind of compression? You have completely missed the point of this system.
    I would still have to set down the initial area so it only is a benefit if you want to change current systems.
    That's exactly what it is for. To let you quickly and easily swap systems, not to cram dozen shield caps in a single block.
    The problem then becomes how do I control what blocks are where on my ship?
    Multiple system space controllers, each connected to a certain group of blocks within a larger chunk. That's how you'd make salvage waffles for example.
    totally change this aspect of the game
    Not really. It only adds a way to reduce tedium, standardize shipbuilding for mass production and help non-builders gradually ease into proper shipbuilding by starting with "modules" and "slots" to put them in.
    it has ENORMOUS effects. This is especially true of combat.
    What effect does it have on anything exactly? As I see it, there is little to no difference between a "slotted" system or weapon, and the same blocks placed "manually". Combat-wise, there isn't any difference at all.
     
    Joined
    Jun 17, 2015
    Messages
    300
    Reaction score
    90
    Then I don't understand how this system would save me time. If I still need to manually define areas what is the point of this system. It would be more tedious if you suddenly felt the need to change block count on anything. I feel it would just make building more complicated to solve a problem. If you don't understand how seemingly small gameplay changes can have huge ripple effects than there isn't much I can say. This is talking about changing one of the core fundamentals of the game, namely system construction and function.
     
    Joined
    Aug 3, 2016
    Messages
    187
    Reaction score
    96
    Then I don't understand how this system would save me time. If I still need to manually define areas what is the point of this system.
    You only need to define the system space once, during ship construction. You're free to reorganize said systems in said space afterwards.
    Change armament, swap one blob shield caps for AUX... With each system in the system space group having assigned a % to fill, you can use a single master ship blueprint that you fill in with systems to fit in any scenario. Especially with no prior experience in shipbuilding.
    You don't have to be a theoretical physicist to open a menu, fill empty slots with something from the dropdown menu, and provide the chosen blocks. Even a goddamn monkey can be trained to do that.
    This is talking about changing one of the core fundamentals of the game, namely system construction and function.
    Please say that you're only pretending to be dense as a neutron star.
    No one's forcing anyone to use only that system. You can still place blocks manually. There is literally nothing gamechanging about that.
    It's a glorified [Replace with active block] filter from the advanced build mode, for crying out loud. There is nothing about this system that changes the function of the blocks.