Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Also, the circuit network is just a lot closer to how computers were programmed early on, which is a design decision they made for the game (although I believe they've been working on some overhauls of it for the update to the game that will come for all alongside the expansion.
If you want closer to Python or whatever instead of Assembly or C then you might take a look at the mod "fCPU". Don't know if that'll work exactly like you want, but it'll hopefully let you get closer to what you want.
The circuit network in Factorio is closer to Logic Gates (https://en.wikipedia.org/wiki/Logic_gate?useskin=vector) than higher level programming languages. Personally I'm very fond of the fact that they chose to be closer to logic gates than a high level programming language, it helps a lot more with learning something that's generally not as easily available through code camps or other such things.
Maybe fCPU will be closer to what you want: https://mods.factorio.com/mod/fcpu
But they can also be used for very simple things. Want to set a dynamic train stop limit for a mine, so you don't get more trains than there is ore present for? Combinators can let you do that. Want to call a train for a resupply of one or more various items? Combinators can do that.
Since your ore trains should all be standardized in terms of size, you know how much ore they can carry (2000 per Cargo Wagon). You can wire up all of the chests feeding the ore train, and wire that to an Arithmetic Combinator. Take in the ore signal, divide by the capacity of the train, and output to the virtual signal L. Wire that to the Train Stop. If you are using 1-2 trains, dividing by 4000, and there is 5000 ore on hand, then L will be 1. When the train comes and ore drops down to 1000, L will be 0 until more ore gets fed into the chests.
Since you know what you are supplying a resupply stop with, you can wire the offload chests together. You also know what level you want supplies for anything to drop down to. Set that up in a Constant Combinator (don't want to get below 10 Repair Packs, then select Repair Pack and assign that signal the value of 10). Wire that Constant combinator to an Arithmetic combinator, Each * -1, output Each. Connect the output to the train stop offload chests. Connect those chests to a Decider Combinator. Anything < 0, output L = 1. Wire that to the Train Stop. Ideally, you would have filter (stack?) inserters unloading the cargo wagon, each with a filter set to one item. That puts each item into its own dedicated chest. Use the Red X in those chests to limit how much stuff you want unloaded - if your train brings 200 Walls but you only want to have 100 here (with the other 100 for a different stop) then use the Red X to limit the Walls chest to 1 slot.
Want to make a movie player? Its a lot more complicated, but you can do that, too! https://forums.factorio.com/viewtopic.php?f=193&t=37490
No, I have not wrapped my head around the movie player (there have been others done since that one), nor around the other things that people can do with Combinators. I stick with the simple uses of the Circuit Network.
Even though many players with a programming background, professional or hobbyist, like the circuit network for the "programming" it offers, it is actually not very close to programming that most of them are used to. It is something more like would actually be found in the factory - PLCs. If you've encountered those in your past that might help. Even if PLCs are not familiar, if you look at how they work, and the Ladder Logic language they use, circuits in Factorio will be much easier to understand, and to use.
The expansion, when it's released, will include some major updates to the base game and the circuit network is part of that. I don't know Ladder Logic well enough to say for sure, but it looks to me like the changes to the combinators will move them away from then basics of PLCs, though not necessarily closer to "real" programming. For updates on that check out the latest FFF in their blog.
Anyway, I hope the concept of using PLCs rather than computer programming helps for now.
The next time you want to expand start by mining and smelting what ever you ran out of in the step above and set out your next batch of machines following the same procedures.
You don't even have to use wires to launch your first rocket. Wires give you operators like =,<,> to use on entities like inserters and storage. Arithmetic combinators let you do arithmetic operations, decider combinators let you use boolean functions, and constant combinators let you specify constants for all the items in the game. You can use them separately or in combination to perform most anything you can think of and its most like programming in assembly language.
The combinators do take up quite a bit of space for the operations they perform though. You can actually make a mechanical clock/counter using a chest, inserters, and some belts that takes up less space than the equivalent set up using combinators. The circuit network is just another layer of the game that can give you more control of parts of your factory. You don't have to use it to win the game. Its entirely optional. Its also very possible to go down the rabbit hole and make something that would be otherwise easy, overly complicated (speaking from experience).
You do not need vodka.
You do not, generally, even NEED the combinators. The circuit network is FAR less critical in factorio than it is in ONI.
Simply hook a green or red wire directly from your processed oil tanks to a pump pointed between heavy oil and oil cracking. Then, set the pump to be switched on if (and only if) heavy oil is greater than 1000. THis keeps some heavy oil in reserve for lubricant production.
That's...that's the only logic control you need in a typical vanilla run. Everything else you can let the belts and splitters do the flow control FOR you. They're smarter than you think. You can even do prioritization logic with just splitters and belts; a full belt will not accept input from the sides, thus prioritizing whatever is coming from the rear.
But lets say you DO want to get fancy.
Well, first of all, Arithmetic combinators only apply basic gradeschool math to their inputs to generate an output. Multiplication, addition, division. Very simple.
Addition can ALSO be accomplished by outputting two signals to the same channel and network. These signals will then be added together.
Decider combinators are a bit more complicated, but they ABSOLUTELY have the AND, OR, NOT, and from that the XOR functionality that you are looking for. They are somewhat more powerful than an ONI operator.
If (simple condition is met) then output 1, else output 0. (or the 'count' if you select that mode).
To create an AND gate, simply output two signals with a value of (1 or 0) to the same channel and network, and use a decider combinator set to "if X>=2, output 1".
To create an OR gate, simply output two or more signals of (1 or 0) on the same channel and network, and use a decider combinator set to "If X>1, output 1".
To create a NOT gate, give the decider combinator one input, and output a signal if the input is less than 1 (or use the condition that it equals 0.)
You can create an XOR from these using basic logic rules.
You can also shortcut this a little bit to create an XOR gate by taking a little: have two decider combinators output one, run one
TLDR: you both don't even NEED combinators, and they already posses AND, OR, NOT and thus XOR capabilities. Actually USING them is because the player is CHOOSING to make the game more complicated.
You can easily finish the game without ever touching combinators that manipulate signals.
Not once I needed an arithmetic/decider combinator. Factorio's "problem" is that the same issue can be solved in several ways, including "the most brainsqueezing way possible". Just keep looking. There are always simplier ways to do the same.
tbh, I've owned the game since it basically came out many years ago and have not once touched logic ever, I've never found a need for it.
A lot comes down to what is your definition of "needed" and "simpler".
Do you need to buffer resources in chests at a train loading station? Your definition of "needed" points towards no. But why use trains to begin with, they are not needed either. Some players just don't use trains, and that's totally fine.
Heck, you can beat the game without using a single belt. It might sound silly but they are not needed.
But if you want to make your life easier you'll use trains, buffers and belts without questioning it. If it's simpler to use them than to not use them, you'll put effort in building train stations and tracks, you'll have a buffer design that you like, you'll automate belt crafting and build belts by the thousands.
Combinators have the same purpose, to make your life easier.
For example, a single arithmetic combinator can do the same job a huge belt balancer would do at a train loading station. It would fill all chests equally, but even better than a balancer would in case of a train coming in that does not take from all chests equally. With a belt balancer, after that train is gone, the chests would never be evenly filled until they are all full. The combinator would start filling them equally right away.
Or it could send a signal to the train stop, that adjusts the train limit of the station depending on how full the buffer is. You don't want 4 trains here if there's no resource.
Those are single arithmetic combinators. Bunch of wires, input signal, combinator, divide that signal by some value, output signal, more wires. That's it.
Are they needed? No. The same way trains are not needed. But yes, If you want your factory to behave in a specific way, then they are needed.
Are they simple? To me at least, dividing an integer by another one is much simpler than building a 2 to 6 or a 4 to 24 belt balancer. It comes with the bonus perks that it always balance things according to what is in the chests, has a smaller footprint than a balancer, is much cheaper to build and probably helps with UPS too since half empty belts passing through splitters are not UPS friendly.
To each their preferences. The game is what you want it to be, that's why it's that good.