Layered Building - like alternative dimensions

    Benevolent27

    Join the Dark Side
    Joined
    Aug 21, 2015
    Messages
    585
    Reaction score
    327
    • Purchased!
    Alright, so this idea is to have non-physical blocks exist in an alternative build dimension, which can be used to add location specific effects and also for logic. What do I mean by this?

    Well, let's take logic for example. You could have a logic layer on ships, where only logic-connectable blocks show up in this build mode. All other blocks disappear from view. Then logic blocks can be placed down wherever there are not currently logic-controllable blocks. These logic blocks would have no system HP, no weight, and no physical interaction. They can then be connected or disconnected from physical blocks that are capable of being connected to logic. When switching back to normal build mode, the logic blocks disappear, tucked neatly into the other dimension. When the ship takes damage, these blocks simply do not get hit and do not impede anything. But if the physical blocks they are connected to are damaged, then they will not function correctly, of course.

    This would then open up other possibilities, such a shield reinforcement to specific areas. Or radiation, to damage enemy pilots. Or armor reinforcement. Now these "layered" blocks would still not be damageable, but they would allow applying effects to the specific areas they are placed. When placing reinforcement effect blocks down, they could only be placed where other existing blocks on the ship existed, and they would have to be connected some computer to function, which would draw power from the main ship. If the physical block they are layered with is destroyed, they cease to function, but would remain till a physical block of the right type was placed down again in the same spot.
     

    jayman38

    Precentor-Primus, pro-tempore
    Joined
    Jul 13, 2014
    Messages
    2,518
    Reaction score
    787
    • Purchased!
    • Thinking Positive
    • Legacy Citizen 4
    This would be a good way to maintain the block paradigm, while making more sense (not needing to build an "ENIAC" room just to open and close simple doors...) and still allowing battle damage to effect systems.

    Secondary suggestion #1:
    Alternate "layers" should be limited to the size of the physical ship. Not necessarily the shape, but the overall dimensions.

    Secondary suggestion #2:
    Different layers should "paint" the screen a shade of color, so that you always know which layer you are on. Maybe pulsate the shading from 90% transparent to 50% transparent and back to further illustrate that you are in a layer other than the physical layer. Examples: Logic could shade everything yellow. Astronaut Effects layer (poison, radiation, general healing, general damaging, inventory wipe, inventory restore, inventory set, etc) could shade everything green. NPC pathing layer could shade everything blue. (Reuse this code to paint the screen black when someone is in the bounding box of a ship that is factioned to some other non-friendly,non-allied faction (could be neutral or enemy), to eliminate unrealistic and unfair remote-spy examinations of structures belonging to other factions.)

    Secondary suggestion #3:
    Don't limit certain blocks to an alternate layer. Allow layer-specific blocks in both the alternate layer and the physical layer.
     

    Lecic

    Convicted Lancake Abuser
    Joined
    Apr 14, 2013
    Messages
    5,115
    Reaction score
    1,229
    • Thinking Positive Gold
    • Purchased!
    • Legacy Citizen 11
    Eh... for logic, maybe. I don't think doing this for systems is a good idea at all. Every system block on a ship should be tangible. This isn't like effects, which boost a system, because they can be destroyed.
     

    Benevolent27

    Join the Dark Side
    Joined
    Aug 21, 2015
    Messages
    585
    Reaction score
    327
    • Purchased!
    Eh... for logic, maybe. I don't think doing this for systems is a good idea at all. Every system block on a ship should be tangible. This isn't like effects, which boost a system, because they can be destroyed.
    I'm not saying systems blocks should ever be intangible. But let's say a new game mechanic in the future is created, like an "overdrive shielding computer". To use it, you place it down on the ship somewhere, then switch to an effects layer. You can then place down "shield re-reinforcement blocks" which overlap with existing blocks. When these blocks are hit, they only take 80% shield damage, at the cost of power drain to the main ship. This is just an example of how it would allow localized effects to take place.
    [doublepost=1497476331,1497475594][/doublepost]
    This would be a good way to maintain the block paradigm, while making more sense (not needing to build an "ENIAC" room just to open and close simple doors...) and still allowing battle damage to effect systems.

    Secondary suggestion #1:
    Alternate "layers" should be limited to the size of the physical ship. Not necessarily the shape, but the overall dimensions.

    Secondary suggestion #2:
    Different layers should "paint" the screen a shade of color, so that you always know which layer you are on. Maybe pulsate the shading from 90% transparent to 50% transparent and back to further illustrate that you are in a layer other than the physical layer. Examples: Logic could shade everything yellow. Astronaut Effects layer (poison, radiation, general healing, general damaging, inventory wipe, inventory restore, inventory set, etc) could shade everything green. NPC pathing layer could shade everything blue. (Reuse this code to paint the screen black when someone is in the bounding box of a ship that is factioned to some other non-friendly,non-allied faction (could be neutral or enemy), to eliminate unrealistic and unfair remote-spy examinations of structures belonging to other factions.)

    Secondary suggestion #3:
    Don't limit certain blocks to an alternate layer. Allow layer-specific blocks in both the alternate layer and the physical layer.
    I reall like your idea of a NPC pathing layer. That would be incredibly useful for having NPC's travel throughout your ship! I also like the idea of having shades, so it is obvious which layer is being edited. I also agree that the build area should be the same as the main ship.
     

    lupoCani

    First Citizen
    Joined
    Jun 23, 2013
    Messages
    504
    Reaction score
    127
    • Purchased!
    • Legacy Citizen 10
    So long as we keep in mind that we're - at least - doubling ship size, it is an idea with several merits. Though, I should personally prefer better systems for compact logic and such, and I suspect Schine is very vary of adding these sorts of "hammerspace" locations.
     

    Benevolent27

    Join the Dark Side
    Joined
    Aug 21, 2015
    Messages
    585
    Reaction score
    327
    • Purchased!
    So long as we keep in mind that we're - at least - doubling ship size, it is an idea with several merits. Though, I should personally prefer better systems for compact logic and such, and I suspect Schine is very vary of adding these sorts of "hammerspace" locations.
    Why would it double the ship size? If a layer is empty, there would be no data there, right?
     
    Joined
    Jun 24, 2015
    Messages
    385
    Reaction score
    59
    Why would it double the ship size? If a layer is empty, there would be no data there, right?
    In practice? yes/no.

    Yes, it "doubles" the ship's data/memory size, because even a Core-only ship "tracks" the emptyness of the other layers. (to be fair, that's the most-likely "doubling" scenario, but not the only one.)

    No, in that it will only add a tiny portion for ships not actually using it. (normal cruiser not using it, has basically added one shipcore of data/memory mass.)

    Now, for a more "normal" use-scenario:
    Self-propelled Warhead missiles. (on the servers where such weapons are an actual threat, rather than a joke)

    Normally, one-third the bloody torp is the logic clock to make the push-drive work. (the other thirds being: the push drive, and the core+warhead+power+docker)
    With your proposed layering, while the data/memory size is "roughly" identical to non-layerd torps, it is still slightly larger. (the data-structure for the logic layer)


    I think I'd like to see it, if only so I don't have to sacrifice shielding whenever I need a hangar's worth of logic, or for all the doors (rail or otherwise), or for the exterior lights.
     

    Benevolent27

    Join the Dark Side
    Joined
    Aug 21, 2015
    Messages
    585
    Reaction score
    327
    • Purchased!
    In practice? yes/no.

    Yes, it "doubles" the ship's data/memory size, because even a Core-only ship "tracks" the emptyness of the other layers. (to be fair, that's the most-likely "doubling" scenario, but not the only one.)

    No, in that it will only add a tiny portion for ships not actually using it. (normal cruiser not using it, has basically added one shipcore of data/memory mass.)

    Now, for a more "normal" use-scenario:
    Self-propelled Warhead missiles. (on the servers where such weapons are an actual threat, rather than a joke)

    Normally, one-third the bloody torp is the logic clock to make the push-drive work. (the other thirds being: the push drive, and the core+warhead+power+docker)
    With your proposed layering, while the data/memory size is "roughly" identical to non-layerd torps, it is still slightly larger. (the data-structure for the logic layer)


    I think I'd like to see it, if only so I don't have to sacrifice shielding whenever I need a hangar's worth of logic, or for all the doors (rail or otherwise), or for the exterior lights.
    I think this would be a very good use of it, but it would have plenty of other uses. I think it'd be worth whatever small amount of overhead comes from having layer specific data stored with the blocks.
     
    Joined
    Jul 9, 2016
    Messages
    85
    Reaction score
    27
    This is actually a good Idea. We can stuff anything that should not be block-wise (logics mainly, but I personally want chambers to go there too) in the pocket dimension. It is much easier to organize things in there too. We do not need to do block updates in that dimension, so I think this idea is pretty good.

    Virtual dimension embedded in the ship core... I guess?
     

    Lone_Puppy

    Me, myself and I.
    Joined
    Mar 12, 2015
    Messages
    1,274
    Reaction score
    529
    • Purchased!
    • Community Content - Bronze 2
    • Legacy Citizen 8
    Interesting I stumbled onto this when looking for effects controlled with logic.

    I like the non-physical layer idea. A long time ago, I had an alternative for the logic bloat idea that relied on a customizable computer block that had relay and input capability.
    Universal Computer Block

    Looking at your idea made me realise, both ideas shouldn't be all that difficult to implement and could easily be a part of the blueprint the same way we have docked entities. Naturally, it would be an entity without physical form except while in build mode. The non-physical slaving ability makes it easy enough to control whatever you want wherever it is on the entity.
    [doublepost=1499292727,1499292572][/doublepost]Oh, with my universal computer this would be when a non-physical entity would be generated to house the logic. In the BP it would be a subfolder like all the docked entities, but the difference being it is categorized as a non-physical attached entity or something.
     
    Joined
    Mar 10, 2015
    Messages
    122
    Reaction score
    50
    • Community Content - Bronze 1
    • Purchased!
    • Legacy Citizen 5
    You can avoid doubling the ship size by only tracking chunks with blocks in them. Minecraft does this to prevent storing megabytes of nothing to represent the sky.
     
    Joined
    Jun 21, 2013
    Messages
    77
    Reaction score
    24
    • Legacy Citizen 2
    • Legacy Citizen
    Why not have a separate logic block which compacts all the logic into a gui where you can effectively make lines between the logic blocks in order to make the block have an output, you could set it up so it has multiple inputs say a activation block or button physically touching the side of one of these blocks (it could also just be connected with c+v) would allow you to use it in the gui