Small enhancement for train schedule circuit conditions

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
User avatar
SupplyDepoo
Filter Inserter
Filter Inserter
Posts: 286
Joined: Sat Oct 29, 2016 8:42 pm
Contact:

Small enhancement for train schedule circuit conditions

Post by SupplyDepoo »

Nevermind. I changed my mind and I think this is a bad suggestion. Archived for future reference.

Hey, devs! I have a very small suggestion, but it may be easy to implement, so please hear me out.

It's possible to set a circuit condition like "Everything = 0" or "A = B" in train schedules, i.e. conditions which evaluate TRUE if no circuit signals are present. Currently, this works only if the train stop has "Send to train" enabled. If it's not enabled, any circuit condition always evaluates FALSE.

I suggest changing the logic so that train stops without "Send to train" enabled have the same effect as train stops with "Send to train" enabled and no circuit signals with value <0 or >0.

The problem with the current behavior is that a train can become permanently stuck waiting for a circuit condition at a train stop that doesn't send circuit signals. Since the only way to resolve that is by manual intervention, I doubt anyone is relying on this behavior, so it should be safe to change.

A practical example:

Here I have a train (belt-less) mining operation:
[attachment=0]screenshot-tick-1741121.png[/attachment]

The trains go around in a loop, collecting stone and dropping it off at the bottom. The trains should wait at each collection point until 3 seconds of inactivity OR 15 seconds passed. At the drop-off point they should wait until 3 seconds of inactivity OR the cargo wagons are empty. Since there are many train stops for stone collection, I thought I'd name them all the same. The wait conditions need to cover both collection & drop-off points, so I can't use the cargo conditions. Instead I use a circuit network condition of "Everything = 0" and the drop-off train stop is set to "Read train contents" and "Send to train".

This concept works, except I had to place a dummy circuit wire on every collection train stop and enable "Send to train", otherwise the trains would get stuck.

Here are three reasons why this should be changed:

[list=1][*]Intuitively it makes sense to me that "a train stop sending no circuit signals" is the same as "a train stop not sending circuit signals."[*]As I said, I doubt anyone has been relying on the existing logic. But I could be wrong. It would be good to get some more feedback from other experienced players.[*]If changed, it would be easy to fix any setups that relied on this behavior. Just send a bogus signal to the train stop.[/list]

Suggestions for implementation:

I think there are two ways this could be implemented.

[list=1][*]Change the logic of train stops so that when "Send to train" is disabled, it acts as if it was enabled, but ignores any input signals.[*]Change the logic of trains so that circuit conditions default to TRUE unless contradicted by the train stop signals.[/list]
Attachments
screenshot-tick-1741121.png
screenshot-tick-1741121.png (4.26 MiB) Viewed 716 times

Post Reply

Return to “Ideas and Suggestions”