FOUNDRY

FOUNDRY

Not enough ratings
Data Networks
By Danger Nudle
This guide aims to give a brief overview of some simple uses for circuit networks.
   
Award
Favorite
Favorited
Unfavorite
Introduction to Data Networks
Data networks are incredibly powerful ways you can manipulate machines in your factories and that can give you a lot more ways to customise how they function. It can be as simple as disabling an assembler while a storage container has X amount of items inside to limit how much your item malls stock or you can even go so far as to make a functional calculator which I have done and will show a little bit of that later in the guide.
Circuit Components
Generally when you're working with data networks you will need to compare values, do basic arithmetic, compare multiple signals against each other ect so for that you need the "Data Processor" and "Data Evaluator" they look similar but do very different things. Additionally the "Memory Cell" is really helpful but a bit more specialised for certain tasks so doesn't see too much use outside of extremely complex circuits but its' main goal is to store the last value that was input into the gate.

The Data Processor is used primarily for arithmetic operations, addition, subtraction, multiplication ect while the Data Evaluator's job is mostly to compare signals and output constant values. With these two gates you can do almost anything! even build a functional computer (Yes you can definitely play Doom in Foundry if you were crazy enough to build it).
Circuit Conditions
Data processors come with a handful of built in conditions that you can use; Addition, Subtraction, Multiplication, Division, Exponent, Integer Division, AND, OR and XOR (In that order).

I apologize this will get a little bit math-y. The first 4 are self explanatory, you can take signal A for example and add/subtract/multiply/divide it by signal B or a constant value that you define while setting up the gate. Exponent I'll give an example 3^3 simply means 3x3x3=27. Integer Division just divides 2 numbers and spits out the remainder for example; signal A = 54, signal B = 5. A%B=4(50 and 5 perfectly divide into each other with a remainder of 4). AND operations just require the presence of both signals, the signal value just needs to be greater than 0, OR operations are similar to AND but only require one OR the other and finally XOR operations work similarly to OR except it will only output a signal if one OR the other signal is active but if both input signals are greater than 0 no output will be given.
Example Circuits - Counter
The first circuit I want to show is just a basic counter due to its simplicity, this particular circuit takes a single update pulse and adds it to the stored value. If you pulse the circuit 5 times the value for A will = 5 and this can be done just with a single data processor. There's a limitation with this circuit and circuits as a whole in that you can only add +1 to the value 60 times each second but this limitation is built into data networks as a whole so if this becomes an issue for you multiple counters might be needed.
Example Circuits - Timer
This is a simple timer, you can see it's extremely similar to the counter in the previous section because that's basically what it is except this will reset every X amount of updates (60 Updates = 1 Second) in the example I've given here it will go to 60 Seconds and then reset back to 0 which can be useful if you want to maybe reset a signal every 30/45/60 Seconds ect, it can be entirely customised to your purposes. Something you'll notice here is I've included a data evaluator, the purpose of this is just to read when T reaches 3600 Updates (60 Seconds) and pulses signal R for a single update which can be useful for doing what I mentioned previously about resetting multiple networks and I'll show an interesting use case for something like this later in the guide.
Example Circuits - Flip Flops
This is where things get a bit more complicated, there's a lot of gates involved in some of these upcoming examples so I've uploaded some of these to Erkle's blueprint library[foundry.erkle64.com] for ease of use. (Just search Flip Flop and look for the ones by "Dangerbear")

T-Flip Flop
The basic idea for this circuit is you send a signal on the signal B and it will swap which light is turned on but this doesn't have to be a light, it could be an assembler being turned on/off or a loader ect, additional features I've included here are "Power" which will disable/enable if the signal can get through so you can disable the flip flop functionality if you're trying to include this component into a larger circuit. There's also the reset button which will just reset the flip flop back to the default state (A=0).

SR-Flip Flop
These have similar functionality to T Flip Flops so can be used for things like storing binary data but a standard T Flip Flop will prove just fine for most applications you might have. I'm mostly just sharing these for completeness.

D-Flip Flop + Full Functionality T-Flip Flop
If you want to copy these you will just need to download the blueprints since I really don't want to annotate every single gate here.
Practical Circuits
This probably just looks like a rat's nest of data cables but this is actually a really precise splitter, each of those containers is taking an extremely specific quantity of items from the belt each minute; in this specific design (Which you can find on Erkle's blueprint database under the name "Circuit Guide Example") I have it set to 60/min and it uses that 3600 Update clock we built earlier to reset that signal and tell the loaders that it's time to collect another 60 items from the belt.

Another practical use which I mentioned in the beginning is just disabling assemblers in your mall when X amount of items have been reached in a container which is a really simple circuit to do so I'll leave that one for you to set up, it doesn't even require any gates!

The uses for this system is nearly unlimited, as they add more machines capable of being controlled by data networks you will able to do even more with this system but even in its current state your ability to make really smart factories is limited by your imagination.

You can even build mostly useless things! This is just a module for my 8-Bit calculator that counts in binaryOr this 8-Bit Multiplier (The output for these are in binary right now but can easily be converted. Also you'll notice I had to use doors for my displays since we don't have visual displays yet without using a mod) but Erkle made this which is a digital display, the blueprint can be found on the site.

Tips and Suggestions
Isolating Signals
On particularly large circuits or even small compact ones you might find the need to isolate signals, maybe you don't want signal B being sent to a certain part of your circuit but you do want signal C being passed to the other circuit then you can just pass signal C through a data processor like this. Only signal C will be output as long as the value for C is greater than 0





Put Signs Everywhere!
As your circuits become bigger it becomes harder and harder to manage what was happening at what position in the circuit. You can see on this 8-Bit multiplier which is really a lot larger than this screenshot shows how helpful it can be, each "Module" has it's own label which just keeps these large projects much more manageable.
Notes and Credit
A few of these circuits were designed by Erkle64 and I only slightly modified them so thanks for allowing me to include them here. I've also uploaded all (Except the calculator modules) to Erkle's blueprint database for your use so feel free to make cool stuff and tag me in the official Discord with your crazy builds @dangerbear. Hopefully this was helpful and if you have any suggestions let me know!
7 Comments
QWARZ 2 Jun @ 7:00pm 
in the current version of the game the logic elements do not work? I can not interact with them, I did not find elements responsible for reading data (for example, the number of elements in the container), I did not find a controller that would start or stop devices
Blade 22 Apr @ 12:57pm 
ok i could use some help with conditions. i have a container that i want emptied if it fill to a set amount but after word will reset. any ideas for said build?
baileydarryn 20 Nov, 2024 @ 8:50pm 
bran no work i nateing
seer 23 Aug, 2024 @ 6:14am 
A good example one may be one you use to turn machines on when there is X or less items and off when there is Y or more. EG turn on when less that 30 and off when there is 100. Likely to be used a lot and a potential variation of it would be to have just one block you set the signal you are interested in so you can easily duplicate it and make as compact as possible.
Danger Nudle  [author] 13 Aug, 2024 @ 10:30pm 
== is just the constant, you will only see it on the data evaluator so you know it's always going to tell you what to set as your constant.
jztemple 13 Aug, 2024 @ 8:40pm 
What is the meaning of the symbol "==" in the diagrams above? I can't find it in the new data components in the game.
jztemple 13 Aug, 2024 @ 8:10pm 
OK, my head is swimming but I'm beginning to understand how these work, thanks for post this guide! I do wish the game would do more to explain the basic functions of the various data components, I understand the cable but I'm still scratching my head on the other six. At least from reading your guide I now understand that the "A", the "C", etc are variables. That was throwing me for a loop....