Even better: if trains don't go to stations that already have their conditions met, just add a condition that depends on the other stops, like "Leave if the number of available stations is X or more".IronCartographer wrote: βFri Oct 09, 2020 1:33 pmThis might be reasonably possible if trains would check the conditions for their destination stop and skip it in their schedule if their waiting conditions were already met (at the time of destination selection), BUT still go to that train stop if there were no other options available to them. I suspect that rides a fine line between a feature and hack though, so it may not be amenable to being implemented to the devs' satisfaction.lonjil wrote: βFri Oct 09, 2020 12:55 pm One thing I think might synergise with the train stop limit, is giving trains the option to have a "fallback station", somewhere they only path to if all other stations are disabled or full. I've seen quite a few people talk about having depots where trains stay if they aren't needed, but this seems a little annoying to me, as it means the depot stop needs to be part of the train's regular schedule, so the train will make superfluous trips. With the fallback station idea, that wouldn't be the case.
Friday Facts #361 - Train stop limit, Tips and tricks
Re: Friday Facts #361 - Train stop limit, Tips and tricks
-
- Filter Inserter
- Posts: 276
- Joined: Thu Sep 15, 2016 3:04 pm
- Contact:
Re: Friday Facts #361 - Train stop limit, Tips and tricks
Nice comeback of the late FFF.
As feedback for tips and tricks: As a rule I would say anything having to do with GUI is tips-worthy. Any laws of nature that are different in game than in reality might also be tips-worthy. Anything about the machines and their workings in the game is not tips-worthy. Is this too naive a view?
As feedback for tips and tricks: As a rule I would say anything having to do with GUI is tips-worthy. Any laws of nature that are different in game than in reality might also be tips-worthy. Anything about the machines and their workings in the game is not tips-worthy. Is this too naive a view?
Re: Friday Facts #361 - Train stop limit, Tips and tricks
Great to see some new FFF!
I was initially worried the new Tips & Tricks screen might overwhelm new players, making them decide they don't really want to read this intimidating "homework" before playing, rendering the long list much less effective. Good call to keep them as simple as necessary in the beginning then.
Also, I'm not sure whether the new unlock popups may become annoying if they interrupt the game regularly. It has always worked very well for mini tutorials though, so I'm sure it won't be much of a problem, with the hints also usually being short.
Looking forward!
I was initially worried the new Tips & Tricks screen might overwhelm new players, making them decide they don't really want to read this intimidating "homework" before playing, rendering the long list much less effective. Good call to keep them as simple as necessary in the beginning then.
Also, I'm not sure whether the new unlock popups may become annoying if they interrupt the game regularly. It has always worked very well for mini tutorials though, so I'm sure it won't be much of a problem, with the hints also usually being short.
Looking forward!
Last edited by SWSe on Fri Oct 09, 2020 6:04 pm, edited 1 time in total.
-
- Filter Inserter
- Posts: 464
- Joined: Tue Jun 28, 2016 2:07 pm
- Contact:
Re: Friday Facts #361 - Train stop limit, Tips and tricks
This was a surprise module-specific TIL for me and gets my vote to include in a Tips&Tricks page for the Z/F button.
(Random suggestion for the reader: Change enter/exit vehicle to the F key, try Shift-F for picking up from the ground.)
You'll be wanting this mod: https://mods.factorio.com/mod/QoL-TempStations
Re: Friday Facts #361 - Train stop limit, Tips and tricks
Before the train limit feature, the problem of stations imbalance could be solved by placing several rail signals before the station and enabling red depending on the level on that station. This impacted train pathing algorithm and trains would pick a station with fewer or no red signals on the way.
Great to see developers see there was balancing problem with such stations and give a tool to manage this. Now you do not need to put in rail signals hack, but instead adjust the train limit based on circuitry. Thanks!
Great to see developers see there was balancing problem with such stations and give a tool to manage this. Now you do not need to put in rail signals hack, but instead adjust the train limit based on circuitry. Thanks!
-
- Inserter
- Posts: 39
- Joined: Mon May 08, 2017 8:13 pm
- Contact:
Re: Friday Facts #361 - Train stop limit, Tips and tricks
I liked reading about the tips/tricks/tutorials section (not that I need them at this point). But I wanted to suggest that maybe you SHOULD include a in-game wiki of sorts. Like, maybe a few relevant bits of info about each item. Some things I think would be helpful would be:
-Boiler/Heat Exchanger generation rate per second
-Engine/turbine consumption rate per second
-Mine ore generation rate (base). Maybe a bit in there about ore hardness (is Uranium still "harder" than the rest of the ores to mine?)
-A tip about production speed of different assemblers.
-A tip about how pollution generated by a machine (for machines that generate pollution) is based on the power consumed, so efficiency modules will reduce pollution generated by the machine AS WELL as reducing pollution generated from boilers due to reduced power demand.
-A tip on each power producer (or on an overall power producer tip) that informs people the priority for what system generates what power first (solar before boiler).
-We still get a lot of questions in the steam forums on why their accumulators don't seem to be working when placed. I think it's not quite clear to new people that accumulators only pitch in if the power demand is more than the combined total of all possible power sources. Emphasize that it is usually used as a complement to solar power, but it still has odd interactions with alternate power sources.
-I know that some of the good of this game is the ability to let people build how they want, but the perfect ratio of 1 boiler to 2 engines is so good, that it's probably a good idea to suggest in tips an ideal shape for boiler>engine layouts. Another common forum question relates to people not producing enough power, and their screenshots show them combining the output of a line of boilers and sending that output to a line of engines. I'm not quite sure when it would be a good time to have players dip their toe into the depth that is pipe throughput limits, but I think basic power production is not the time to bring up how combining outputs (boilers, refineries, etc) to send to a series of inputs (engines, chemical plants, etc) is an alternative liquid handling...
By the way, you comment on how you never see accumulator questions. As I said before, it comes up on the steam forums fairly often. I'd wager that most new players start out there. Making a Factorio forum account is a pretty big hurdle for players (myself included) for what - to them - is just some random game. So we try to support them as much as we can, and only send over to here the more severe cases, like true bug reports, or serious crash issues. If you don't frequent the steam forums, keep in mind that the factorio forums are not going to be representative of the true population of the game.
-Boiler/Heat Exchanger generation rate per second
-Engine/turbine consumption rate per second
-Mine ore generation rate (base). Maybe a bit in there about ore hardness (is Uranium still "harder" than the rest of the ores to mine?)
-A tip about production speed of different assemblers.
-A tip about how pollution generated by a machine (for machines that generate pollution) is based on the power consumed, so efficiency modules will reduce pollution generated by the machine AS WELL as reducing pollution generated from boilers due to reduced power demand.
-A tip on each power producer (or on an overall power producer tip) that informs people the priority for what system generates what power first (solar before boiler).
-We still get a lot of questions in the steam forums on why their accumulators don't seem to be working when placed. I think it's not quite clear to new people that accumulators only pitch in if the power demand is more than the combined total of all possible power sources. Emphasize that it is usually used as a complement to solar power, but it still has odd interactions with alternate power sources.
-I know that some of the good of this game is the ability to let people build how they want, but the perfect ratio of 1 boiler to 2 engines is so good, that it's probably a good idea to suggest in tips an ideal shape for boiler>engine layouts. Another common forum question relates to people not producing enough power, and their screenshots show them combining the output of a line of boilers and sending that output to a line of engines. I'm not quite sure when it would be a good time to have players dip their toe into the depth that is pipe throughput limits, but I think basic power production is not the time to bring up how combining outputs (boilers, refineries, etc) to send to a series of inputs (engines, chemical plants, etc) is an alternative liquid handling...
By the way, you comment on how you never see accumulator questions. As I said before, it comes up on the steam forums fairly often. I'd wager that most new players start out there. Making a Factorio forum account is a pretty big hurdle for players (myself included) for what - to them - is just some random game. So we try to support them as much as we can, and only send over to here the more severe cases, like true bug reports, or serious crash issues. If you don't frequent the steam forums, keep in mind that the factorio forums are not going to be representative of the true population of the game.
Re: Friday Facts #361 - Train stop limit, Tips and tricks
If you are looking for ideas for tips and tricks, please cover the logistics network and the S/R relays... Thanks for continuing with FFFs.
- 5thHorseman
- Smart Inserter
- Posts: 1193
- Joined: Fri Jun 10, 2016 11:21 pm
- Contact:
Re: Friday Facts #361 - Train stop limit, Tips and tricks
So much love for train stop limits!
- Serenity_Twilight
- Manual Inserter
- Posts: 2
- Joined: Fri Oct 09, 2020 12:16 am
- Contact:
Re: Friday Facts #361 - Train stop limit, Tips and tricks
I was just spending hours yesterday testing out different circuit configurations in attempt to solve the matter of dispatching only as many trains as necessary and making sure that no two trains go to the same location.
(For those not interested in my findings in how to do something that ultimately won't be necessary once train stop limits are included in the game, skip to the end.)
1 Request = 1 Dispatch
This requirement is simple, at least in the case of only having a single dispatcher. If the requesting station(s) can contact the dispatcher via circuit network, then then station can pulse a 1 of type requested resource for 1 tick. The dispatch station captures this tick, then, using some bitwise logic along with a primitive if-else-if statement, will dispatch a single train, assuming at least 1 is currently available.
The system is robust enough to handle situations in which two or more stations request a train on the same, as well as if one or more stations request a train when none are available. The input from the circuit network is captured and locally maintained until explicitly subtracted, which only occurs when a train is actually dispatched. Now that I think about it, a maintained value in that count could be wired to an alarm to signal when there are not enough trains to meet demand.
It's possible to have this work between multiple dispatch stations, but ultimately there MUST be no more than a single if-else-if statement to maintain the fact that 1 request results in 1 dispatch, meaning that the second dispatcher cannot even consider sending trains unless the first dispatcher has none, which prevents the potential benefits of dispatcher-requestor locality and pollutes the rail system's global circuit network channel.
Trains do not fight for destinations
As far as I can see, there was no good way to achieve this under current limitations. Even if you disable the requestor upon arrival of the dispatched train, if two requestors request a train around the same time, then one is likely to follow the other, and only head for the other station once the first train arrives at its destination.
I found a thread with an interesting idea that, in short, mandated that each receiver of a particular resource had 1 additional "seeker station" per train that could be dispatched to it. The dispatcher would then return the ID of the train dispatched, which the requestor would use to enable one of its seeker stations to ensure the train came to that specific location (assuming that all trains of a type have the seeker station in their schedule between dispatch and reception).
This was, as far I as could tell, the only real solution that worked, but it comes with 1 major problem: Your dispatcher and requestors become highly coupled, which defeats much of the purpose of the model in the first place.
The construction of a requestor station requires 1 additional seeker station per train that can be dispatched, along with all of the circuitry to faciliate enabling it. The addition of any trains to the dispatcher requires an update to all requestors of that particular resource. And, as train IDs are totally unique, if a train must be replaced for whatever reason, this also requires an update to all requestors of that particular resource.
On the topic of train stop limits
I very, very, VERY much appreciate this change. Having the functionality built-in to stations will remove the dependency for massive inter-station circuit networks and bulky combinators (at least for this purpose, I don't personally use the circuit network for much, but I imagine many live and die by it). No longer will this limitation of the low-coupling, modular, request-and-dispatch train network keep me awake at night!
Oh, and the Tips GUI looks really neat, too. I don't have a whole lot to say on it other than it's clear that A LOT of time and thought was expended on shaking off its old limitations and increasing it relevance and helpfulness.
(For those not interested in my findings in how to do something that ultimately won't be necessary once train stop limits are included in the game, skip to the end.)
1 Request = 1 Dispatch
This requirement is simple, at least in the case of only having a single dispatcher. If the requesting station(s) can contact the dispatcher via circuit network, then then station can pulse a 1 of type requested resource for 1 tick. The dispatch station captures this tick, then, using some bitwise logic along with a primitive if-else-if statement, will dispatch a single train, assuming at least 1 is currently available.
The system is robust enough to handle situations in which two or more stations request a train on the same, as well as if one or more stations request a train when none are available. The input from the circuit network is captured and locally maintained until explicitly subtracted, which only occurs when a train is actually dispatched. Now that I think about it, a maintained value in that count could be wired to an alarm to signal when there are not enough trains to meet demand.
It's possible to have this work between multiple dispatch stations, but ultimately there MUST be no more than a single if-else-if statement to maintain the fact that 1 request results in 1 dispatch, meaning that the second dispatcher cannot even consider sending trains unless the first dispatcher has none, which prevents the potential benefits of dispatcher-requestor locality and pollutes the rail system's global circuit network channel.
Trains do not fight for destinations
As far as I can see, there was no good way to achieve this under current limitations. Even if you disable the requestor upon arrival of the dispatched train, if two requestors request a train around the same time, then one is likely to follow the other, and only head for the other station once the first train arrives at its destination.
I found a thread with an interesting idea that, in short, mandated that each receiver of a particular resource had 1 additional "seeker station" per train that could be dispatched to it. The dispatcher would then return the ID of the train dispatched, which the requestor would use to enable one of its seeker stations to ensure the train came to that specific location (assuming that all trains of a type have the seeker station in their schedule between dispatch and reception).
This was, as far I as could tell, the only real solution that worked, but it comes with 1 major problem: Your dispatcher and requestors become highly coupled, which defeats much of the purpose of the model in the first place.
The construction of a requestor station requires 1 additional seeker station per train that can be dispatched, along with all of the circuitry to faciliate enabling it. The addition of any trains to the dispatcher requires an update to all requestors of that particular resource. And, as train IDs are totally unique, if a train must be replaced for whatever reason, this also requires an update to all requestors of that particular resource.
On the topic of train stop limits
I very, very, VERY much appreciate this change. Having the functionality built-in to stations will remove the dependency for massive inter-station circuit networks and bulky combinators (at least for this purpose, I don't personally use the circuit network for much, but I imagine many live and die by it). No longer will this limitation of the low-coupling, modular, request-and-dispatch train network keep me awake at night!
Oh, and the Tips GUI looks really neat, too. I don't have a whole lot to say on it other than it's clear that A LOT of time and thought was expended on shaking off its old limitations and increasing it relevance and helpfulness.
-
- Inserter
- Posts: 26
- Joined: Thu May 08, 2014 4:21 am
- Contact:
Re: Friday Facts #361 - Train stop limit, Tips and tricks
Rergarding mods and tips:
For modding, please consider a way to make it brain-dead simple to author and translate tips. I would love to see a solution where tips are authored in a text format, with factorio-specific extensions. The tips could be text files in the locale directory, making it trivial to add a new tip page via a mod.
Some things I'd love to see in tips
Basic Factorio icons:
blueprint support (shows a preview, and when clicked picks up the blueprint with the cursor)
links to other tip pages
preformatted text for sample console commands (can be clicked to copy the command to the console or clipboard)
dynamic values that specify a lua value or function
images and such
also, please make the tip tree collapsible, as some mods could have an enormous number of tips.
For modding, please consider a way to make it brain-dead simple to author and translate tips. I would love to see a solution where tips are authored in a text format, with factorio-specific extensions. The tips could be text files in the locale directory, making it trivial to add a new tip page via a mod.
Some things I'd love to see in tips
Basic Factorio icons:
Code: Select all
[item=copper-ore]
[recipe=logistic-robot]
Code: Select all
[blueprint=0eNp9j8EOgjAQRP9lzoUIUtD+ijEGcMVN6ELaYiSEf7fgxZPH2ey8mVnQ9BONjiXALOB2EA9zWeC5k7rfbmEeCQYcyEJBarup2nuyTc/SJbZunyyUHLEqsNzpDZOtVwWSwIHpy9vFfJPJNuTiw3+Swjj4aB5kaxCBuU61wgyjy1THHEct77UG7hNHj2hzM7bUvaf5maXwIud3VH7Kiqo4V2WVHUpdrusHO2xUBQ==]
Code: Select all
[tip]tip-in-same-mod[/tip]
[tip]other-mod/other-tip[/tip]
Code: Select all
[code]/c game.player.print(1234*5678) [\code]
Code: Select all
[value=game.forces["enemy"].evolution_factor]
[call=game.player.get_goal_description()]
[element=my.mod.LuaGuiElement]
Code: Select all
[img=filename.png]
also, please make the tip tree collapsible, as some mods could have an enormous number of tips.
Last edited by ironchefpython on Fri Oct 09, 2020 8:32 pm, edited 2 times in total.
Re: Friday Facts #361 - Train stop limit, Tips and tricks
What about either grayed out names for the 'locked tips' or even a "locked" placeholder so the player knows how many tutorials there are that they haven't seen yet? Otherwise I think I'd have the same concern. If the table of contents is sparse, I'd quickly forget about it because it looks like I've done everything I can with that window.kovarex wrote: βFri Oct 09, 2020 11:05 amThe players can use a command, explained in the first tip, to unlock all the tips, but I think that it works better with the unlocking.KatherineOfSky wrote: βFri Oct 09, 2020 8:18 am The Tips looks great, though I feel VERY STRONGLY that you do not hide tips from the user. If anything, add a little dot or animated icon next to the pertinent ones, or ones most recently related to progress in the game. However, I ask you most sincerely not to hide information from the player.
Please give people the information they are thirsting for, right out of the gate!
I remember talking to a guy who bought the game, and he played through all of the tutorials before building anything in a game, even when they were not suggested yet, that was painful to hear. It really doesn't make any sense to see a tutorial about train,signals, fast entity transfer and such, when you didn't even build your first miner. This was one of the pushes for me to really make them visible only when it is relevant in the game.
We are putting special effort into making sure that the unlocking is done in a proper moment. For example, why would you need to see a tutorial about drag-building poles before building a few for the first time? Or tutorial about signals before signals are even researched? It would just confuse the new user and overwhelm him with information.
Also, will there be a 1.0.1 for all the queued up bugfixes or is the plan to wait until 1.1.0 to ensure nothing accidentally breaks mod compatibility with the official launch release?
Re: Friday Facts #361 - Train stop limit, Tips and tricks
Please add a 2nd number to the trains limit. That 2nd number shows the sum of all the limits of all the train stations with that name.
eg 2 iron mines "Iron mine" with limit 2
Then in the train station GUI it would show: "[x] Enable trains limit [2]/4"
Why? To see at a glance, if the limits are able to acommodate all the trains, which have that train station name in their shedule. This would nicely combine with this viewtopic.php?f=6&t=90219 .
If there is at least one station which has no limit set, then a station's GUI would show "unlimited".
eg "[x] Enable trains limit [2]/unlimited"
eg 2 iron mines "Iron mine" with limit 2
Then in the train station GUI it would show: "[x] Enable trains limit [2]/4"
Why? To see at a glance, if the limits are able to acommodate all the trains, which have that train station name in their shedule. This would nicely combine with this viewtopic.php?f=6&t=90219 .
If there is at least one station which has no limit set, then a station's GUI would show "unlimited".
eg "[x] Enable trains limit [2]/unlimited"
Last edited by Impatient on Fri Oct 09, 2020 10:48 pm, edited 1 time in total.
Re: Friday Facts #361 - Train stop limit, Tips and tricks
You already can do that so there is no need for any new functions. Set an cargo wagon or something at the fallback station so it's always red.lonjil wrote: βFri Oct 09, 2020 12:55 pm One thing I think might synergise with the train stop limit, is giving trains the option to have a "fallback station", somewhere they only path to if all other stations are disabled or full. I've seen quite a few people talk about having depots where trains stay if they aren't needed, but this seems a little annoying to me, as it means the depot stop needs to be part of the train's regular schedule, so the train will make superfluous trips. With the fallback station idea, that wouldn't be the case.
Re: Friday Facts #361 - Train stop limit, Tips and tricks
It helped but didn't fully solve the problem. Still all the trains that was ready to go would path to the same station.redis wrote: βFri Oct 09, 2020 5:31 pm Before the train limit feature, the problem of stations imbalance could be solved by placing several rail signals before the station and enabling red depending on the level on that station. This impacted train pathing algorithm and trains would pick a station with fewer or no red signals on the way.
Great to see developers see there was balancing problem with such stations and give a tool to manage this. Now you do not need to put in rail signals hack, but instead adjust the train limit based on circuitry. Thanks!
Re: Friday Facts #361 - Train stop limit, Tips and tricks
Me too man, me too.barnaclebob wrote: βFri Oct 09, 2020 3:44 pm i have spent sooooooo many hours trying to make this train thing happen with just flipping stations on and off and it never worked. SOOOOO EXCITED.
Re: Friday Facts #361 - Train stop limit, Tips and tricks
Ah, you mean by giving the depot the same station name as another station that the train stops at, and then putting a couple of red signals in front? Something like that didn't occur to me, as I was thinking along the lines of fallback stations that could have any train stop at it.Lubricus wrote: βFri Oct 09, 2020 8:38 pmYou already can do that so there is no need for any new functions. Set an cargo wagon or something at the fallback station so it's always red.lonjil wrote: βFri Oct 09, 2020 12:55 pm One thing I think might synergise with the train stop limit, is giving trains the option to have a "fallback station", somewhere they only path to if all other stations are disabled or full. I've seen quite a few people talk about having depots where trains stay if they aren't needed, but this seems a little annoying to me, as it means the depot stop needs to be part of the train's regular schedule, so the train will make superfluous trips. With the fallback station idea, that wouldn't be the case.
- Unknow0059
- Fast Inserter
- Posts: 101
- Joined: Tue Aug 08, 2017 7:37 pm
- Contact:
Re: Friday Facts #361 - Train stop limit, Tips and tricks
This is nothing short of genius.What you're seeing is a GIF (technically an .mp4) on a webpage, but we are not putting GIFs in the game. What the GIF shows, is the Tips and Tricks GUI live rendering a real simulation of the entities inside the GUI. This marvel of technology is a divine gift from the very top (kovarex).
I also really love the mini-documentation that is the new Tips and Tricks on steroids.
About this. It would be useful to know to which degree the in-game stats can be trusted. I mean, it's not precise to the single unit (the smallest value it displays is 23.8 even if you've just produced one single item), so how can I trust that when it says I've produced 1k coal, I've actually produced that amount?What kind of tips would you have found useful when playing the game?
- eradicator
- Smart Inserter
- Posts: 5211
- Joined: Tue Jul 12, 2016 9:03 am
- Contact:
Re: Friday Facts #361 - Train stop limit, Tips and tricks
Either you're looking at the wrong screen or you're misinterpreting or you've found an actual bug. It certainly shows "1" just fine for me. Factorio is one of the few games where i feel comfortable assuming the data is always 100% accurate.Unknow0059 wrote: βFri Oct 09, 2020 10:49 pm I mean, it's not precise to the single unit (the smallest value it displays is 23.8 even if you've just produced one single item), so how can I trust that when it says I've produced 1k coal, I've actually produced that amount?
- Attachments
-
- allprod.png (177.24 KiB) Viewed 7560 times
Author of: Belt Planner, Hand Crank Generator, Screenshot Maker, /sudo and more.
Mod support languages: ζ₯ζ¬θͺ, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.
Mod support languages: ζ₯ζ¬θͺ, Deutsch, English
My code in the post above is dedicated to the public domain under CC0.
Re: Friday Facts #361 - Train stop limit, Tips and tricks
Amazing, now we can finally set a supply / demand train network, without the nightmare of manually balancing everything.
Now, if only we could centralize train refueling. Maybe optional station conditions (go there if fuel count < X). What about GLOBAL train conditions, something that you set once and apply to all trains? I don't know, I'm allowed to dream.
Overall, train limit is a very welcome feature.
Now, if only we could centralize train refueling. Maybe optional station conditions (go there if fuel count < X). What about GLOBAL train conditions, something that you set once and apply to all trains? I don't know, I'm allowed to dream.
Overall, train limit is a very welcome feature.