[HN Gopher] Enhancing Factorio with SAT solvers
___________________________________________________________________
Enhancing Factorio with SAT solvers
Author : polivier
Score : 318 points
Date : 2024-02-12 13:09 UTC (2 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| Lichtso wrote:
| Cool project! Wish we would see more applications of SAT solvers
| or logic programming in general.
| JonChesterfield wrote:
| SAT solvers are magic. CSP solvers are the same magic with a
| much friendlier interface.
|
| Got a discrete NP hard problem? A CSP solver will probably get
| that done.
| Chirono wrote:
| For anyone wondering what this does, it looks like it produces
| optimal configurations for belt balancers given a specified
| number of input and output belts. Belt balancers evenly
| distribute items between belts:
| https://wiki.factorio.com/Balancer_mechanics
| perihelions wrote:
| Fun to see that that math (linked in that wiki) coincides with
| early 20th-century analog telephony problems--the problem of
| how to arrange electromechanical switches to support large
| numbers of simultaneous circuits, avoiding bottlenecks.
|
| There's people reading Bell Labs technical papers from the
| 1950's as part of the process of playing an addictive video
| game.
| TeMPOraL wrote:
| > _There 's people reading Bell Labs technical papers from
| the 1950's as part of the process of playing an addictive
| video game._
|
| It's a nice break from reading orbital mechanics textbooks as
| part of the process of playing another addictive video game.
| perihelions wrote:
| Origin of my HN name! :)
| beacon294 wrote:
| What games?
| jconnop wrote:
| The latter is surely Kerbal Space Program.
| kroltan wrote:
| Bell labs => Factorio
|
| Orbital mechanics => Kerbal Space Program
| Izikiel43 wrote:
| Sounds like kerbal space program?
| kzrdude wrote:
| Even the 90 degree turn 4x4 balancer is new to me, nice to see.
| francoisdevlin wrote:
| Dude, that is sick.
| r2_pilot wrote:
| I didn't see that (I've been using these for a while now,
| they're especially helpful with my K2+SE run) so I'll have to
| check into that some more.
| patio11 wrote:
| That's going straight into my blueprint book; solves a problem
| I have at almost every mining train station much more elegantly
| than the standard linear 4x4 does.
| less_less wrote:
| The 90 degree turn 4x4 balancer is even better if your inputs
| and/or outputs are on opposite sides, making a T-shape. This is
| pretty common depending on the position of the balancer. In
| that case it fits into a 4x6 rectangle.
| kzrdude wrote:
| Do you happen to have a picture? Not sure I follow that, what
| are the three legs of the T shape, I mean?
| jvanderbot wrote:
| This is my favorite pastime as well! Well done. I've also dipped
| my toes in the "over engineer a game" with:
|
| A highfleet ship optimizer which chooses optimal module sets
| using ILP at
|
| https://hfopt.jodavaho.io (try desktop site on mobile)
|
| And a hunt showdown loadout A/B test package that lets you run
| stats queries on your game journal at (for now)
|
| https://crates.io/crates/kda-tools
| sapiogram wrote:
| Can this also generate "universal" balancers? I've found them
| more useful in practice:
| https://wiki.factorio.com/Balancer_mechanics#Universal_balan...
| klysm wrote:
| I don't see why that couldn't be added as constraints
| Yesway wrote:
| You can combine narrow balancers to make wider balancers. That
| way it is possible to save space, energy, latency .... same as is
| done in modern CPU / GPUs...
|
| And funny enough, ultimate Factorio tool is tool to make great
| cpus... ;)
|
| I like your, what i presume is, "joke" animation at the end...
| Yesway wrote:
| whole system look can provide some unexpected "optimizations"
| too. is balancing really even needed in/as a solution... in
| cases when synchronization is not necessary you can simplify
| system greatly just by oversaturating belts with inputs. output
| machinery cadence dictates whole feeding mechanism rate.
| ivanjermakov wrote:
| What is the math name for the problem of belt balancing? The one
| that SAT solvers solve.
|
| Perhaps Benes network?
| r2_pilot wrote:
| It's the Boolean satisfiability problem :
| https://en.m.wikipedia.org/wiki/Boolean_satisfiability_probl...
| dragontamer wrote:
| Benes network is a simple recursive pattern for power-of-2. So
| a 4-to-4, 8-to-8, and 16-to-16 perfect balancer can be
| calculated out by hand using Benes networks.
|
| This allegedly creates odd-numbers like 7-to-7 balancers. But
| in my experience, i just grab a 8-to-8 balancer from my
| blueprints and ignore 1 input/output.
| reaperman wrote:
| Clos networks is what I studied for factorio belt balancing.
| snapcaster wrote:
| This is super cool! Will never not upvote a post about factorio.
| If anyone is reading this and into programming you should try the
| game, it's incredible
|
| source: 3000 hours+ on the game :)
| zeroonetwothree wrote:
| To me it feels like programming with an awkward IDE.
| elbear wrote:
| So ... not enjoyable? I have yet to try it, but I was
| thinking of giving it a shot after reading so many positive
| comments.
| falcolas wrote:
| IMO, it's more like circuit design than programming.
| Similar mindset, slightly different method of solving
| issues.
|
| And personally, if you're a fan of puzzles and
| optimization, I think you'll love it. There's an amazing
| amount of gameplay for the price. Worst case, you're out
| $35 and supporting an amazing developer.
| jl6 wrote:
| You can play it in many different ways. One advanced
| playstyle is to use combinators heavily, but you don't need
| to. A lot of people get hooked on optimizing their
| factories, which leads down a rabbit hole of ratio
| calculation, but that's also not required. It's perfectly
| enjoyable without doing anything extremely technical.
| rgoulter wrote:
| I'd say "feels like programming" applies to even a
| vanilla playstyle.
|
| Broadly, the game is about building up systems. Even in a
| disorganised first playthrough, you'll naturally find
| 'systems' for solving things. (They'll just be hard to
| change, and hard to scale up, and hard to build upon).
|
| Which is somewhat similar to how a someone who just
| learned to program might be able to complete a task, but
| probably in a way a more experienced dev wouldn't.
| shepherdjerred wrote:
| There's a free demo on Steam. Like anything, you're going
| to find people in both camps. The only way to know is to
| try it yourself.
| dexwiz wrote:
| You can do a lot of programming activities but different
| than web standards. It leans more into process engineering
| concepts. You can program. But it's ladder logic and
| expressions instead of text. You can build dependency
| injection but it's a rail network instead of annotation.
| Many similar concepts but expressed in a different form.
| rgoulter wrote:
| I like how someone described it:
|
| - I feel the same engagement as programming, but I don't
| have to be reliable or be told what to do: amazing.
|
| - I feel the same engagement as programming, but I don't
| get anything out of doing it: this feels like work.
| elbear wrote:
| Yeah, the first one sounds good.
| noqc wrote:
| Yeah, you got it.
| shepherdjerred wrote:
| I get the same vibe, but it does make me wonder if text-based
| IDEs could somehow be replaced with something more intuitive
| like Factorio.
| taeric wrote:
| Domain specific tools do exist. :D
|
| Easy example is level editors for video games. Rarely are
| those made by editing source code.
|
| Other examples would be stuff like the kitchen designer in
| Ikea. Or, really, most any CAD tool.
| shepherdjerred wrote:
| Totally! I was wondering if those domain-specific tools
| would ever become more general, e.g. imagine writing
| general purpose programs in a 3D environment.
|
| In particular, I was wondering if this could be a
| fantastic application of VR/Apple's Vision headset -- a
| 3D IDE of some sort, where you could organize code
| spatially, or where the code is (are?) objects that you
| manipulate instead of plaintext.
| taeric wrote:
| I don't think spatially laying out symbolic code is
| likely to get that useful. We already heavily resist
| significant whitespace. I am fond of "ascii art" for
| tests and any code where it can help, but I get the
| impression I'm in the minority there.
|
| That said, expanding a palette to "things" that are
| placed in a very physical way makes sense. I'd suggest
| not thinking of it in terms of IDE, though. It is very
| common in CAD and other "editor" environments. Has been,
| for a long time, even.
| __alexs wrote:
| Yes it's called LabView. Has only slightly better usability
| than Factorio IME.
| calamari4065 wrote:
| I've been tinkering with a custom programming language that
| compiles into a blueprint of Factorio logic pieces.
|
| Apparently normal Factorio doesn't cause me enough suffering.
| I have to invent a problem to solve in the most absurdly
| complex way possible.
|
| (Un)fortunately, wube has saved me from myself. They posted
| previews of new in game logic pieces that render most of what
| I was doing obsolete. I might pick it back up after the
| update, not sure yet.
| nindalf wrote:
| Completely agree with this. For people interested, I wrote
| about why software folks would enjoy Factorio
| (https://blog.nindalf.com/posts/factorio-and-software-
| enginee...).
| Marthinwurer wrote:
| Alternatively, you should avoid it like you would crack cocaine
| or heroin, because it's that addicting.
| Izikiel43 wrote:
| Yeah, that's my issue with the game, I know if I start
| playing I won't stop for a few days
| snapcaster wrote:
| Yes fair enough, I should probably be a little more cautious
| about recommending it to people on this forum :)
| tmtvl wrote:
| I bought the game a few years ago and have about 20 hours in
| it. That's like 5 or so attempts of me trying my damnedest to
| get into it and bouncing off. I thitk GregTech just ruined me
| and my expectations for a crafting game.
| zero_k wrote:
| This is cool :) My only small gripe is that python-sat (i.e.
| pysat) is nice, but it kinda hides all the work that SAT solver
| writers (like me... :D) do. It gives a nice interface to access
| them all, but it also means that e.g. if something doesn't work,
| the user may not know who to contact as they may not be aware
| which SAT solver they are using. I guess it's the rule of
| something becoming so mainstream that the authors of the
| underlying technology fade away, and those doing the (actually
| really hard work!) of maintaining the common API are referenced
| only.
|
| I have seen publications/work where the SAT solver was credited
| only as pysat, which is not a SAT solver :) Kinda cool and sad at
| the same time!
| natpalmer1776 wrote:
| In a way, you and every other author who created a SAT solver
| being used by pysat ARE pysat! :)
|
| Another way to look at it is that you are the "giant" in the
| famous quote "If I have seen further than others, it is by
| standing on the shoulders of giants"
| klysm wrote:
| And that's exactly the power of SAT right? It's a universal way
| of expressing a large set of problems.
| everforward wrote:
| In the same sense that SQL is a universal way of expressing a
| large set of problems.
|
| I.e. all the implementations speak the same language, but
| they operate and prioritize differently.
|
| SAT solvers are NP-Hard, so there isn't a single SAT solver
| to rule them all. Which one you choose matters, same as with
| databases. CockroachDB, PostgreSQL and SQLite all speak SQL,
| but are not interchangeable. Same with SAT solvers.
|
| I'd agree with OP; the SAT writers should get more credit.
| It's a hard problem, and I'd bet most of us are either
| incapable or unwilling to spend ages working on it (myself
| included, no shade intended). It's also vitally important. To
| my understanding, SAT solvers underly most package managers.
| It's how npm or pip or apt know what version to install for
| each package such that no version violates another packages
| constraints (if any, it's also where the "no valid version
| combinations exist" message comes from).
| Sesse__ wrote:
| apt doesn't use a SAT solver; it has its own heuristics.
| (Seemingly it _can_ call out to an external one if you give
| the --solver argument, which in 20+ years of Debian I have
| never seen anyone use, and which I didn't know of before I
| made a search now to make sure.)
| everforward wrote:
| Oh, that's interesting, thanks for the correction!
|
| Now I have some reading material for when I'm bored. I'm
| curious how they handle it without a SAT solver.
| rapfaria wrote:
| But as an user, why would he/she care about how it works on the
| background, even if there is an issue? Surely the average
| Factorio player is perhaps familiar with programming, but isn't
| working over an abstraction exactly why solutions like these
| work?
| madars wrote:
| At least in the past some SAT solvers were vastly better on
| certain kinds of problems. E.g. cryptominisat had native
| handling of XOR clauses which no other solver did. By
| referencing pertinent details of your experimental setup you
| could save others who want to build upon your work a lot of
| time.
| lucideer wrote:
| > _But as an user, why would he /she care about how it works_
|
| I find this (extremely prevalent) perspective increasingly
| demoralising.
|
| Why _wouldn 't_ he/she care?
|
| There's an important distinction here between the use of the
| word "should" and "would". The user of course _shouldn 't_ be
| required to care, but making a decision on their behalf that
| they won't is fundamentally different.
|
| This is of course largely driven by the sorry state of UX
| where the responsibility to integrate rich choice &
| flexibility into refined simple interfaces is shirked in
| favour of achieving the same simplicity via the lazier
| approach of design minimalism.
| yareal wrote:
| Who wrote the network transport code that shepherded the
| bits from your post to the hacker news backend? What
| Ethernet devices did it transit and who wrote that code?
| What tradeoffs were made between hardware performance
| characteristics in the interrupt handlers in your network
| card? What about your keyboard? Did you choose cat 5 or cat
| 6 cables for this post to HN? Were those cables shielded?
|
| There are many many occasions where something is below the
| level of abstraction that you care about. Don't assume that
| because _you_ care about a particular level of abstraction
| that everyone else should too.
| lucideer wrote:
| > _Who wrote the network transport code that shepherded
| the bits from your post to the hacker news backend? What
| Ethernet devices did it transit and who wrote that code?
| What tradeoffs were made between hardware performance
| characteristics in the interrupt handlers in your network
| card? What about your keyboard? Did you choose cat 5 or
| cat 6 cables for this post to HN? Were those cables
| shielded?_
|
| Are you asking whether I know these things or whether I'd
| like to? Or whether I'd like the freedom to make choices
| about these questions -vs- each of them being chosen for
| me without opportunity for input or insight?
|
| I don't think it's particularly controversial to say
| that, for most people, independent of their level of
| technical knowledge, the ideal is for answers to all of
| your questions to be available & accessible in some way,
| & for there to be choice in that market.
|
| People can choose to take simple defaults without delving
| into the hows & whys but I can't see why those same
| people would object to others having choice &
| transparency around those defaults.
|
| In summary: I don't know what point you're trying to
| make.
| lupusreal wrote:
| Anyone can learn these things (the workings of pysat) if
| they want to. Sometimes the inner workings and history of
| things is hidden as proprietary secrets, but usually that
| isn't the case and somebody who's curious can dig into
| how things work and who invented them.
| snoutie wrote:
| I don't see this that critically. Joe Schmoe and
| Programmmer Paul live in two different worlds. Joe might be
| into finace where I don't care about how anything is
| calculated so long as the right amount is in my bank
| account by the end of the month. Maybe they use a fancy
| excel sheet or SAP-FI or whatever.
|
| I don't think that the missing interest in either topics is
| particulary demoralizing.
|
| But on a different note: it is demoralizing when you need
| to cooperate with that other world, when Paul needs to
| create that program in sap for the calculations and Joe
| does not care for the inner workings or Paul for the
| formulas. That makes communication so much harder.
| lucideer wrote:
| > _Joe Schmoe and Programmmer Paul live in two different
| worlds_
|
| This is essentially the problem: the driving of the world
| to extremes. Joe's & Paul's worlds are demarcated by the
| systems they operate in. Their knowledge is not only
| limited by their primary areas of interest but by what's
| made evident to them through their daily interactions.
|
| As an individual Paul may have zero interest in "Joe's
| world" & Joe may individually have less than zero
| interest in what solvers are operating in Factorio, but
| those are individual stories, not generalities. When
| you're generalising about people you're looking at a
| spectrum of interest within which you need to acknowledge
| that (a) programmers are humans who use tools too: DX
| isn't the only area that needs to cater to programmers,
| they also use Spotify & banking apps & play games just
| like everyone else. And (b), similarly there's a million
| Joes out there who will never write a line of code but
| still possess a technical interest that goes beyond
| wilful ignorance.
| fho wrote:
| The question is: where do you draw the line?
|
| * The SAT wrapper? * The SAT library? * The math library
| the SAT library depends upon? * The LibC? * The operating
| system? * The processor? * The lithography machine
| manufacturers? * The guys that provided the raw silicone?
| cellularmitosis wrote:
| "...or as I've taken to calling it recently, SAT slash
| LAPACK slash MUSL slash GNU slash Linux"
| beeboobaa wrote:
| Techbros always insist on infantilizing users. I think it's
| a weird combination of gatekeeping and a superiority
| complex.
| munchbunny wrote:
| > Surely the average Factorio player is perhaps familiar with
| programming, but isn't working over an abstraction exactly
| why solutions like these work?
|
| The vast majority of Factorio players are not familiar with
| programming. A small but very vocal and very enthusiastic
| minority are though.
| bloopernova wrote:
| Interesting! My standard play style in Factorio is to use rail
| squares and 12-lanes inside those squares. I use 12 because 2
| warehouses from the warehouse mod are 12 squares wide. All my
| blueprints are based on that, along with all the Angels+Bobs mods
| it makes for a fun-to-me playthrough. All my blueprints are based
| on 12 buildings, and it's neat because many of the modded
| buildings are 3, 5, or 7 squares wide so I have 3 standard sizes
| of lane direction changes, inputs, outputs, etc. In my current
| playthrough I'm up to almost 1,000 stations :D
|
| I would like to see if this can create a 12 to 12
| universal+lane+throughput-unlimited balancer. Plus I've been
| wanting a 12 to 24, 12 to 36, and 12 to 48 lane balancer too
| because I'm a masochist :)
| terrelln wrote:
| I've recently started playing Factorio for the first time, and
| was thinking about using SAT solvers for automated sub-factory
| blueprint design with beacons. E.g. for a given recipe how do I
| design a sub-factory that builds the recipe with the minimum
| number of entities (or a given total entity weight, to allow for
| weighting buildings based on their impact on UPS). I've seen a
| paper [0] on a similar problem, but it doesn't take beacons into
| account. It seems like beacons make the problem significantly
| harder, because now positioning matters in order to share
| beacons. Does anyone have any ideas on how to approach this?
|
| [0] https://arxiv.org/pdf/2310.01505.pdf
| thenipper wrote:
| I definitely knew people in the Wayfair logistics org that used
| the same kind of algos that we used at work with their Factorio
| games...
| amohn9 wrote:
| Maybe instead of using our OR tools for Factorio, we should run
| our supply chain simulations in Factorio...
|
| (Hi probable coworker)
| thenipper wrote:
| hello definite coworker
| dexwiz wrote:
| Balancers are probably one of the most common but least
| understood parts of Factorio. Most players copy a blueprint book
| from the web, and don't think about it. They are very tricky to
| build by hand without a deep understanding of belt mechanics and
| high attention to detail. Also without testing it's easy to build
| one that looks correct but fails under certain conditions.
|
| Same lane balancers and powers of two aren't bad, but anything
| else usually requires loop backs so the network becomes cyclic.
|
| Also every belt in Factorio is two independent lanes. Splitters
| will move items between belts but always preserve lanes. A 4-2
| splitter should compress 4 left-only lanes across 4 belts to 2
| belts of 2 left and 2 right lanes. The naive splitter setup wont
| do that.
| declan_roberts wrote:
| As someone who's never played factorial it sounds incredibly
| boring and tedious from the outside.
| fnordpiglet wrote:
| It's built for engineers that are nerds at heart and love
| building because they love building. There are certainly
| engineers that love making engineer money, and there's
| nothing wrong with that. But what one finds boring and
| tedious another may find pleasure in.
|
| I would say given how loved factorio is a reasonable position
| is to assume they're not all entire idiots that can't
| distinguish between fun and tedium and give it a try!
| moomin wrote:
| Factorio, Satisfactory and Oxygen Not Included (very
| different games) all have this thing of building something
| while it's running, debugging and expanding it, and give
| you fairly meaningful rewards in terms of new challenges
| and removing tedium.
|
| To compare:
|
| * Satisfactory: the lowest stress, best guided, the
| prettiest and the easiest to analyse. A lot of the
| challenge involves figuring out how to best use 3D space.
| 1.0 is coming this year.
|
| * Factorio: Biters provide a base level of threat making
| your factory breaking a potential problem. But you can
| switch it off. Much more complex tech tree and routing. But
| building railways is pretty tedious compared to
| Satisfactory (which is a pity when they're essential.)
|
| * Oxygen Not Included: Everything you try to do has side
| effects. The game physics matters _a lot_. Mess up and
| everything dies. Easily the most stressful of the three.
| Has the shallowest tech tree of the lot, too.
|
| All are good, although I cannot recommend Oxygen Not
| Included if you want to relax while playing.
| TillE wrote:
| I'd say Satisfactory is primarily an exploration game,
| Factorio is about building, and ONI is about constantly
| living on the knife's edge of limited and rapidly
| dwindling resources. It's a brilliant, intricate design
| but yeah it's stressful.
| noahtallen wrote:
| Building trains is my favorite part of Factorio :)
| Satisfactory trains are fun because of the 3D designs for
| the railway you can do (stations, bridges, etc.) I think
| Factorio 2.0 (with the new space age expansion) will fix
| all this. The most tedious parts of trains (odd
| curve/placement limitations) will be fixed, and we'll get
| more features like bridges and schedule interrupts
| greiskul wrote:
| For me the tedious part of trains is that you pretty much
| have to use blueprints, and preferably a blueprint book
| of intersections. And creating your own intersections is
| very easy to make mistakes. I love how flexible the
| system is, but I don't like when a game forces you to use
| out of game resources like third party blueprints.
| moomin wrote:
| If you could actually build them effectively with a
| personal port it would be a lot less painful. As it is,
| slapping down a huge ghost rail isn't as useful as it
| should be.
| bee_rider wrote:
| Mindustry is also good, similar to Factorio but with a
| little more focus on the threat and a little less focus
| on the base building.
| jcranmer wrote:
| > * Oxygen Not Included: Everything you try to do has
| side effects. The game physics matters _a lot_. Mess up
| and everything dies. Easily the most stressful of the
| three. Has the shallowest tech tree of the lot, too.
|
| ONI is a thermodynamics simulator disguised as a colony
| simulator.
| dexwiz wrote:
| Yeah that is why most players just copy blueprints for
| balancers that have been vetted by people who do enjoy it.
| There are also mods that trivialize the task by creating
| oversized item chests that you can hook many inputs and
| outputs to. But the belt system is very optimized so a belt
| based balancer is almost always better for cpu usage. Also I
| think balancers are overrated and most of the time when you
| need huge balancers you should actually be using trains.
| bee_rider wrote:
| If that sounds boring, you should hear about a first person
| shooter. You just click on heads.
| Emma_Goldman wrote:
| I get that this is a humourous and offhanded comment, but
| it's the equivalent of saying that basketball is 'just
| bouncing a ball'. A surprising amount of complexity emerges
| from putting teams of humans into a competitive sandbox
| environment with conflicting goals to, in each example,
| 'put the ball in the other team's basket', or 'click on the
| other team's avatars until they die'. They also overlap in
| that both are ultimately based on entering a skillful
| kinesthetic flow state, of becoming one with the ball, or
| your digital avatar, and gliding seamlessly, through muscle
| mechanics you've trained over hundreds of hours, through
| situations which are dynamic and non-identical because they
| involve opposing humans capable of interactivity and
| learning.
|
| I've never really understood why FPS games are considered
| 'dumb'. All video games leverage our innate capacities of
| entertainment to fix our attention on unreal worlds, often
| to distraction, even addiction. Given that, it's difficult
| to transpose ideas of high and low brow onto the medium.
| The whole enterprise is dumb by design.
| bee_rider wrote:
| I agree actually, I just went with the maximally
| reductive description to make a point.
| TeMPOraL wrote:
| Think of it like Minecraft-like top-down 2D survival game
| (fun) with crafting (fun!), but which lets you automate away
| all the tedium of crafting, and then lets you automate all
| the automation, and...
|
| It's fun for some.
| TillE wrote:
| You don't have to actually do any optimization at all, you
| can beat the game (launch a rocket) with inefficient
| spaghetti designs.
| chornesays wrote:
| It's a great test for what type of engineer you are. -- 1)
| Loves optimizing their belts: An engineer's engineer -- 2)
| Loves getting it to barely work and moves on:
| Hacker/Prototyper -- 3) Loves closing the game: Product
| Manager
| appplication wrote:
| One of the biggest reasons I've never dove into optimizing for
| factorio is the lack of tests. But then again if it had tests
| it's probably feel too much like real work.
| dexwiz wrote:
| You can set up test suites in the editor put it's a pain,
| because you have to build things like clocks and counters
| with in game mechanics or use mods.
|
| But half the fun of the game is you can test in production
| because you'll only cause downtime for yourself. I surveyed
| Reddit once and most people play with no or only minimal
| planning.
| Ma8ee wrote:
| Too much like real work was exactly what I felt after only a
| few hours of Factorio.
| calamari4065 wrote:
| You'd think that with as many hundreds of 4-4 balancers I've
| built, I'd remember the correct arrangement of splitters, but
| no, I somehow always flip the input or output splitters and end
| up with a subtly wrong balancer that I won't notice until a
| hundred hours and many dozens of copies later. I've totally
| given up and just resigned to using a blueprint book.
| yogurtboy wrote:
| This is really cool! Is there a page that has a list of useful
| concepts like this that might not be explicitly mentioned in the
| game itself? I don't have that much fun trolling the forums.
| Sohcahtoa82 wrote:
| Is belt balancing really that important in Factorio?
|
| I've played Factorio, but only launched the rocket once and I
| think have about 100 hours in it. I never bothered with belt
| balancing, and simply had many rows of belts traveling east, with
| splitters moving things to columns of assemblers which then go to
| another belt to the east.
|
| As I expanded the factory to build new products, I'd play whack-
| a-mole with fixing bottle necks in materials. Heck, I never even
| used trains or any sort of drone.
|
| Have I just never built a factory big enough to need balancing?
| What does it really accomplish versus just overproducing source
| materials and allowing the factory to back up a little?
| ynik wrote:
| Belt balancing is necessary when unloading trains, as otherwise
| uneven consumption can lead to some chests/wagons running out
| of resources but the train doesn't leave because other wagons
| are still full.
|
| For mining outputs, it can also be nice to avoid the outpost
| getting slow/stuck (never able to fill a train) when ore runs
| out for the outer lanes of miners.
|
| Anywhere else, balancers are unnecessary and just serve to
| obfuscate a lack of resources.
|
| (But if you really want to play without any balancers at all,
| that's quite possible: the train problems can also be solved by
| letting trains leave on a schedule independent of cargo status.
| All remaining balancers, including those on mining outposts,
| can be replaced with priority splitters.)
| aeneasmackenzie wrote:
| It ensures that your X belt input blueprint and your X belt
| output blueprint are actually using X belts and not
| bottlenecked on one somewhere. At a certain point it stops
| being necessary except for loading and unloading trains, unless
| you use circuits.
| j2kun wrote:
| I wonder if there are any real-world factory configurations that
| employ SAT solving techniques.
| ineedasername wrote:
| On Valentines Day? Seriously?
|
| This post should be titled _"I'm going to ruin Valentine's Day
| for every Factorio player here with a non-Factorio partner"_
|
| I'll see you all in a month, linking to my own post titled "How
| Factorio Ruined My Marriage"
___________________________________________________________________
(page generated 2024-02-14 23:00 UTC)