Grab your best lube, because it’s time to talk about fluids!

  • wirelesswire@kbin.run
    link
    fedilink
    arrow-up
    2
    ·
    16 days ago

    I knew there was some jank with the fluid system, but not to this degree. I now feel less bad about leaving some pipe setups in a “good enough” state instead of optimizing.

  • BarbecueCowboy@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    16 days ago

    I know I’m likely alone, but I’m actually kind of bummed on this change.

    The old fluid system is janky and unpredictable and I have other complaints, but the way things flowed was sometimes part of the fun. I’ll kind of miss the puzzles of ‘Why are my flamethrowers not working again?’

  • key@lemmy.keychat.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    16 days ago

    Oh wow I didn’t realize nearly any of that detail about the current system. That explains why my fluid systems would always be unbalanced crap and sometimes require inexplicable pumps be added.

  • Lojcs@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    16 days ago

    I liked the previous system more than this. I think they could easily have the best of both worlds by making each pipe its own segment that pulls fluid from segments that have less fluid in them proportional to how much fluid that segment has. That way there’s both a propagation lag (and closer buildings getting more throughput than farther ones) like the current system and high throughout if the entire pipe is filled like the new system. This even opens up the possibility of higher quality pipes forming larger segments to increase throughout when the pipe isn’t fully filled.

    This would cause sloshing, but that can be fixed by each segment checking if the segment they’re pulling from pulled from them last tick and if so temporarily combining into a single segment for the next tick.

    The evaluation order feels tricky for this to work and the fill amounts of the segments would need to be updated right after evaluation instead of at the end of the tick for full throughput, but I think that can be figured out