Friday Facts #280 - Visual Feedback is the king

Regular reports on Factorio development.
Sad_Brother
Fast Inserter
Fast Inserter
Posts: 209
Joined: Mon Jan 08, 2018 4:54 pm
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by Sad_Brother »

"Check for fuel" would demand ability to skip station on condition. There is no such ability now.
"Check for station overloading" would demand train to know "how many trains are on the route to the station" and "how many trains can wait before the station". Both info seems unknown now. And if it would be known it would be station control to not to allow routing of more trains than designated.
bobucles
Smart Inserter
Smart Inserter
Posts: 1708
Joined: Wed Jun 10, 2015 10:37 pm
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by bobucles »

I don't understand all the fuss about fuel and refueling. It's no big deal to place fuel as part of the main stations.
Sad_Brother
Fast Inserter
Fast Inserter
Posts: 209
Joined: Mon Jan 08, 2018 4:54 pm
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by Sad_Brother »

bobucles wrote: ↑Mon Feb 04, 2019 12:24 am I don't understand all the fuss about fuel and refueling. It's no big deal to place fuel as part of the main stations.
It's convenience. And effectiveness.
Pi-C
Smart Inserter
Smart Inserter
Posts: 1726
Joined: Sun Oct 14, 2018 8:13 am
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by Pi-C »

pleegwat wrote: ↑Sun Feb 03, 2019 7:02 pm
Pi-C wrote: ↑Sun Feb 03, 2019 6:08 pm
quyxkh wrote: ↑Sun Feb 03, 2019 5:22 pm
Pi-C wrote: ↑Sun Feb 03, 2019 4:43 pm[stations all have the same name, all differences happen because of layout]
I think you could get that with what's described for 0.17 by putting a no-condition "Exit" entry immediately after each (or rather the only) ordinary station in your schedules and a train stop named "Exit" at the exit of each real station, no?
It could work, but I would need more than twice the original number of stations for that, which might get a bit messy. Basically, I would have to change the schedule from "1) Station A (Circuit + Inactivity), 2) Station A (Circuit + Inactivity)" to "1) Station A (Circuit + Inactivity), 2) Exit (no condition)".

The reason I need waypoints at all is because I need routing stations in addition to normal loading/unloading stations. All trains have the same schedules, so the network is supposed to direct the trains based on what they carry. Before branches, I stop each train to read its content (which imposes a penalty on train speed already). If a train carries something that is needed off the main line, the main line will be closed for this train and the branch-off will open. Now, it may happen that the routing station is close to a regular loading/unloading station on the main line. Without a waypoint on the branch-off, the train will see that there is a station it has on its schedule on the main line and try to go there -- which it can't because the main line is closed, so it is blocking the line until I can manually intervene.

With my suggestion, I would just have to put one dedicated waypoint after a routing station -- but only if the next (routing or regular) station in the one direction is considerably further away than the next (routing or regular) station in the other direction. Going by your suggestion, I would have to use 2 waypoints after each routing station + 1 waypoint after each regular station. This is more expensive in regard to material needed, it would clutter up the map -- and I'm afraid it could also be expensive UPS-wise, just because I would have to put so many new stations on the map.
I don't think you could make decisions here on waypoint stations anyway. even if a waypoint reads the train for one tick, you'd then have to get through all the requisite combinator logic before the train arrives at the branch.

I'm afraid you've got me wrong: The logic for setting signals is at the routing stations, and it works, opening the signal after the switch. Trains then proceed to the next station (may be a waypoint for guidance, or the next routing/regular station). The signal state is reset once the train has left the routing station and passed the exit signal -- then the next train can enter the routing station. Currently, my waypoints are normal stations that are set to always send the GREEN signal on the circuit condition without reading the train. But all of my stations share the same name, so trains don't know or care whether their they are at a regular (loading/unloading), routing, or waypoint station and the second condition from the schedule (AND Inactivity) kicks in. So trains are moving on the main line until a track branches off. In this case they have to stop at a routing station that reads train contents, sets the exit signals and sends the train the GREEN signal via circuit network. The train then continues to wait until the scheduled inactivity period is over and the block ahead is clear -- then it starts moving and goes to the next station, where it will stop again. So routing and waypoint stations limit train speeds in my setup because the train has to brake until it stops, wait, and accelerate again there. There is no way to get around the routing station penalty, obviously, but trains rushing through the waypoints would considerably decrease a train's travel time.
pleegwat wrote: ↑Sun Feb 03, 2019 7:02 pmI think there's an alternative though - you could have a couple of combinators next to each signal acting as a latch. That makes the train contents travel along the line, advancing to the next signal as the train passes the previous. At a simple exit, you can use the forwarded signal to control the switch without having to read the train again.
Again, this could be quite messy. I already use red and green wires along all tracks to request and guide the trains with signals from the regular stations. If only we had a third kind of circuit wires (e.g. blue or yellow cables), then I could use these for train contents! Nah, just kidding … :-)

Roughly, my network is built like this:
  • All train stations are connected via circuit network.
  • Regular (loading/unloading) stations signal what kind of cargo
    (really anything -- loading stations request trains with no cargo)
    they need via a pulse on the red wire and constantly (until a train they need arrives) on the green wire. There is a central dispatching area where all trains start and end their journey. Once a signal arrives on the red wire, it is registered; as soon as there is a train with anything required, that train is released and the required cargo is removed from the register.

    If a train arrives at a regular station, the station will check whether it needs anything from it -- otherwise it will set the GREEN signal immediately and the train will leave after its inactivity period. Loading stations will put as much of their stuff as they can on the train. Ideally, that would be a full train load; if the train already has cargo, they add to it -- so mixed-cargo trains are possible. If a mixed-cargo train arrives, there might be a chance that it had left the dispatcher because some other cargo had been requested by another station. In such situations, the station signals everything on the train that it doesn't need again with a pulse on the red wire. Unloading stations will take as much as they need from the train. Ideally, that would be a full train load (so the train leaves empty); otherwise the train is still partly loaded and the next loading station will add to it. Again, if the train has a mixed cargo, anything on it not needed will be pulsed via red by the station.
  • Routing stations read train content and compare it with what is on the green wire coming in from the side (the line could branch off to just a single station or an entire subnetwork with several stations -- more routing stations would then be needed on this subnetwork). If there is a match, the station opens the branch-off, otherwise the train proceeds on the main line.
    In some cases, routing stations use a different logic. Say there are mining outposts on both sides of the branch (so both sides need trains with room for solid cargo) and stations needing fluids on only one side. In such a case, fluid trains would always go where they are needed while the first cargo train would go left, the second right, the next left again … (other ratios are possible). This prevents one side from sucking up all trains, but there is a chance that a train gets to a station where it is not needed. In that case, it just leaves the station and proceeds its journey.
  • Waypoint stations are just that, they neither read from nor signal on the circuit network.
pleegwat wrote: ↑Sun Feb 03, 2019 7:02 pmI'm not quite sure how to build a logic gate that works correctly at a merge (since in conflict situations you need to detect which train advanced). The idea probably also requires that signals are non-red for at least one tick between one train leaving the block and another train entering, but I think this is the case anyway.
I haven't had trouble with merges yet because it's not the trains that decide where they will go -- the regular stations say what they need and the routing stations direct the trains with requested cargo to it. However, let's give it a try!
  1. Train arrives at routing station, contents is read, signals are set.
  2. Routing station sends train contents to signals ahead, train leaves.
  3. Signals are set according to train contents. Train contents is ignored at the last signal before a merge.
  4. Train arrives at another routing station, right after the merge. Train contents signal must be removed from previous block.
  5. Circle starts all over again.
Alas, there is the problem that signals don't flow one way over red/green wires. In fluid networks, you can dictate the direction of fluid flow by inserting pumps. In the circuit network, a signal either is present or it is not. If it is present, it will be there on the whole network, not only at certain points.
(Well, roughly speaking at least! Combinators may introduce delays.)
That means, if the signals ahead of a routing station see the contents of an approaching train, the signals behind it will too. In short, I can't transmit signals from stations and trains on the same wire. I need a separate wire between stations to keep the train content signals isolated from previous blocks. So, we do need another wire color after all! :-P

However, even if I could manage to transmit train contents signals separately without accidentally connecting them to the line carrying the station signals, there is another problem: The next train can't leave the routing station until the first train has reached the next station! Say, the first train carries iron ore, the second crude oil. If the contents of both trains were on the same wire, the first train might be sent to an oil drop-off because it passes that branch on the way to the ore drop-off. Even worse: the first train resetting its signals might mess with the train contents signals of the second train. So, there could only be one train between any two stations, however far apart these might be -- I guess throughput would be comparable to when I still had "Inactivity=8 seconds" in my schedules and close to 20 trains piled up before a branch … :-)
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!
User avatar
planetmaker
Fast Inserter
Fast Inserter
Posts: 188
Joined: Mon Jan 21, 2019 9:30 am
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by planetmaker »

I totally like the love you give the train interface. That should make train handling a lot easier.

And the same has to be said for the blueprint interface. That currently is a bit... say, unintuitive and I end up cluttering my whole inventory with blueprints which I regularily need to weed through - looking forward to see the changes there as well.
micromario wrote: ↑Fri Feb 01, 2019 5:38 pm What is the use case for waypoints? I've never felt like I needed to build one.
They help you routing trains. E.g. it allows you to tell a train going via a certain route so that congestion in another place is avoided.
User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by bobingabout »

I like the idea of that additional toolbar. A suggestion somewhere on the forums was to allow high-res monitors to display 2 bars side by side, this will help fill the empty space.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.
Muche
Fast Inserter
Fast Inserter
Posts: 178
Joined: Fri Jun 02, 2017 6:20 pm
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by Muche »

Pi-C, how many exit signals (located on mainline/branch after the switch) is one routing station controlling?
I've seen some designs with many (up to extreme 20) red signals in a row to *really* discourage the train from choosing that path.
Pi-C
Smart Inserter
Smart Inserter
Posts: 1726
Joined: Sun Oct 14, 2018 8:13 am
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by Pi-C »

Muche wrote: ↑Mon Feb 04, 2019 11:37 am Pi-C, how many exit signals (located on mainline/branch after the switch) is one routing station controlling?
I've seen some designs with many (up to extreme 20) red signals in a row to *really* discourage the train from choosing that path.
One. I could try to use more signals in a row, I guess. (Actually, it should be enough to set just the signal that is the farthest away from the routing station, right?) Can't try it now, though. I abandoned my previous map for the time being; when 0.17 comes out, I plan to restart, with the new train network based on and improved by the experiences I made with the last one.
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!
ProfoundDisputes
Inserter
Inserter
Posts: 22
Joined: Mon Jun 27, 2016 4:20 pm
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by ProfoundDisputes »

factoriouzr wrote: ↑Sun Feb 03, 2019 2:01 pm This is all great, but can we also have logistics request and trash merged into one in the GUI. When I request 100 turrets for eg. I want exactly that many all the time. If I pick up more during construction/deconstruction activities, I want the excess to be auto trashed. Same for belts, inserters and literally everything in the game.

Right now it's cumbersome to set the requester limit, then go to a new tab and find the item again and set a trash limit to the same as the request limit.

It makes much more sense to have the requests and trash slots merged and have two sliders for the item, one for a request limit and one for a trash limit, but have a checkbox that links the two sliders and makes them the same value. This checkbox should be on by default (or make it an option to be on by default in the options menu of the game).

I have been requesting this for a long time, now would be the perfect time to do this with the UI changes and improvements.
This is needed. I hope they implement something to solve this issue. I have a the mod for trash slots still installed so I can lock the trash to the requests. Profiles is also why I still use the mod, there needs to be some profiles.

These devs are doing so much I am just blown away at how they handle user feed back. These FFF just continually impress me and make me can't wait for .17 or 1.0. I am really curious for the future (years down the line) with possible DLC/Expansions what they will come up with.
Bauer
Filter Inserter
Filter Inserter
Posts: 349
Joined: Fri May 05, 2017 12:48 pm
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by Bauer »

Thank you. I love the new train interface!
Muche
Fast Inserter
Fast Inserter
Posts: 178
Joined: Fri Jun 02, 2017 6:20 pm
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by Muche »

Pi-C wrote: ↑Mon Feb 04, 2019 12:05 pm
Muche wrote: ↑Mon Feb 04, 2019 11:37 am Pi-C, how many exit signals (located on mainline/branch after the switch) is one routing station controlling?
I've seen some designs with many (up to extreme 20) red signals in a row to *really* discourage the train from choosing that path.
One. I could try to use more signals in a row, I guess. (Actually, it should be enough to set just the signal that is the farthest away from the routing station, right?) Can't try it now, though. I abandoned my previous map for the time being; when 0.17 comes out, I plan to restart, with the new train network based on and improved by the experiences I made with the last one.
According to wiki, a red circuit-networked signal has penalty of 1000, so each such red signal counts.
If the difference between (routing station->next mainline station) and (routing station->next branch station) is not that big and the train still chooses (red) mainline, you might want to check how many red signals there are on the branchline vs. mainline (that is, from the switch up to first station on the line).
Maybe designs of different kinds of stations use different number of signals that may cause this as well?
meganothing
Filter Inserter
Filter Inserter
Posts: 265
Joined: Thu Sep 15, 2016 3:04 pm
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by meganothing »

Excellent FFF.
Sad_Brother wrote: ↑Mon Feb 04, 2019 5:54 am
bobucles wrote: ↑Mon Feb 04, 2019 12:24 am I don't understand all the fuss about fuel and refueling. It's no big deal to place fuel as part of the main stations.
It's convenience. And effectiveness.
Effectiveness is one goal of playing the game. Should the computer play the game or you?
Horatio wrote: ↑Sat Feb 02, 2019 6:18 pm 1. I very much hope that trains will have access to a logical system. Sometimes I think that the absence of this function is connected with something. But I do not understand what. Please give an answer.
They do already. Connect a wire to a station and a train that stops there has access
User avatar
Mike5000
Fast Inserter
Fast Inserter
Posts: 133
Joined: Sun Mar 25, 2018 3:57 am
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by Mike5000 »

meganothing wrote: ↑Mon Feb 04, 2019 3:36 pm
Horatio wrote: ↑Sat Feb 02, 2019 6:18 pm 1. I very much hope that trains will have access to a logical system. Sometimes I think that the absence of this function is connected with something. But I do not understand what. Please give an answer.
They do already. Connect a wire to a station and a train that stops there has access
Unfortunately there are no (pre-) pathfinding hooks in the mod API so there is no way to do much of what is needed with trains unless you undertake the considerable task of scheduling from scratch as in LTN.

I believe that someone (Kovarex?) once explained that vanilla train pathfinding smarts were limited to trying to find an open platform at a multi-platform station but I don't understand why a game about automating keeps blocking automation so much.
Trebor
Filter Inserter
Filter Inserter
Posts: 293
Joined: Sun Apr 30, 2017 1:39 pm
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by Trebor »

Pi-C wrote: ↑Mon Feb 04, 2019 8:21 am Alas, there is the problem that signals don't flow one way over red/green wires. In fluid networks, you can dictate the direction of fluid flow by inserting pumps.
The equivalent of a one way pump on the circuit network is a arithmetic combiner with the condition: Each + 0 = Each

Connect all of your branches to the main network through two of these (one for red, one for green).
meganothing
Filter Inserter
Filter Inserter
Posts: 265
Joined: Thu Sep 15, 2016 3:04 pm
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by meganothing »

Can someone explain to me the use-case for disabling the exosceleton?
User avatar
Nova
Filter Inserter
Filter Inserter
Posts: 959
Joined: Mon Mar 04, 2013 12:13 am
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by Nova »

Precise positioning is pretty hard when you walk 2 tiles just by pressing a movement button for a very short time. You just walk too much with 6 or more exo skeletons in that time. ^^
bobucles
Smart Inserter
Smart Inserter
Posts: 1708
Joined: Wed Jun 10, 2015 10:37 pm
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by bobucles »

Can someone explain to me the use-case for disabling the exosceleton?
Trying to squeeze between two belts to fix a tiny part of a very compact base. Sometimes fast can be TOO fast.

Belt immunity equipment will probably be just as effective.
User avatar
Lubricus
Filter Inserter
Filter Inserter
Posts: 298
Joined: Sun Jun 04, 2017 12:13 pm
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by Lubricus »

Nova wrote: ↑Mon Feb 04, 2019 6:11 pm Precise positioning is pretty hard when you walk 2 tiles just by pressing a movement button for a very short time. You just walk too much with 6 or more exo skeletons in that time. ^^
The function from The progressive running mod should go vanilla
https://mods.factorio.com/mods/binbinhf ... iveRunning
User avatar
Nova
Filter Inserter
Filter Inserter
Posts: 959
Joined: Mon Mar 04, 2013 12:13 am
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by Nova »

Yeah I hope it does, Lubricus. Just a bit more smoothly. :)
MaxUser01
Manual Inserter
Manual Inserter
Posts: 3
Joined: Tue Feb 05, 2019 1:13 am
Contact:

Re: Friday Facts #280 - Visual Feedback is the king

Post by MaxUser01 »

* My first post * :D
For ALL Factorio/Wube team:
Thank you for your great and hard work!

You are the true AAA game Dev's:
  • Amazing
And
  • Awesome

I was really happy with all the news for the 0.17. And pleased on enjoy and contribute with this awesome game and comunity.

Jon8RFC wrote: ↑Fri Feb 01, 2019 6:33 pm Thanks for the new toggles! The toolbar will be an awesome addition.

Please make the personal roboport a 3-way toggle. On/off/self-only.
With self-only in multiplayer, inventory won't empty/fill when walking by something done by another player.
One thing to consider is should self-only still repair and/or replace destroyed entities.

Regarding the logistics & trash toggle suggestion:
Since there's a smaller inventory without armor, maybe a 3-way switch for on/off/armor-only?
The armor-only would disable it when a player dies, and once they get their armor back, it turns back on automatically.

Please add the belt immunity as a toolbar toggle.

Like the temporary train stops, I'd still love to see temporary logistics requests. Set it for 100, it fills or reaches 100, and it goes away.

+ 1 for this!

(sorry, I not speack English)
"A picture says more than 1000 words"
(please consider, english is not my language)
Post Reply

Return to β€œNews”