Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
zedprime
Jun 9, 2007

yospos
That map alert thing is so cool. Of all the time I spent in the campaign, I swear half of it was spent trying to understand how to make any sort of good use out of the alarms and map view. I can see the matrix now, but that will be a huge help regardless.

Better icons for the buggy and tank would be cool. I would also settle for crafting a remote control that makes them honk to lead you to whatever copse of trees you crashed it into and left it parked.

Adbot
ADBOT LOVES YOU

Ratzap
Jun 9, 2012

Let no pie go wasted
Soiled Meat

Node posted:

Thanks for the mod pack. And wow, it is named after me! What a coincidence!

Funny that hey. I make a fair number of packs for various MP games and my own stuff. 13 different mods folders right now so it had to be something logical or god knows what you might have been linked to. Let me know if the biters really don't spawn anywhere will you? I've never actually tested it but it should work according to the config file comments.

Garfu
Mar 6, 2008

Much like buttholes, families are meant to be tight.
Welp I can launch 2 rockets now every minute or so. I guess I'm done.

For some reason there was no rockets launches counter though, even though I always put satellites in my rockets.

The end game gets pretty crazy with Bob's modules and those god modules. I had 2 rocket silos full of god modules and the components being build in the highest assembler with god modules. Went pretty fast.




Glad to be done, this wasn't healthy. Twice as long as my Rimworld binge.

Garfu fucked around with this message at 03:20 on Apr 9, 2016

LonsomeSon
Nov 22, 2009

A fishperson in an intimidating hat!

zedprime posted:

There's limited bot slots in a roboport so the inserter will stop... some day

Last time this conversation came up I don't think there were even any mods that could report out bots in a roboport into the wire or logistic networks.

Simplest batching would be to make new bots into a chest next to a roboport, either chest slot limited or wired smartchest inventory limited by how many stacks you want to load at once. Then just drop an inserter inbetween the chest and roboport when you want more and take it out when you've got the bots you want.

e. But seriously making bots forever isn't a huge deal.

http://www.factoriomods.com/mods/roboportlogistics exists, however when I tried to use it it threw errors when I tried to load a game or generate a map for a new game. Basic googling suggests that it wasn't updated to comply with a recent script change.

However, if it ever worked I'm betting someone who knows how to mod this game could either fix that or build a new mod based on however they managed it in this one.

Also note that I have yet to even get into wire networks and logic gates so while the description of what the mod does sounds like it's what you guys are looking for I can't actually be sure.

Dirk the Average
Feb 7, 2012

"This may have been a mistake."

Tenebrais posted:

So, Friday update, looks like their "loader" idea has evolved into an inserter that drops a full stack-size-boosted clump of items onto a belt at once.



The idea being to bridge the gap between belt-and-inserter logistics and the robots in the late game.

I think I'd still like a loader for trains, but this looks pretty cool. It'd definitely simplify the whole requester -> inserter -> belt operation that currently is a bit annoying to set up.

Solumin
Jan 11, 2013

Solumin posted:

Comedy option: Create a memory cell circuit using a decider. Every time a bot is added to the network, add 1 to the memory cell. Stop putting bots in when the memory cell hits a certain limit.

...I guess I know what I'm going to try to make tonight.

Here it is:



The left chest is the "input" -- in a real factory this would probably be an assembler. The middle chest (a smart chest) is used to count how many items have been produced. The rightmost chest is your "output," and could be anything, like maybe a roboport.

The core of this setup is a fun little circuit called a rising edge detector, which outputs a signal when the input signal goes from low (0) to high (not 0). Essentially, you split a signal into two paths, and delay and invert one of those paths, then AND them. For a very brief period (depending on how much you delay the inverted one) the output of the AND gate is 1 instead of 0. In this picture, the rising edge detector consists of the middle decider combinator and arithmetic combinator. The decider combinator is simply a NOT gate: [Copper Wire] = 0, output: [Signal 0], 1. The arithmetic combinator is an AND gate: [Copper Wire] * [Signal 0], output: [Copper Wire], input count. (You could output 1, if you just want to count the number of rising edges. But thanks to Insterter Item Stack Size research, you want to output the input count.)

The second component is the top-right decider combinator, which functions as a memory cell. It's counting how many times the rising edge detector outputs a signal: [Copper Wire] > 0, output: [Copper Wire], input count. It takes its own output as input, letting us keep track of how many Copper Wires have triggered the rising edge detector! The output goes to a lamp ([Copper Wire] > 0, indicates the circuit has started) and to the third component.

The third and final component, which controls the smart inserter, has two parts. The first is a constant combinator, which outputs the item limit. In this example, I want the smart inserter to stop after pulling out 10 units of copper wire, so the constant combinator outputs 10 on [Signal F]. The decider combinator is simply [Copper Wire] < [Signal F], output: [Copper Wire], 1. The output of this goes to the smart inserter, which has the condition [Copper Wire] = 1.

Here's the blueprint:
code:
H4sIAAAAAAAA/72WzW7bMAzHX6XQcZCH2G1XDJ123EsUg6HKTEtAH4YkDw2MvPuo2Glsx+6cIVsOSQxRIvnjn5Qrd6OdkvqmFC3YiBEhiLa10oBgytkQpY2Z
cuYZrYzOM167QFbOivZNZPnne747/Ow5WVtQaYlOeGI5+ynaFw9Alt3RuxIrcc8VetVgTA/5nj58izqCT24DvlipRRt3Nbn/hT42UjPeRdMtZj9YctXYKPIN
R1vB2+EY3scsPcZXAxHVYtSbLuhiPmQP1Sjgh2HABTk6zynfpACeWDGf8t15yuS4wt7vKWLRbtGHWI4xYARzZKBcXYPPlHzWQBwCpIPKNdg2ZO5orzxQYJ8Y
d02sm/XOBoyDkVpnWpp6DLZXQ7GkhinauwnaCZh+8WIqR9mKDf01tfRJAoJ9Z4MUKlBYpT0LGiku0sg0kRmNFNNcj3r58KycAj4t3Y6eZjppSK/P8Hr0LhUM
ba935aFVy613pkRL2wWLvoFLStEPGUJRoe8qkSBdpyz5h5379WpUL+jUbsCdyH+7Gvmt1GGE3kCFjclAE0lPE7N2tH0MvxuW9L2+YO/1WncjjKbntITFfxW5
WEC9PFLXkkbvbKZeIcRZcd8O+dJ49TFDG8DTvThbj2Q/aIcvf3P5/oOBm09o7qdJzRAYJLQuiYflAXmulnf/WxmWmOazSP9YuuJUuT1HdQi67V9I+GKnkPGj
h9h4e1M+gq1+A5EdgN6BCQAA
There's two major flaws:
  • The lamp tells you when the system starts but not when it ends. Fortunately, a simple fix: Set up a NOT gate that takes as input the output of the third component's decider and outputs to a lamp. When that lamp lights, the system is finished.
  • No way easy way to reset the circuit. You have to make the output of the second component's decider go to a different signal, then switch it back; but that will make the inserter start up again! Two possible solutions are to make a proper latch that can be reset, or hitch up a constant combinator to pretend the system is still full. I'm not sure which one is preferable.

So if you wanted this to only put 500 logistics robots in your network:
  • Set the constant combinator to [Signal F] = 500
  • Set all of the decider and arithmetic combinators to use the [Logistics Robot] signal. Except for the NOT gate in the first component, keep that output on another signal like [Signal 0].

Edit: I made you a GIF: https://gfycat.com/CloseSpottedLamb

Solumin fucked around with this message at 05:14 on Apr 9, 2016

Solumin
Jan 11, 2013
Double post because that previous post was really long:

I really wish there was a Circuit Lever in the game. Just a simple machine that, when you activate it, outputs certain signals for a certain number of cycles, both of which are configurable. Basically a toggleable constant combinator.
Any modders in the thread want to take a stab at it?

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
I'm pretty sure you can build a circuit network that would, upon removing one obviously-placed wire, would pass through the output of a constant combinator for a specific number of cycles, and then reset until the wire was placed and removed again.

Zetsubou-san
Jan 28, 2015

Cruel Bifaunidas demanded that you [stand]🧍 I require only that you [kneel]🧎

Garfu posted:

Anyone have an idea why my bots aren't using my charging pads from Bob's mod? I've tried a ubnch of different things, like using Bob's robo ports only, not using roboports at all and only using those storage chests, several other stuff. They are connected to the network via the yellow lines and within the range yada yada.

Here's an offcenter gif:



robots only charge at a pad if they need charging while on-route to Do Things. If they have no pending work they will head to a roboport, charge to full, then enter the port. Thus the robojam when a job is finished,.

Zetsubou-san
Jan 28, 2015

Cruel Bifaunidas demanded that you [stand]🧍 I require only that you [kneel]🧎

Dirk the Average posted:

I think I'd still like a loader for trains, but this looks pretty cool. It'd definitely simplify the whole requester -> inserter -> belt operation that currently is a bit annoying to set up.

why aren't you requester->inserter->[object that requires stuff]? :psyduck: robots seem to fill any requesters evenly as long as enough stuff exists, and if you shift-right click an object, then shift-left click a requester, the requester gets set to request enough mats to make 2 of what ever the object is making.

Solumin
Jan 11, 2013

Jabor posted:

I'm pretty sure you can build a circuit network that would, upon removing one obviously-placed wire, would pass through the output of a constant combinator for a specific number of cycles, and then reset until the wire was placed and removed again.

Yes, that should be doable. (I have it half working, just need to sort out the "stop after N cycles" bit.) But it'd be a hell of a lot easier to just have a button to press instead.

Zetsubou-san
Jan 28, 2015

Cruel Bifaunidas demanded that you [stand]🧍 I require only that you [kneel]🧎

Solumin posted:

Double post because that previous post was really long:

I really wish there was a Circuit Lever in the game. Just a simple machine that, when you activate it, outputs certain signals for a certain number of cycles, both of which are configurable. Basically a toggleable constant combinator.
Any modders in the thread want to take a stab at it?

you can do that without modding. but a mod object would make it simpler.


have an AND gate made with smart chests and inserters:



The cyan-handled smarts are hooked up to a clock signal just so key things happen at defined moments. every smart inserter has the same setting: [everything]>0

edit: ugh - looking at it I can skip that top loop entirely, just wire A to the second smart.

Zetsubou-san fucked around with this message at 07:10 on Apr 9, 2016

Node
May 20, 2001

KICKED IN THE COOTER
:dings:
Taco Defender
:suicide:

Solumin
Jan 11, 2013
Could be that it's 2 AM and I'm tired, but it doesn't seem like there's a way to have an entity react to a click.

I guess the other option is to add a GUI...

Ratzap
Jun 9, 2012

Let no pie go wasted
Soiled Meat

Never studied comp sci? Don't look at things like this then. The guy seems to be implementing a 4 bit CPU in Factorio, awesome squared.

There's a fair bit around discussing logic implementations in Factorio, the harder part is finding something relevant to the factory you're currently working on rather than just IT porn. Then again, doing it 'because I can' is always a good excuse.

Dirk the Average
Feb 7, 2012

"This may have been a mistake."

Zetsubou-san posted:

why aren't you requester->inserter->[object that requires stuff]? :psyduck: robots seem to fill any requesters evenly as long as enough stuff exists, and if you shift-right click an object, then shift-left click a requester, the requester gets set to request enough mats to make 2 of what ever the object is making.

Because I'm using bots to unload trains and deposit the ore into requester chests that then feed belts into my smelting area. I could have them deliver directly to smelters, I suppose, but the disadvantage of that is that those requester chests would be further away, which necessitates more roboports for charging. As it is, it's pretty simple to set everything up, and I can have all of my ore depots shared so that trains have a large number of stations to choose from and there are no blockages.

Zetsubou-san
Jan 28, 2015

Cruel Bifaunidas demanded that you [stand]🧍 I require only that you [kneel]🧎

Dirk the Average posted:

Because I'm using bots to unload trains and deposit the ore into requester chests that then feed belts into my smelting area. I could have them deliver directly to smelters, I suppose, but the disadvantage of that is that those requester chests would be further away, which necessitates more roboports for charging. As it is, it's pretty simple to set everything up, and I can have all of my ore depots shared so that trains have a large number of stations to choose from and there are no blockages.

fair enough. I've never tried robounloading trains. every ore-type has a separate train+station in my current setup, and previous games has had each carriage contain a different thing.



(I've since expanded to the right, moving the solar farm south. gem processing and alien science have moved in. The train lines stayed put, though)

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
I'm not a fan of robot train stations, personally. They just suck down so much power, I feel it might actually be more space-efficient to build a separate train station for each thing than it is to have one train station plus enough solar fields to power the robots.

Dirk the Average
Feb 7, 2012

"This may have been a mistake."

Jabor posted:

I'm not a fan of robot train stations, personally. They just suck down so much power, I feel it might actually be more space-efficient to build a separate train station for each thing than it is to have one train station plus enough solar fields to power the robots.

The game I was playing was using RSO, so space was very much not a concern.

zedprime
Jun 9, 2007

yospos

Solumin posted:

Here it is:



The left chest is the "input" -- in a real factory this would probably be an assembler. The middle chest (a smart chest) is used to count how many items have been produced. The rightmost chest is your "output," and could be anything, like maybe a roboport.
I like so much I had to put my own spin on it.


(blueprint)
Some changes are taste, probably all overcomplicating.
Stack size is so messy. Lets divorce it with a conveyor belt.
An unhindered chest is its own rising edge signal monitor, so lets take from the signalling chest into a buffer chest and just signal right into the memory node. Besides, the failure case is you run out of room and it turns itself off from repeated counting in that case.
Batch control is easy. Take one for the kitty at the end and run a not gate. Clear the kitty and it starts back up.

It'll choke on arm transport speed to the tune of +2 error if its ever run dry, but normally retains a remainder that gives exact counts.


The more I poked at the idea of a "run for a set time after event", the more it seemed under specified because the event seems like it ends up the hard part. So I made what sounded like the most basic while still being useful, and other design cases seem to be extra logic gates so whatever.


(blueprint)
When chest 1 goes from loaded to dry, the smart inserter pulls from chest 2 for a configurable amount of seconds set in the constant combinator.

Block A is the edge detector for chest 1
Block B is a memory circuit and crosstalk gate. One decider is a bit, turned on by the edge detector and off by the timer. The smart inserter runs off the bit state. The other decider just translates the bit variable into the timer increment variable to prevent crosstalk back into the bit from the timer.
Block C is the timer block. You set the time wanted in seconds, a * arithmetic block turns it into cycles. The timer runs up to the specified cyces and passes the bit reset up into 2.

During a timer cycle, nothing exciting happens if chest 1 goes from dry to loaded. More important of a flaw, during a timer cycle, nothing happens if chest 1 goes from loaded to dry, so its a dumb timer that won't reset or increase the time to run on a state change after its already in motion.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
i'm still struggling to understand the utility of circuit networks and all the compsci stuff

can anybody tell me why i want them and what i can do with them

zedprime
Jun 9, 2007

yospos
You don't, we're all crazy people. You may notice most of the circuit examples are free floating in the open margins of bases because we're just doing theoretical implementations on the off chance something gets made that might actually be useful.

Its kind of where trains are without RSO. You can set it up, and it ostensibly helps, but the time investment for what it actually does means its only of interest if you have the variety of sperg that lets you get off on trains/circuits.

Fans
Jun 27, 2013

A reptile dysfunction

Suspicious Dish posted:

i'm still struggling to understand the utility of circuit networks and all the compsci stuff

can anybody tell me why i want them and what i can do with them

It's purely for dicking around with, if you don't want to dick around with that sort of madness it's not necessary at all.

Tenebrais
Sep 2, 2011

Basic circuit networks are useful for meeting quotas to a more flexible degree than just chests allow. For example you could have an assembler produce radars and deposit them into a box, but have the smart inserter stop doing that when the box has 5 radars in it, so your assembler stops making them and consuming resources. You probably won't need more than five radars at a time, and they normally stack to 50, so without the wires you'd end up making way more than you need.
Similarly, you could have your electric circuit assemblers deposit into a chest and have a smart inserter taking from that chest onto conveyors to the rest of your factory, but only when there's over 100 in the chest - which means you can, whenever you need to, take up to a hundred circuits for dicking around with whenever you like.

You can also use them with tanks and pumps so you activate or deactivate your oil cracking plants when there is too much/too little of that kind of oil.

Once combinators enter the equation, I've mostly found them useful for setting up ratios. Distributing my stone bricks between factories for electric furnaces / stone walls / concrete in proportions I like, for example - I set up arithmetic combinators to multiply/divide the amounts of those I've got (I want ten times as many concrete as walls, so I divide it by ten, etc) then another one to sum together those results and divide them by 3, then the smart inserters compare the chest contents to that average and only give to those assemblers if they are below it.

Stuff like memory cells are really just nerd toys.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
with circuit networks, is it somehow possible to distribute stuff between all my assembling machines equally so that the one at the front of the line doesnt hog all the loving iron plate

Sunblood
Mar 12, 2006

I'm a freakin' blur here!
Started a game with RSO installed for the first time. There are only two oil spots anywhere feasibly near my base. The rest are 10+ screens away and deep in forests.
Is it even practical to lay pipe for the distance? Or should I look into trains + barrels?

CanOfMDAmp
Nov 15, 2006

Now remember kids, no running, no diving, and no salt on my margaritas.

Sunblood posted:

Started a game with RSO installed for the first time. There are only two oil spots anywhere feasibly near my base. The rest are 10+ screens away and deep in forests.
Is it even practical to lay pipe for the distance? Or should I look into trains + barrels?

Either barrels or the Rail Tanker mod. I go with the mod because I just don't feel like setting up the logistics behind barrels.

Solumin
Jan 11, 2013
I realized my one-pulse button thing could be easily accomplished with a smart chest and an inserter. Put a thing in the chest, it signals, the inserter immediately removes it -- bam, 1 cycle signal.

Suspicious Dish posted:

with circuit networks, is it somehow possible to distribute stuff between all my assembling machines equally so that the one at the front of the line doesnt hog all the loving iron plate

Why bother when you can just increase iron production and put down a faster belt?

If you really want to use circuit networks: yes, you should be able to do that. Tenebrais's stone brick example would work, for example.

Kinetica
Aug 16, 2011
I am having the damnedest time trying to get multi-junction rails going; half the time a train going through will trip another light and prevent other trains from going through even though they've left the junction. Ughhhhh

Dessert Rose
May 17, 2004

awoken in control of a lucid deep dream...

Suspicious Dish posted:

with circuit networks, is it somehow possible to distribute stuff between all my assembling machines equally so that the one at the front of the line doesnt hog all the loving iron plate

Why does it matter what assembly machine produces the items? In the end, all the iron plate that's going down that belt is getting turned into [gears, green circuits, whatever].

Dirk the Average
Feb 7, 2012

"This may have been a mistake."

Dessert Rose posted:

Why does it matter what assembly machine produces the items? In the end, all the iron plate that's going down that belt is getting turned into [gears, green circuits, whatever].

I'm guessing it's because assemblers will stock up to double their inputs, so technically you could get a little bit more production for some of the big-ticket items if they shared more evenly. You're right though, if your assembly machines aren't all running, that means that you don't have enough inputs coming in.

Zetsubou-san
Jan 28, 2015

Cruel Bifaunidas demanded that you [stand]🧍 I require only that you [kneel]🧎

Kinetica posted:

I am having the damnedest time trying to get multi-junction rails going; half the time a train going through will trip another light and prevent other trains from going through even though they've left the junction. Ughhhhh

a screenshot of the junction in question might help.

Kinetica
Aug 16, 2011

Zetsubou-san posted:

a screenshot of the junction in question might help.

Found the problem, one of the less commonly used tracks with signals was screwed up and had the block shorter than the train. It cascaded from there over like 15 minutes as trains would route around the segment and slowly lock up the other signals.

Zetsubou-san
Jan 28, 2015

Cruel Bifaunidas demanded that you [stand]🧍 I require only that you [kneel]🧎
cool.

chain signals are my go-to for traffic problems



Garfu
Mar 6, 2008

Much like buttholes, families are meant to be tight.
Anyone know why the counter for the rockets doesn't display for me? Or why the victory screen never came up?

I'm using these mods:



edit: I always send up a satellite (or ion cannon)

Garfu fucked around with this message at 22:40 on Apr 9, 2016

Solumin
Jan 11, 2013
I couldn't understand zed's circuit, so in retaliation here's the improved version of mine -- now with resetting!


(blueprint)

Mostly things are just moved around. The rising edge detector's decider and arithmetic combinators are next to each other (pink box) and feed into the memory cell (top left half of green box). The second decider in the green box is used to indicate that the circuit has completed by activating the light when the signal driving the smart inserter is 0. That signal is output by the right decider ("<") and constant combinator in the blue box; the constant combinator outputs for the limit for the number of items to produce. They are joined by a NOT gate and an AND gate. The NOT gate is tied to the smart chest so it outputs 1 when the chest is empty, and the AND gate prevents any signal from reaching the smart inserter when there's an item in the chest. Basically it's an "disable" switch: If the chest is empty, the circuit can proceed.

The cool new part is the red box. The first arithmetic combinator negates the current count of items in the network. (BTW Factorio apparently can only get numbers from the numpad, not signs.) The second grabs the enable signal (and inverts it -- enabling this circuit only when the main circuit is blocked.) and feeds it to the AND gate, which sends the negated count to the memory cell, causing it zero out.

By placing an item in the smart chest, you can reset the circuit! And you can do this at any point, too -- it'll work just fine. It doesn't let you resume interrupted runs, but frankly I don't think that's important.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Is there a better way to do an unloader like this?



The boxes on the top can't unload because the belt is full.

I can't think of a great way to get a really compressed belt for this.

Evilreaver
Feb 26, 2007

GEORGE IS GETTIN' AUGMENTED!
Dinosaur Gum

Suspicious Dish posted:

Is there a better way to do an unloader like this?



The boxes on the top can't unload because the belt is full.

I can't think of a great way to get a really compressed belt for this.

Two ways:
1) Get a faster belt, Red Belts can handle 4x inserters (protip: trains are 7 long when horizontal [sometimes :argh: make it 6x to be sure]), Blue belt can handle ~5.5

2)

I like this design for a few reasons: One, double buffer size, two, the 'empty onto' belts can be 2x Red, splittermerged into one Blue belt line comfortably* (not shown here), and three, tiles nicely for multiple stations and completely fills belts between them.

Also I've changed my designs since taking this pic, I now prefer 1-car trains (smaller signal blocks, trains accelerate/move past signal blocks/intersections quicker).

*You need blue belt to properly unload 2-car trains like this

Evilreaver fucked around with this message at 06:36 on Apr 10, 2016

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Yeah, I put in some red belt for now. That second setup is clever. I might try it out later.

Adbot
ADBOT LOVES YOU

Garfu
Mar 6, 2008

Much like buttholes, families are meant to be tight.

Garfu posted:

Anyone know why the counter for the rockets doesn't display for me? Or why the victory screen never came up?

I'm using these mods:



edit: I always send up a satellite (or ion cannon)

Figured this out. I'm playing on a custom scenario. To get it to work you just need to copy over the control.lua from the freeplay scenario, next rocket launch it worked.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply