Roboports should output missing materials to circuit network

Post your ideas and suggestions how to improve the game.
Theikkru
Fast Inserter
Fast Inserter
Posts: 119
Joined: Wed Mar 27, 2019 2:18 pm
Contact:

Re: Roboports should output missing materials to circuit network

Post by Theikkru » Thu May 23, 2019 5:39 pm

It's possible for logistics statistics to be negative, but that does not reflect the total outstanding requests. I tried requesting 5 pistols (of which there was unsurprisingly only 1 in my system), and saw a pistol signal of -1 while the assigned logibot floated to the one available. As soon as the bot grabbed it, the pistol signal went to 0. My bot carrying capacity at the time was 2.

Qon
Smart Inserter
Smart Inserter
Posts: 1239
Joined: Thu Mar 17, 2016 6:27 am
Contact:

Re: Roboports should output missing materials to circuit network

Post by Qon » Thu May 23, 2019 7:50 pm

Theikkru wrote:
Thu May 23, 2019 5:39 pm
It's possible for logistics statistics to be negative, but that does not reflect the total outstanding requests. I tried requesting 5 pistols (of which there was unsurprisingly only 1 in my system), and saw a pistol signal of -1 while the assigned logibot floated to the one available. As soon as the bot grabbed it, the pistol signal went to 0. My bot carrying capacity at the time was 2.
yeah but the negative number has nothing to do eith the amount requested in chests. Only shows negative because bots are trying to pick up morethan exists.

JadedDragoon
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sat Apr 27, 2019 2:20 am
Contact:

Re: Roboports should output missing materials to circuit network

Post by JadedDragoon » Sat May 25, 2019 12:58 pm

mrvn wrote:
Thu May 23, 2019 9:39 am
Qon wrote:
Wed May 22, 2019 10:48 pm
JadedDragoon wrote:
Wed May 22, 2019 10:08 pm
Everyone's talking about ghosts and construction. What about logistics requests? That's what I'm interested in. I want my fluids plant to be able to request iron plates from my forge as needed and use LTN to automatically fill the demand.
It has been mentioned. And we do want it. But typically the logistics demand from a station is constant in what is needed and constant at the rate it is needed. And there's also typically just a handfull of items that are needed (if you have dedicated production outposts and similar) so you can even have 1 station/item type. It's often easy to set up because of this and you can't get too much of things because everything is going to be used up eventually if the factory outposts keeps running.

Construction is different because what you want requested depends on what blueprints you place so any entity in the game might be requested and each outpost needs a large subset of all the item types, but you then want to avoid storing all non-used item types at an outpost that will never use them and send materials to another outpost instead. And setting up constant combinators for each blueprint is a lot of boring work.
The numbers for construction change with every entity build. When you ghost a nuclear reactor you want to request one. You don't want to request a second when the first one is placed (or in transit by bot). Not so with logistic requests. You need iron plates, you estimate requesting 1000 plates at a time will keep up with demand so you place your LTN station to request 2000 plates in 1000 plate lots and dump them into a provider chest. Done.

Also, correct me if I'm mistaken, but the roboport already outputs the logistic counts. Place one next to your LTN station and connect the roboport with the lamp of the LTN station. Adjust the requester limit and you should be done for a fully dynamic setup.
@Qon

My personal logistics requests are _not_ constant. And when I set down a new set of assemblers both the items needed for construction and the rate at which that section of the factory consumes materials changes. Even the number of bots needed to service requests increases slightly. Setting up and updating the constant combinators each and every time is also a lot of boring work. And simply setting the innitial request to way more than you will ever need is wasteful and overloads the train network while building the initial buffer (unless you also build a train network with higher throughput than you actually need... again, a lot of extra work). An efficient design would dynamically adjust to the ~exact needs as they change.

Not being able to do this is why I've typically ignored trains and simply built a ridiculously over-engineered bot network (100k+ logistics bots, hundreds of roboports along major routes around my base). I also tend to claim a large area of the map and spread my base out simply so i'm not constantly tearing down and moving segments of my base to make room for new stuff... so that's a LOT of ground for a bot network to cover. Ideally trains would handle transport between sections of my base and the bots would handle transport within those sections.

LTN plugs itself by saying it reduces rolling inventory by XX%. Neato. Now that inventory is sitting around in buffers instead. For want of a nail, perfection denied.

@mrvn

Unfortunately, the roboports do not output requests. The negative numbers shown on circuits connected to roboports are an artifact of the way Factorio does math for bots capable of carrying more than a single item (presumably to reduce processing overhead). Angel's cargo bots are a good example since they can carry 100-500 items each. If you put down a chest requesting 110 rocket fuel, the minimum the Angel's cargo bots will try to deliver is 200... since each bot carries 100 and it will take two bots to fill the request. And if there are only 102 rocket fuels on the local bot network the roboport will show -98 rocketfuel (not -200) when you put the chest down (and the two needed bots are launched). It arrives at the -98 value because it needs two bots to fill the request and the second bot can carry 98 more than is available for that specific bot to pick up (after all other bots have "designated" what they are going to pickup as well). The -98 will also disappear from the roboport when the last bot picks up two rocket fuels. Vanilla bots do the same thing once they are upgraded with a cargo capacity greater than one... just the values of the negatives are smaller (ie -2 vs -98).

Needless to say, this particular value is nearly useless from an automation perspective. Most significantly because I wanted 110 items... not 200. And because it's not 200 minus 110 but 200 minus 102 (the hypothetical "amount available"). Thus it tells me nothing about the actual requested values or the values of unfulfilled requests... not even indirectly. Not even if I worked some circuit magic on the available numbers. Which is why I assume the presence of these negative numbers are artifacts of "close enough" math meant to keep the bots from being any more brutal to the computer the game is running on than they already are.

mrvn
Smart Inserter
Smart Inserter
Posts: 3281
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Roboports should output missing materials to circuit network

Post by mrvn » Sun May 26, 2019 2:18 pm

Right, I got those negative numbers confused.

What you can do it wire up big electric poles connected to the LTN station. Then when you place a new assembler you place a requester chest connected to a constant combinator and set it to "set request". Add an arithmetic combinator "each * -1 = each" connecting the constant combinator to the nearest big power pole. That way the programming of the chest also programs the LTN stop.

You could also set up the LTN stop telling it only what to request and have some circuit logic monitoring the rate of consumption to adjust the amount.

Personally I think such tight control of the amounts will be inefficient. You want a large requester limit so you don't have trains driving around with just 50 plates of iron. Anything below a full train is wasteful in the long run. And the size of train and how many to request in parallel is determined by the train station and not the logistic network demands. So basically the only thing you can tune is how low you let the buffer get before requesting another 8000 iron plates. E.g. my nuclear fuel cell setup requests -8200 iron plates with a requester limit of 8000. So At 200 iron plates a new train is started. For anything with throughput I use request = N * limit depending on buffer and stacker space.

While I think roboports reporting missing materials would be good I don't think it would be for requester/buffer chests programing LTN stops. It's more for one-time or very low throughput situations. E.g. building a blueprint.

As for personal logistic requests: Do I want LTN to send trains with random materials I request ever time I walk/drive through an area covered by a roboport connected to an TN stop? Certainly not. That would leave random items all over my base. That feels more like something where you have a blueprint for that you place when you need something and then remove again. Still, it would be cool if you could put down a LTN station blueprint and it would be pre-programed to request everything from your personal logistic requests. Something that a mod could do.

Post Reply

Return to “Ideas and Suggestions”

Who is online

Users browsing this forum: No registered users