New Core Element for Modular Components

    Auriga_Nexus

    Befriender of Worlds
    Joined
    Dec 23, 2014
    Messages
    110
    Reaction score
    39
    • Purchased!
    Ok so the main issue with building modular ships and stations is that the game treats everything like it is a separate ship. Which is great and all when you want it to act like a separate ship but for a lot of rail applications that isn't necessary.

    This can lead to some issues. For example, you can't make warpgates that can move on rails because to do so the warpgate would have to be on an entity with a ship core, and it can't do that because you can only place it on stations.

    So to help bridge the gap between things intended as ships, things intended as stations, and things intended as neither (rather things intended as part of a ship or station but not a ship or station itself), I propose a new, spawnable core element; the Modular Component Core.

    It works the same way as a ship core; you press X to spawn it into existence. If you have both a ship core and a modular component core in your inventory, the game will prompt you to "spawn ship" or "spawn component"; otherwise spawning works as usual.

    Once spawned you can enter the core and build things off of it, as well as move it around.

    Here's where the MCC differs from the SC...

    • While "piloting" the MCC, you cannot use weapon or system computers or inner ship remotes. The only item that will show up in your weapons tab are rail dockers.
    • An MCC on its own will show up on radar as a "component", rather than a ship or station.
    • MCC's can dock to a ship or station. They cannot dock to other MCC's unless those MCC's are already docked to a ship or station. They can dock to turrets but only in a single chain - an MCC cannot dock to an MCC that is docked to a ship docked to a turret axis.
    • When an MCC docks to a ship, station, or turret it is considered a part of it, and no longer shows up as a separate entity on radar.
    • When an MCC docks to a ship or station, the attributes of that MCC are passed to the parent entity. This includes mass, block count, available thrust, power and shield recharge/capacity.
    • When weapons systems are placed onto an MCC they are linked to the core like normal weapons systems, but they do not show up on the MCC itself. HOWEVER, if an MCC is docked to a ship, any weapon system on the MCC will show up on the Weapons tab of the mothership, and these weapons behave exactly the same as if they were on the mothership itself (missiles lock, beams and cannons follow cursor, etc.) A weapon computer on an MCC can be linked as main or support to a weapon computer on the ship itself. Finally, if a ship or turret is controlled by Bobby AI, weapon computers on the MCC are usable by Bobby AI.
    • If an MCC is docked to a station it is considered a station for the purposes of placing station-only blocks such as factories, undeathinators, etc. These blocks can only be placed on the MCC if the MCC is docked to a station at the time. MCC's with station-only blocks on them lose the ability to move independently regardless of thrust, and cannot use weapon computers, nor can they dock to ships.

    Basically, an MCC would be specifically designed for "add-on" components that are to be part of a ship or station. They can be used on ships for weapon pods, dockable jump rings, and shield/power/thrust boosters. On stations they can be used for just about anything, but most importantly they can be used to make factories, Undeathinators, and warpgate systems that move throughout the station. Think about it like this: you can have a shipyard where each construction gantry has a rail along it, and you can place a tram car that has your station's production and storage system on it so as to be able to bring it to you if you need something made while working on a ship design. You can use it to have a variable gate system, where each warp gate is a separate ring on a stick attached to a central axis and can rotate independently, you select your destination with logic and the corresponding gate will rotate downward until it lines up with the launch tube your ship is standing by in. There are a multitude of different applications for this capability.

    Anyway I have no idea how viable all of this is. All that I know is that it covers most of the issues I've seen with rail-docked entities thus far.
     
    Last edited:
    • Like
    Reactions: Zaphord and ltmauve
    Joined
    Mar 11, 2015
    Messages
    141
    Reaction score
    39
    • Community Content - Bronze 1
    • Purchased!
    Please give us this :)

    It just should behave as it is the same entity it is docked to. So you could also link storage, weapons, whatever in between.

    So we could build modular interchangeable weapon-systems :)
    Reactors, real transformer-ships ... :)

    When I say reactors I mean all things docked this way have the same power-bonus cap (~1.000.000) so they don't affect the energy balance.
     
    Joined
    Jun 27, 2013
    Messages
    252
    Reaction score
    67
    • Purchased!
    • Community Content - Bronze 1
    • Legacy Citizen 2
    i'd love this. I would make my entire ship out of modular components for fps saving :p
     
    Joined
    Jul 27, 2013
    Messages
    78
    Reaction score
    9
    I very much like what you have here. You seem to have worked out most of the potential downsides to having a component type entity.
     
    Joined
    Jul 20, 2013
    Messages
    603
    Reaction score
    203
    • Legacy Citizen 2
    • Community Content - Bronze 2
    • Purchased!
    Agreed OP. However, I don't think we need a whole other type of block. How about updating the Rail Docker to be this block with the separate spawn command? That way it can act like you suggested, when placed otherwise it just acts like it does now, and each component would not require an extra block that's just around as an entity reference.
     
    • Like
    Reactions: Lecic
    Joined
    Jul 1, 2013
    Messages
    530
    Reaction score
    348
    • Legacy Citizen 8
    • Community Content - Bronze 1
    Agreed OP. However, I don't think we need a whole other type of block. How about updating the Rail Docker to be this block with the separate spawn command? That way it can act like you suggested, when placed otherwise it just acts like it does now, and each component would not require an extra block that's just around as an entity reference.
    Maybe use a build block instead. Rail docker you want to add afterwards.

    +1 to this whole idea, though. Ship modules you can transfer between ships to refit should be a thing.
     

    Ithirahad

    Arana'Aethi
    Joined
    Nov 14, 2013
    Messages
    4,150
    Reaction score
    1,330
    • Purchased!
    • Top Forum Contributor
    • Legacy Citizen 8
    Yes, please. The rail system is great, but something like this would fix a lot of problems with it.
     
    Joined
    Aug 16, 2013
    Messages
    4
    Reaction score
    0
    I love it, though I do have a suggestion:

    Instead of having to spawn a new MCC or (Modular Rail Docker) every time you want to add something that can move, or is modular. You use the MCC while building, imagine you're working on your ship, you place a rail, the you place a Docking-Module on it, add the MCC, and you have a new module, or door, or turret, etc. It would be even better if the MCC would be capable of docking by itself without a Docking Module.
     

    jayman38

    Precentor-Primus, pro-tempore
    Joined
    Jul 13, 2014
    Messages
    2,518
    Reaction score
    787
    • Purchased!
    • Thinking Positive
    • Legacy Citizen 4
    I agree with Viridis00. I'd definitely like this to be built into a rail docker, for a one-block rail solution. Smaller attachments don't have a lot of room, so having both a core and a rail docker on one small attachment hurts creativity. Combining the functions into a single block makes sense and saves a block of space. You could simply spawn an MCC when using the "Create Ship" command (typically "X") with the rail docker block highlighted in the toolbar. The rail docker block should have enough spare bits (all armor bits are available and with 100 health instead of 255, there is a health bit available) that the devs could use one of those spare bits as an MCC flag. (This rail docker has 228 health? Oh, it's a regular rail with 228-128=100 health, so the extra 128 health means it is a MCC block.)

    Edit: You can always add more rail dockers to an attachment. Most of my rail sub-elements have two rail dockers, for better flexibility and reusability.)