Build Anything With One Assembler - POC - eviltoast

https://factoriobin.com/post/tvqipx (v3)

older-version

Updated; Simplified, and added descriptions above, and grouping.

Take any item in the combinator in the bottom left; If we dont have a full stack of it, add it to a build queue

For each item on the build queue, pick one at random, try to build it, if we don’t have enough ingredients, add them to the build queue

When building a item, build until we have TWO stacks, or run out of ingredients. This is one stack MORE then we use to determine if something goes into the build queue by inventory alone, this prevents thrashing, so we queue at 100, but will build until 200.

I use the H as a hold signal… this could be a lot cleaner and simpler, but it works, and I wanted to share! I’d love to see improvements.

A dependency we can’t build will get stuck in the build queue (like plastic), right now I just have that displayed on the bottom using a manual check, but this isn’t very elegant.

Inspired by https://reddit.com/r/factorio/comments/1gkhehl/behold_the_bogocrafter/ Thank you @Legitimate-Teddy@reddit.com

I don’t have a reddit account to thank the original poster, but I do appreciate them sharing the idea! (If you use their original bogo design, be aware it doesn’t recurse down the dependency tree very efficiently, so you will WANT to make your own build queue)

Issues I’d like to improve:

Too complicated, better alerting, less cycles rechecking recipes we already checked, if we change the original item combinator the build queue doesn’t get reset, if I want MORE then one stack of something that isn’t possible… that really needs to get fixed.

  • VoterFrog@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    24 days ago

    I’ve got something similar except the number of items I want to produce is set by the constant combinator. The new logistics groups are awesome for this because I can have the combinator synced with things I want in my inventory.

    I also have the radar network set up where trains report the items they have and stations request trains with items they want so I can request more materials be delivered to my omni-assembler when I need them.

    The downside I’ve been wanting to fix is the need to specify all of the intermediates that are needed. That’s not too hard to fix, of course, just attempt to make ingredients that are missing (like you’re doing).

    I’ve also been wanting to try and change from using a constant combinator to using the requests on the logistics network. So then all you’d have to do to get something added to the recipe list is start requesting it.

    • jet@hackertalks.comOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      24 days ago

      That sounds really cool. Using the radars as network extenders is smart.

      The combinator groups are really powerful, I’m just starting to use them, I wish you could programmatically add items to them.

      I’d love to see your setup, if you want to share.