Layered Elements?

  • circovik
    28th Sep 2012 Member 0 Permalink

    Which is exactly what happened with original compression

  • --Justin-Gnail--
    28th Sep 2012 Member 1 Permalink

    Please dont take this out it's awesome because it opens up tons of possibilities. Also it dosent cause lag and its easy to erase unlike old commpresion.

  • singularity
    28th Sep 2012 Member 0 Permalink

    personally, I don't see the point in removing this "bug" if that is what you want to call it. I have been here since the very begining of this version of powder and I played the original aswell, some people wont know what I am talking about. Seriously look at at this way, what is the point of removing it? I have seen many different saves that involve compression and not once has my powder toy lagged or crashed, I have a pretty bad mac book by the way. So if you do remove this "bug" actually lets call it an "unintended feature", then perhaps you should add a mixing mode similar to the one in OECAKE!. Just a thought.

  • sandstorm
    28th Sep 2012 Member 0 Permalink

    I think this is an incredibly useful tool. not only would I reccomend keeping it, but i might even improve it in a way. perhaps prevent powders falling "out" or "from behind" solids, as this allows for "solid powders". this bug is useful in that it allows the combination of elements, creating useful "alloys" of different materials. also, it has a cap, to "decrease lagginess" as was the original reason for the bugfix. please do not remove this!

  • jacksonmj
    28th Sep 2012 Developer 0 Permalink

    Lag was not the only reason to make stacked particles turn into BHOL.

     

    The properties of the layered elements depend on the details of how various things are implemented in the source code, and as such are likely to change (possibly by accident) when the code changes. It is not an intentional feature, and so may not remain unchanged when new features are added or particularly messy parts of the code are rewritten.

     

    Making the stacking check any more fine grained would require a significant amount of work, so isn't going to happen just yet (but may in the future, particularly if I ever get round to rewriting all the pmap stuff so that it copes better with multiple particles in the same place). For now, just don't be surprised if the layered elements suddenly behave in a different way and the "alloys" have different properties.

     

    The post I linked to, nearly all of which also applies to small numbers of layers:

    Nearly all bugs and exploits make maintainability an enormous pain, if all features of the exploit have to be kept intact.

     

    Interactions between compressed particles, for example, depend on which update function the interaction occurs in. If stacked EMP is next to spark, all the EMP particles trigger because EMP checks for spark in its update function. However, if this was moved to the spark update function, then only a single stacked EMP particle would be triggered, not all of them. Why would we move it to the spark update function? Well, since EMP only interacts with spark, moving the interaction to the spark update function would allow the EMP update function to be removed, which should lead to an increase in speed in saves with EMP due to fewer functions being called.

     

    Some of my other reasons for making stacked particles turn into BHOL, listed in the feedback thread, were:

    They could be used to cause ridiculous amounts of lag, to make it hard to delete things, or to make it difficult to discover how a save works. Not to mention how much they offended my sense of physics...

  • Israel99
    28th Sep 2012 Member 0 Permalink

         

  • jacob1
    28th Sep 2012 Developer 1 Permalink
    @Israel99 (View Post)
    I doubt layered elements will be removed; if anything, they will work better. tpt could be made to allow multiple particles to be in one place, and interact. That would change the behavior of your saves probably like jacksonmj said, but they might still work. Elements like INVS and PINV would work much better, and maybe the photons array could even be removed, fixing some bugs with energy particles.

    I like useful bugs and exploits though, most are easy to keep and don't need to be worked around. I guess I just don't like being limited, and always try to remove limitations in things.
  • circovik
    29th Sep 2012 Member 0 Permalink

    Did the Devs/Mods know that compression could still be done after it was removed? I knew since the beginning that it was still possible. If they knew about it they would have removed it if they intended to because it has been around for months.

  • Israel99
    29th Sep 2012 Member 0 Permalink

         

  • Videogamer555
    5th Oct 2012 Member 0 Permalink
    How do you compress? Are those who know going to keep this a secret?




    jacob1:

    I made this by removing the check that there isn't a particle already when drawing.

    Which means you used a TPT mod, which means I'll need a mod to run it. Which one?

    jacksonmj:

    I'd like to remind everyone that it's not a good idea to rely on layered (a.k.a. stacked or compressed) particles continuing to behave the same way in future versions of Powder Toy. If you use them in saves, don't be surprised if one day the stuff in the save suddenly stops working. See https://powdertoy.co.uk/Discussions/Thread/View.html?Post=205718 for more details.

    In most cases, there are adequate ways to achieve the same effect without relying on stacked particles.

    Which is dumb as crap, because the "prime directive" of TPT is if even ONE SAVE EXISTS using a particular feature, element, etc, do NOT CHANGE OR REMOVE IT, FOR DOING SO WILL BREAK THE SAVE. And for TPT, breaking saves is like the ULTIMATE SACRELIDGE! Several suggestions I've made have been turned down for no reason OTHER THAN THAT IMPLEMENTING THEM WOULD BREAK SAVES!!!!! Yet if it is YOUR IDEA (or that of one of the programmers) you think you have the right to MAKE IT HAPPEN ANYWAY, EVEN IF IT BREAKS 1,000,000,000,000 SAVES!!!! THAT'S JUST DUMB!!!!!!!!!!!!