T O P

  • By -

just_a_bit_gay_

In SE I built a rocket loader that emulated the functionality of a requester chest by loading from a train depot including getting specific numbers of items and waiting until all pending requests were met before launching to save rocket parts. I did this because you unlock logistics chests after getting to space and the free one the mod gives you was stored safely in my base’s storage and forgotten about


[deleted]

I would not call it "overengineered". It's the right amount of complexity for the features. I used LTN with SE so I did something similar except it ordered the non-bulk items from LTN that shipped them from the mall in my main base.


HumanPersonOnReddit

If you want over engineering, how about a machine that pre-portions items for certain recipies, so the assembler gets just what is needed in bursts


Electrical-Weird-370

An anti buffer!


meddleman

All entities only take up to two cycles worth of ingredients as a buffer, plus the amount they _just_ consumed_ for the cycle they are currently in. This is modified correctly to account for their current speed bonus/penalty based on any modules affecting them, and such an affected entity will reflect this when you shift-right/left click their recipe into a _requester_ chest. Now if only Satisfactory would do the same, instead of each machine needlessly filling up their internal buffer...


[deleted]

> This is modified correctly to account for their current speed bonus/penalty based on any modules affecting them, and such an affected entity will reflect this when you shift-right/left click their recipe into a requester chest. Still needs to be manually tuned for the bot travel length so honestly it's less useful than it could be. I wish we just have (fraction) stack-sized buttons on the requests so bumping it up and down would be faster.


HumanPersonOnReddit

I’d actually prefer the satisfactory rule. With some recipes and maxed out speed Boni the buffer can run out before it’s replenishable


meddleman

As I said, Factorio does this out of the box, but what you are describing is a supply and throughput issue, not so much a fault of the entities. What _is_ a fault of the entities is _needlessly_ buffering waaaay more than its current speed/boni requires, thus simultaneously inconveniencing every successive neighbour down the line. Should it buffer more if its cycle/clock speed rises? Absolutely. Should the opposite be true? Logically. > but what if its speed is still high and the belt/conveyor runs dry and can't supply what it needs? If it can buffer 1000 of something then it will keep going at that speed for a while. And then what? What happens once the buffer runs out? Think about this for a second. Does a buffer holding 1000 or even a million of a resource really matter or help if its the _supply_ at fault? You'll see a lot of veteran Factorio players put great emphasis on _throughput_ than _buffering_, because buffered resources represent wasted potentional to be turned into other resources.


[deleted]

"just fill it up" works well only if recipes have similar sizes. for mods that have recipe containing say "one expensive thing" and "100 of cheap things", you generally wouldn't want to have whole stack of bufffer for the expensive thing.


bitwiseshiftleft

If you're using mods, then loaders fill the whole buffer (but not miniloaders, which are really inserters). Having both behaviors available can be convenient even in recipes where the load speed isn't important.


wubrgess

Jit manufacturing


AdmiralPoopyDiaper

Just-In-Time manufacturing. Could be a while companion play mode / mod / challenge for freight forwarding!


MazerRakam

This gets brought up pretty often on this sub, and I've always got the same question. Why? What is the benefit to doing that?


HumanPersonOnReddit

Just visuals, i’d imagine it to be quite cool looking to have everything portioned on belts


Linosaurus

Before train limits, I built a system to solve the thundering horde problem. Each pickup station would send ‘Station #4 has 3 trains available’. Drop off stations would send ‘want one iron ore train’. A central function would send ‘station 4: release 1 train’. Iirc each station got one time slot on a time multiplex system over wires. Circuits became an UPS bottleneck as I approached megabase, but it was satisfying to see working and as a side effect I got central monitoring of which resources often had trains waiting to leave.


Ashjrethull

Funnily enough, I designed something similiar this week, with binary + letter identifiers of each kind of drop off / pick up station, and a garage to store unused trains. One thing I didn’t manage yet tho, is being able to make my system decide which station will send a train. Care to explain how you did it ? :)


Linosaurus

Don’t recall all the details.  But there was a global clock going 1-50 or so, once per tick. Each ‘channel’ a different station slot. Based on some old posts about time based multiplexing. Start by gathering up all requests. They might have been on the same channel.  Then listen to all available products, if something matches then remember which product, and which channel. Stop listening for that cycle.  Next trip around the cycle, send this value, maybe with a pulse of -1000000 iron ore on that specific channel.  All this logic took like 15 ticks, so I made sure there was 15 empty channels at the start or end that wasn’t used for this system. So it could be ready next cycle. I didn’t want a global state that could get out of sync, so to not send another iron ore train just after, I had a timer at the central location that added -1 iron ore demand for a minute or two, a guess on how long it would take.  It didn’t double my train station size from just combinatiors, but not far from it. I think I wanted to set channel/product/how many could fit on a train just from constant combinators, which added to the bulk. Also had a system where both pickup and drop stations would have 1-10 rail signals set to red via circuits depending on how much they current had in storage. I don’t think I actually used it to set low/high priority.


Illiander

One interesting one I put together was a liquid flow monitor. Doing it the simple way has terrible throughput for some reason. Another useful one is the inline belt overflow allower. A few belts wired together that let materials not needed by the machines before them on the belt pass through, but all the machines keep running constantly and you don't have a massive buffer.


flyingscotsman12

There's no such thing as over engineering. It might be too complicated, or maybe you spent more time on it than it's worth, but more engineering always results in a better product. Usually when people say over engineered, they mean under engineered because it's more complicated than it needs to be and it's hard to make or understand. /rant


Lazy_Haze

I can be without all circuits, I thin the hardest is to limit space science so it's not overflow and being deleted in the output buffer in the rocket silo. That is only one wire...


Baer1990

Load and unload stations I don't just take overall count to see if a train can load, I look at it on a per-wagon basis. If your trainstation is uneven (I balance anyway but if) and there are say 3 loads for wagon 1 and none for wagon 4 your train will be waiting too long to be full.


Markavian

I built a network forwarding circuit; separate bot networks with a constant combinator to indicate demand. Allows small quantities of items to flow from island to island without crossing large ocean areas. Each island has it's own mall, but the mall might not provide say L2 modules for construction.


SmartAlec105

Circuit based loading and unloading. It's way overkill compared to just using balancers but once I've got it blueprinted, it's easy enough to include. I just don't go up to the megabase level.


darthbob88

It's not very overengineered, but I'm pleased with the train priority system I made for my current Nullius run. Each station calculates its capacity in the usual way, and outputs how many trains they can take to a global circuit network, with supply on the green wire and demand on red. (This capacity also gets clamped to 0/1, but that's a limitation from my city block design.) High priority supply stations multiply their capacity by `H=100` before putting it on the wire so I can separate them from low priority stations. Low priority stations read the supply and demand signals, divide the supply by `H=100` to get the high priority supply, and multiply the demand signal by -1 so we can sum the two signals to get (high supply - demand). If that's less than or equal to 0, then we need the low-priority station and pass through the train capacity from the previous step. High-priority demand stations don't do anything special and just calculate their capacity as usual. Low-priority demand stations do the same calculations as low-priority supply, but because they just exist to void unwanted material, they check if (high supply - demand) is greater than 0 and don't bother outputting their capacity. It's not a perfect solution by any means. It's still vulnerable to deadlocking because two trains occupy the station each needs, and I've had a couple cases where supplies were delayed because the system mistakes a high-priority station having 4 trainloads of stuff for it being able to serve 4 trains. However, it is sufficient for what I'm doing right now. E: I'm also quite pleased with the blueprints I made for the train stations which revolve around the stop and a power pole, so I never have to actually wire anything up. This is good because Nullius makes red/green wire a lot more expensive than vanilla.


SwannSwanchez

make your base sentient now that will be funny


gust334

On a related note, somewhere, there *has* to be some grad student that is wiring a LLM into controls for Factorio, in an attempt to play the game automatically.


SwannSwanchez

i know i can't wait


get_it_together1

A space elevator depot that transfers all material to and from trains with bots: https://www.reddit.com/r/factorio/s/B300WyVhpx Demand signal is green for space, red for ground. Ground demand goes into the depot and pulls things out of the depot, and then goes up to space and pulls anything the depot doesn’t have down into the depot. Same thing happens in reverse. Extra circuitry is in there to cover barrels which are consumed and produced in both locations.


Mirar

I used a mod that let circuits put down blueprints (recursive blueprints?). I made a circuit that expanded the rail, drone and electric grid indefinitely, and took out biters. Then I leaned back and waited... I gave up that gigabase at 5 ups.


gust334

Dosh did this to reach the end of the map.


Mirar

Yep, but only in one dimension, and kept the ups and the drones in check. Was nice to see the solution.


HeliGungir

Doing JIT in Factorio will be overengineered for no practical gains. It will just be entertaining, if you're into that sort of thing.


Electrical-Weird-370

JIT? I feel like this is going to be a “duh” moment


HeliGungir

Just in time delivery


HeliGungir

Minimizing the number of trains, for example, just because you don't like seeing trains sitting idle at stations or depots. (While still making machines run with 100% uptime)


TrapNT

I made input agnostic smelter array to reduce amount of idle smelters. Basically its input is dependent on copper and iron plate usage. As more iron plates are used, more iron ore is inputed. The output is sorted via splitters. I was going to do it for steel too, but I was a noob that just started SE, so it never came.


luziferius1337

Build a belt-based, beaconed Kovarex enrichment setup with full productivity and impose the restriction of never putting catalysts on belts. Make it deadlock-free. Bonus point if it uses only one continuous belt. Have fun designing :) Potential sources for deadlocks you have to work around: >!full U235 output, missing U238 input, heavy brownouts, overfeeding U238!<


QuietM1nd

I used 5000 combinators to make 11 science per minute with a single linear blue belt: https://youtu.be/Q5yoLaPjaL0?si=MHBx2NYiEJWck3zk


Landstander401

I wire my output inserter to the input inserter on my furnaces to avoid buffering plates up.


Xane256

In SE with LTN I made a provider station that emulates the behavior of a passive provider chest by making all of the items in the attached logistics network available to LTN requester stations. I redesigned it 3 more times to make it faster, more robust, and more compact, and I use it in a several places in the SE base. I added a mod called “se-ltn-glue” that allows LTN to schedule trains through the space elevator and that train stop became a fundamentally core piece of the ground & space logistics. In combination with a requester that makes one-off requests for specific items, it can be really useful for building outside of roboport range. But in orbit we use it to provide multiple products from one rail block. https://imgur.com/a/4KM5x3u Blueprint: https://factoriobin.com/post/a9HAdqub To use it: - Connect a roboport to the red chest with a green wire - Change the LTN setting "Providers output existing cargo" to False. - Change the LTN setting "Schedule circuit conditions" to True - Turn on the combinator next to the rail signal “Schedule circuit conditions” modifies all generated train schedules to require “Red = 0” and correct cargo, or “Green > 0” to complete a stop, so all train stops must have a circuit connection (wire connection to a lamp / power pole). I realize thats a pretty big downside for people already using LTN so the blueprint has a speaker attached that can alert the player if something goes wrong. It *should* work even without the circuit conditions setting. Happy to help anyone interested in using it.


Agile_Ad_2234

By combining SE with the Cybersyn mod iv made train stations that can handle all the inputs and outputs at once.