Connecting multiple computers together as well as some pseudo implementation

    What do you think of the suggestions

    • It's a good idea to allow utility computers to connect to one another.

      Votes: 4 100.0%
    • It's a bad idea to allow utility computers to connect to one another.

      Votes: 1 25.0%
    • There should only be one type of utility computer (or at least a slimmed down amount)

      Votes: 2 50.0%
    • We should keep separated utility computers

      Votes: 2 50.0%

    • Total voters
      4
    Joined
    Jul 14, 2013
    Messages
    98
    Reaction score
    27
    • Purchased!
    • Community Content - Bronze 1
    • Legacy Citizen
    While I can't find this through the search bar on the forums I am almost positive this has been suggested before, but let me go into detail of the implementation, just to explain how ridiculous the fact that this hasn't happened yet.

    My suggestion is to add the ability to connect all utility computers to computers of the same type(weapon computers to other weapon computers, missile computers to other missile computers, salvage computers to other salvage computers, you get the picture) in order to de-clutter the hotkey bar, (1,2,3...,0) and make successive strikes from different computers less annoying.

    Here is what would happen, by connecting a weapon computer to two plus other weapon computers with AA cannons connected to those computers, by simply pressing the fire button with your "master" weapon computer selected, you would first fire the first connected weapons computer, then the next, and then the next one after that, then the first one again (meaning firing from "sets" of individually controlled weapon computer AA cannon groups would not take more than one hotkey)

    Now here is how it would be implemented, I'm guessing there is some data structure (like an array or something more efficient) that holds on to an entire cannon group, for example, individual cannons being fired from the same weapon computer (if they aren't connected they act like their own cannons), and I also assume the way Schema handles firing is by calling fire on each of these cannons, but for all I know he could make it one giant "multi-cannon" object (though I doubt it since missiles have greatly varying reload times) This doesn't matter, as long as there something encapsulating weapon groups.

    Now that we've established there is a "thing" that represents a weapon group we can think of how making successive weapon groups being called would work. There is a few ways this could work

    First we could use a simple array structure in order to make a looped queue of weapon groups, in layman terms this would mean each weapon group would be put into a line of sorts (like a food line), but one that once the first "group" is served they return to the end of the line to get "served" again.

    In coding terms specifically I am suggesting that each utility computer has an arraylist which has one "weapon group" for its own weapons connected to it in the first position, and in the consecutive positions the next weapon computer attached, while also having a integer "turn" that represents the current index to be used when the player clicks their LMB, that gets updated every time the utility computer is used to "fire" or "salvage" like so "turn =( turn + 1) mod arraylist.size()". In this way, when "fire weapon" is called the first computer added is told to "fire weapon" in the array list, and when it is called again the next utility computer is told to "fire weapon" because "turn" has been updated. In this way references do not even have to be moved around, and the only thing extra that gets calculated real time is the turn variable.

    This is also modular, so you could have one utility computer attached to another utility computer which also has its own subset of computers, and if an entire sub weapons system was destroyed, it simply wouldn't fire, meaning that the click was useless and you just need to click again to get to the next (though you could make a smarter system that moves around the dead computers to the end of the arraylist and adds an offset to arraylist size like "arraylist.size() - n" so that turn never reaches the dead utility computers once a utility computer was destroyed, however this could lead to possible performance issues and is not really necessary).

    This would work even better if we only had one type of utility computer instead of it being split off into several different types, though it would work just as well to just have one utility computer for all weapons.
     
    Joined
    Nov 25, 2013
    Messages
    307
    Reaction score
    128
    • Purchased!
    Short answer: activation block

    We know it can already fire weapons upon activating, and can be connected to multiple blocks (weapon computers included). I'm not sure about it being on hotkey, because i haven't seen any film from the inside of the ship, but it's very very likely, that it'd be there.

    For the salves of different weapon systems using the same hotkey block, players can use delay block.
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    The delay block only allows for 1 shot each 500 milliseconds.

    I want the possibilities to have a computer firing all the time while something is ON and the ability to queue shots like with a counter-block (each activation adds 1, each request of if it is activated removes 1).
     
    Joined
    Jul 14, 2013
    Messages
    98
    Reaction score
    27
    • Purchased!
    • Community Content - Bronze 1
    • Legacy Citizen
    The delay block only allows for 1 shot each 500 milliseconds.

    I want the possibilities to have a computer firing all the time while something is ON and the ability to queue shots like with a counter-block (each activation adds 1, each request of if it is activated removes 1).

    Activation blocks seem to be the best answer then, as long as we can put the activation block in our hotkey bar.