CRAY LIFE (subframe conveniences)

  • mark2222
    17th Sep 2016 Member 5 Permalink

    Allowing CRAY to set the LIFE of particles it creates has become "official" (https://github.com/simtr/The-Powder-Toy/pull/335). Given that SPRK only activates powered materials when its life is 3 (no higher, no lower), and that conductors can be "turned off" with DRAY anyway, this feature seems oddly specific and subframe-biased (unless there's some use for this feature outside electronics that I'm not aware of).

     

    Now I have no qualms about being oddly specific and subframe-biased (apart from the fact that subframe isn't technically a supported feature to begin with), but then if we are going to do so, why not go all the way?

     

    • ARAY: TMP sets max beam length, TMP2 sets space before beam starts, LIFE sets the LIFE of SPRK that it generates
    • DRAY: TEMP sets the number of times which the pattern is copied, LIFE toggles no-diagonal mode
    • SPRK: A LIFE of 1000 (or some other magic number) behaves like a LIFE of 3 but doesn't decrement every frame
  • G-LinuxorU
    20th Sep 2016 Member 1 Permalink

    I think the idea that I like the most in your proposition is the;
    >DRAY: LIFE toggles no-diagonal mode
    I was just hitting a wall with something i'm making that could really use some PSCN->DRAY right next to each-other.

    Making ARAY more like cray/dray is also a cool idea, as long as it's not overpowered.(which it doesn't seem /too/ overpowered, imo)

    The part that confuses me is;
    ARAY: LIFE sets the LIFE of SPRK that it generates &
    SPRK: with a life of X doesn't decrement every frame
    Are you aiming for some sort of "native" way to get solid-sprk (60hz) conductors?

  • mark2222
    21st Sep 2016 Member 0 Permalink

    Well, I wasn't exactly proposing changes as much as (satirically) claiming that the CRAY LIFE update felt a little overpowered xD. But yes, all the changes I proposed address specific pain points in subframe development.

     

    ARAY setting LIFE would be similar to CRAY setting LIFE. CRAY setting LIFE would allow you to directly transfer activating (LIFE = 3) SPRK without resorting to space-consuming inversion logic. ARAY setting LIFE would do the same thing, except transferring logic directly from FILT logic. So you can have "activate this conductor if bit N of A is set" with just ARAY and FILT.

     

    The continuously activating (behaving like LIFE = 3) SPRK would be native solid SPRK, yes. I know that would be crazy overpowered, but this is satire.

     

    If you don't get the significance of LIFE = 3: Powered devices like ARAY and DRAY are only activated by SPRK when its LIFE is 3. But when SPRK is created (by ARAY, BTRY, CRAY etc.), it has a LIFE of 4 (this is to allow SPRK to "travel" across conductors consistently). Much of the subframe dirtywork is creating SPRK at LIFE = 3 at the right places within a single frame.