Friday Facts #114 - Better train conditions

Regular reports on Factorio development.
ratchetfreak
Filter Inserter
Filter Inserter
Posts: 952
Joined: Sat May 23, 2015 12:10 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by ratchetfreak »

bobingabout wrote:Suggestion.

If you're changing the UI and such, do you think it could be possible to make it so the game doesn't crash when you try to look at the fuel inventory when fuel inventory size is set to 0.
report that as a bug (https://forums.factorio.com/forum/viewforum.php?f=7) and there is a good chance it will be fixed

User avatar
The Phoenixian
Fast Inserter
Fast Inserter
Posts: 233
Joined: Mon May 26, 2014 4:31 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by The Phoenixian »

ratchetfreak wrote:
Rseding91 wrote:
ratchetfreak wrote:Fuel count for one

or for a train going around resupplying outposts it can then decide to go back only if it is running low on a certain item
The train conditions are *wait* conditions. They determine when the train should leave the station. Not if the train should go to a station in the listing.
It would be nice if we could not go to a station depending on a condition (internal like fuel or possibly a circuit condition like not enough resources to bother to pick up)
Agreed. One of the things I do with trains, from time to time, is have a dedicated resupply train for repair packs, various replacement parts, and ammunition (Usually when I'm playing with landmines) Having a way to tell such a train to only visit a station when a low supply condition is met would be nice.
The greatest gulf that we must leap is the gulf between each other's assumptions and conceptions. To argue fairly, we must reach consensus on the meanings and values of basic principles. -Thereisnosaurus

kovarex
Factorio Staff
Factorio Staff
Posts: 8184
Joined: Wed Feb 06, 2013 12:00 am
Contact:

Re: Friday Facts #114 - Better train conditions

Post by kovarex »

The Phoenixian wrote:
ratchetfreak wrote:
Rseding91 wrote:
ratchetfreak wrote:Fuel count for one

or for a train going around resupplying outposts it can then decide to go back only if it is running low on a certain item
The train conditions are *wait* conditions. They determine when the train should leave the station. Not if the train should go to a station in the listing.
It would be nice if we could not go to a station depending on a condition (internal like fuel or possibly a circuit condition like not enough resources to bother to pick up)
Agreed. One of the things I do with trains, from time to time, is have a dedicated resupply train for repair packs, various replacement parts, and ammunition (Usually when I'm playing with landmines) Having a way to tell such a train to only visit a station when a low supply condition is met would be nice.
There are more solutions that might be tried, both are not hard to program, but mainly the understandability by the user is the goal.
  • Deactivatable stations - the station could be deactivated based on circuit condition. For the train it would be like it doesn't exist. I like this one, as it is very simple, the train will just have all of the supply stations in queue, (+ the home one). When all of them are deactivated, it does nothing, as it has just one station. Once some of the station needs something, it will activate itself, so the train can come.
  • Stations that can override command. Station could have a conditon + Schedule command. Once the condition is satisfied, it would send the train in the station there no matter what. I dislike, that the train gui would need to show, that the current goal is not part of the schedule, but rather command of the station.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by ssilk »

Hm. From my experiences with complex gameplay I can say I would need only some kinds of "behavior":

1. Wait here, until a condition is set here.
2. Wait here, until a condition is set there (at the next target station)
3. Go there, when condition is set here.
4. Go there, when condition is set there (at the next target station).

They are basically the same, only thought from different directions.

So we have only two cases. I thing these 2 can be used for nearly any problem. And I think the really useful thing is, that I can formulate some kind of "programming", cause the "condition at the next station" can be part of a clever plan.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

User avatar
The Phoenixian
Fast Inserter
Fast Inserter
Posts: 233
Joined: Mon May 26, 2014 4:31 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by The Phoenixian »

kovarex wrote:
The Phoenixian wrote: -snip-
There are more solutions that might be tried, both are not hard to program, but mainly the understandability by the user is the goal.
  • Deactivatable stations - the station could be deactivated based on circuit condition. For the train it would be like it doesn't exist. I like this one, as it is very simple, the train will just have all of the supply stations in queue, (+ the home one). When all of them are deactivated, it does nothing, as it has just one station. Once some of the station needs something, it will activate itself, so the train can come.
  • Stations that can override command. Station could have a conditon + Schedule command. Once the condition is satisfied, it would send the train in the station there no matter what. I dislike, that the train gui would need to show, that the current goal is not part of the schedule, but rather command of the station.
As a player looking at this primarily in terms of resupply, my opinion is rather favorable towards deactivating stations: It's simple and very obvious solution, seems quite intuitive, feels flexible, and even has the advantage of not needing long circuit network wires: Whether you're checking for if your supplies or low, or only calling trains once you have more than 2k ore/X oil (barrels) in storage, you'll only have to wire up the network within the block. Even the issue of multipurpose stations (be it a matter of onload/offload or oil/ore)can be taken care of by just having more than one train stop.
The greatest gulf that we must leap is the gulf between each other's assumptions and conceptions. To argue fairly, we must reach consensus on the meanings and values of basic principles. -Thereisnosaurus

HulkingUnicorn
Inserter
Inserter
Posts: 22
Joined: Mon Dec 22, 2014 3:49 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by HulkingUnicorn »

kovarex wrote:[...]
  • Deactivatable stations - the station could be deactivated based on circuit condition. For the train it would be like it doesn't exist. I like this one, as it is very simple, the train will just have all of the supply stations in queue, (+ the home one). When all of them are deactivated, it does nothing, as it has just one station. Once some of the station needs something, it will activate itself, so the train can come.
  • Stations that can override command. Station could have a conditon + Schedule command. Once the condition is satisfied, it would send the train in the station there no matter what. I dislike, that the train gui would need to show, that the current goal is not part of the schedule, but rather command of the station.
The first one sounds fine, but I wouldn't like to set all the stops with a NOT check in case of resupply considerations. What if you make the station list a list of collapsible lists as below?

Code: Select all

{Schedule A, 13 stops [expand]}
{Schedule B, 2 stops [collapse]}
   -> Station 1 (shown as usual)
   -> Station 9
Station 4 (this is a single stop schedule, no need to expand/collapse)
This way, conditions for the schedules could have a NOT Station 4 condition, and you could make it alternate between the different schedules/routes or set exclusive conditions. To be clear, the schedules would have conditions to check which schedule should be considered to use for the next stop, in addition to each stop's regular conditions. Clicking the schedule "header" would show the condition page for the schedule.

User avatar
Drury
Filter Inserter
Filter Inserter
Posts: 794
Joined: Tue Mar 25, 2014 8:01 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by Drury »

kovarex wrote:[*]Deactivatable stations - the station could be deactivated based on circuit condition. For the train it would be like it doesn't exist. I like this one, as it is very simple, the train will just have all of the supply stations in queue, (+ the home one). When all of them are deactivated, it does nothing, as it has just one station. Once some of the station needs something, it will activate itself, so the train can come.
This wouldn't work for when you want one central refueling station for all trains. You would either activate it and all trains come for refuel, or deactivate it and nobody gets any fuel.

You can't just have a train go there for fuel when it needs it.

HulkingUnicorn
Inserter
Inserter
Posts: 22
Joined: Mon Dec 22, 2014 3:49 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by HulkingUnicorn »

Drury wrote:This wouldn't work for when you want one central refueling station for all trains. You would either activate it and all trains come for refuel, or deactivate it and nobody gets any fuel.

You can't just have a train go there for fuel when it needs it.
The condition could have a locomotive-inventory/state check which would have different results for each train. I got the impression that the station could be active for some trains but inactive for others.

Rseding91
Factorio Staff
Factorio Staff
Posts: 14093
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: Friday Facts #114 - Better train conditions

Post by Rseding91 »

HulkingUnicorn wrote:
Drury wrote:This wouldn't work for when you want one central refueling station for all trains. You would either activate it and all trains come for refuel, or deactivate it and nobody gets any fuel.

You can't just have a train go there for fuel when it needs it.
The condition could have a locomotive-inventory/state check which would have different results for each train. I got the impression that the station could be active for some trains but inactive for others.
Essentially "Go To Station Condition" as a counterpart to "Leave Station Condition" (that 0.13 has now) right?
If you want to get ahold of me I'm almost always on Discord.

ratchetfreak
Filter Inserter
Filter Inserter
Posts: 952
Joined: Sat May 23, 2015 12:10 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by ratchetfreak »

Rseding91 wrote:
HulkingUnicorn wrote:
Drury wrote:This wouldn't work for when you want one central refueling station for all trains. You would either activate it and all trains come for refuel, or deactivate it and nobody gets any fuel.

You can't just have a train go there for fuel when it needs it.
The condition could have a locomotive-inventory/state check which would have different results for each train. I got the impression that the station could be active for some trains but inactive for others.
Essentially "Go To Station Condition" as a counterpart to "Leave Station Condition" (that 0.13 has now) right?
indeed; triggered either by the target station (supplies low/enough resources to bother to pick up pick up) or by the train (fuel low, supplies of ammo dropping)

User avatar
Drury
Filter Inserter
Filter Inserter
Posts: 794
Joined: Tue Mar 25, 2014 8:01 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by Drury »

Isn't that basically this?
Drury wrote:
Klonan wrote:FFFFF i got tricked!

I hope soon is very soon too :D

EDIT: That rail building is looking sexy, and the new UI too. It would be good if there was a conditional 'refuelling station' that the train would head to if its low on fuel, instead of requiring fuel at one of the stations on the schedule
OpenTTD has a thing for this, it's called "Conditional Order Jump" - an order that, when executed, checks the train's condition and decides whether to continue on to the next order, or rather skip to a specific order.

An instance of what the order window would look like for each order with this system in Factorio:
1. Refueling Station

Wait until:
Full refuel

Order Jumps:
Continue to order 2 (default order, you wouldn't have to set this in the window every time)

2. Iron Ore Mine

Wait until:
Timer 20 seconds
OR Full load Iron Ore

Order Jumps:
IF Timer 20 seconds Jump to order 4
ELSE Continue to order 3

3. Main Furnaces

Wait until:
No Cargo

Order Jumps:
IF Fuel in tank <10 Jump to order 1
ELSE Jump to order 2

4. Small Furnaces

Wait until:
No Cargo

Order Jumps:
IF Fuel in tank <10 Continue to order 1 (default jump for the last order in the order list)
ELSE Jump to order 2

roman566
Fast Inserter
Fast Inserter
Posts: 137
Joined: Sat May 24, 2014 10:53 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by roman566 »

Train conditions are nice, but could we also get some sort of building that would allow control over all trains without having to wait for them or run to the station they are in?

Rseding91
Factorio Staff
Factorio Staff
Posts: 14093
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: Friday Facts #114 - Better train conditions

Post by Rseding91 »

bobingabout wrote:Suggestion.

If you're changing the UI and such, do you think it could be possible to make it so the game doesn't crash when you try to look at the fuel inventory when fuel inventory size is set to 0.
That works just fine already? I set the locomotive fuel inventory size to 0 and it loads up without crashing just fine in any version of 0.12 that I try it on. If there's some other entity that it crashes with do make a bug report.
If you want to get ahold of me I'm almost always on Discord.

sotrh
Manual Inserter
Manual Inserter
Posts: 1
Joined: Mon Dec 21, 2015 10:21 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by sotrh »

The real question is, can you still lay track down in front of the train Wallace and Gromit style? Being able to make curves while going full speed would be awesome. I understand that it might be hard for the new system though.

Greycode
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sun Mar 20, 2016 5:13 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by Greycode »

You want to know something I really want? A way to figure out which signal is preventing my train from running. Nothing is more annoying than building a railway, putting a train on it, and then it simply sets there with a no path message. Kinda need something to tell me what is not working, or at the very least get me within the same zipcode as the problem is.

voyta
Long Handed Inserter
Long Handed Inserter
Posts: 61
Joined: Thu Jul 23, 2015 10:29 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by voyta »

Greycode wrote:You want to know something I really want? A way to figure out which signal is preventing my train from running. Nothing is more annoying than building a railway, putting a train on it, and then it simply sets there with a no path message. Kinda need something to tell me what is not working, or at the very least get me within the same zipcode as the problem is.
If you have anything but nontrivial network, it would probably have to read your mind to detect what you _wanted_ the signals to do, instead what you did. That's usually very hard problem, because people don't think uniformly as the machines do :).

orzelek
Smart Inserter
Smart Inserter
Posts: 3921
Joined: Fri Apr 03, 2015 10:20 am
Contact:

Re: Friday Facts #114 - Better train conditions

Post by orzelek »

voyta wrote:
Greycode wrote:You want to know something I really want? A way to figure out which signal is preventing my train from running. Nothing is more annoying than building a railway, putting a train on it, and then it simply sets there with a no path message. Kinda need something to tell me what is not working, or at the very least get me within the same zipcode as the problem is.
If you have anything but nontrivial network, it would probably have to read your mind to detect what you _wanted_ the signals to do, instead what you did. That's usually very hard problem, because people don't think uniformly as the machines do :).
It' shouldn't be that hard as you think. When it's doing the pathing there is a place where it encounters something that breaks the path - it's a question of how to mark this place in a good way. Considering that most of the issues are wrong side signals that define one-way track it could highlight them somehow to show that thsts the point that broke pathing.

Dave64738
Inserter
Inserter
Posts: 29
Joined: Wed Apr 13, 2016 10:37 pm
Contact:

Re: Friday Facts #114 - Better train conditions

Post by Dave64738 »

SHiRKiT wrote:Please add tooltips when a button is hovered for 1 second (or some time). This HELPS A LOT.
Ugh no please I hate tooltips with a passion. If you really must implement them then please:

- if there is a button labelled "Foo" then the tooltip should not say "Foo". I can see from looking at the button that it does Foo. I don't need a stupid popup telling me that it is Foo. In other words the tooltip should actually show useful information.

- Don't display the tooltip over anything I might want to look at. Make absolutely certain that the tooltip overlays NOTHING that is even REMOTELY useful. I hate it when stuff pops up over other stuff I'm trying to look at, especially when it's a totally pointless tooltip that just duplicates something that's already on screen.

- Implement a "No tooltips" setting that removes tooltips for anyone who wants it (me) and that isn't doubled up with actually useful functionality (like for example "Tooltips and belt functionality on/off").

- consider having a sidebar instead, so that when you mouse over something the additional information appears in that sidebar instead of overlaying the main game screen. I get what it is to be a beginner (I'm still only on my 2nd game) but people will quickly learn to find the relevant information in a fixed sidebar.



And on a different subject I'd like to add to the players telling you guys to have a good look at OpenTTD. I too have played that game for years and years - probably 1000s of hours if I were to add it all up.

Post Reply

Return to “News”