[0.13] Tagging trains using signals

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

MindChanger
Fast Inserter
Fast Inserter
Posts: 110
Joined: Tue Jul 05, 2016 6:53 am
Contact:

[0.13] Tagging trains using signals

Post by MindChanger »

I think tagging trains using signals and it's amount could be nice.
For example in the game we create trains for different purposes. While having universal stations it can be dificult to guess what to load what to not.
While having empty filters in wagon, wagon supplier can load items that we don't want to have in this particular wagon.
So we could just tag "supply train" as "S=1". Then we get information about tag from train station. And if S=1 then supply with certain items.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: [0.13] Tagging trains using signals

Post by ssilk »

Did I understand you right? Instead of providing the contents of the train to the circuit network it should provide a configurable signal?
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
MindChanger
Fast Inserter
Fast Inserter
Posts: 110
Joined: Tue Jul 05, 2016 6:53 am
Contact:

Re: [0.13] Tagging trains using signals

Post by MindChanger »

Could be both, because both functions got different use cases. Tagging is better than content reading in identifying, because it will identify the train even with emptied wagons.
And it could be both, because reading content from wagon's inventory will not affect train's tag signal which is not item type.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: [0.13] Tagging trains using signals

Post by ssilk »

Hm. Interesting idea.

Brings me to more ideas.

Let's say I tag a train with "iron=-10000". Then - logically (cause handled like chests) - both signals will be added. So the content of the train plus the tag is the resulting signal. In other words: I can build a train station which fills in items until all signals are positive; then I know it's full. And single inserters can load iron until iron > 0 or copper, until copper > 0 etc.

Very nice for supply trains.

The tag might be also part of
- the train itself
- the schedule (some stops in the schedule can provide tags)
- and the routing (globally configurable schedules for trains, not yet implemented)

I really like that, cause it is able to solve a lot of problems, which other suggestions about automated train routing have. Biggest disadvantage: You cannot read any longer the real contents of the train (only by "hand"). Is that really needed?
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
MindChanger
Fast Inserter
Fast Inserter
Posts: 110
Joined: Tue Jul 05, 2016 6:53 am
Contact:

Re: [0.13] Tagging trains using signals

Post by MindChanger »

Reading conent that is in train could be helpful sometimes to put exact amount of items.

"Let's say I tag a train with "iron=-10000". Then - logically (cause handled like chests) - both signals will be added. So the content of the train plus the tag is the resulting signal. In other words: I can build a train station which fills in items until all signals are positive; then I know it's full. And single inserters can load iron until iron > 0 or copper, until copper > 0 etc."

You can set signal which is not item type and then if for example A=1 then send constant value (from constant combinator) of iron -10000 to the circuit. Only constant combinator and decider needed, so I think reading contents of train could be implemented as well.
Or you can read signal of items in the train and multiply it by -1 and then send to circuit (which have for example positive number of items desired and then create some decider to know when to stop).
User avatar
siggboy
Filter Inserter
Filter Inserter
Posts: 988
Joined: Tue Mar 29, 2016 11:47 am
Contact:

Re: [0.13] Tagging trains using signals

Post by siggboy »

Tagging trains is a feature that is missing even if you use SmartTrains (which allows "station tagging", sort of). I agree that it would be very useful, even if you just want to give numbers to your trains (so you can recognize them when they enter a station).

At the moment there is no way to "track" trains, even if you send them to a known destination. As soon as more than one train is inbound to the same destination it becomes impossible to be 100% certain which train is which (because the first train might be delayed and then the trains could arrive in a changed order, and of course if the player intervenes and redirects or delays trains manually).

The station should allow you to tag a train (write the tag), but the problem here is that you need to be able to trigger the write. The station can't simply write any signal that you input to the train, because the signals are also used for leave conditions.

Right now there's no precedent for such a "write-enable" signal, so I'm not sure if Twinsen would be prone to add it for this purpose (Twinsen if you read this and think that a write-enable signal would be acceptable, then please also give us an addressable memory combinator with "address" and "write-enable" while you're at it :) ).
Is your railroad worrying you? Doctor T-Junction recommends: Smart, dynamic train deliveries with combinator Magick
MindChanger
Fast Inserter
Fast Inserter
Posts: 110
Joined: Tue Jul 05, 2016 6:53 am
Contact:

Re: [0.13] Tagging trains using signals

Post by MindChanger »

Well, I think it could be only manual signal input where you can plan route for the train, don't know if changing signal using signals from circuit for the train is something important
User avatar
siggboy
Filter Inserter
Filter Inserter
Posts: 988
Joined: Tue Mar 29, 2016 11:47 am
Contact:

Re: [0.13] Tagging trains using signals

Post by siggboy »

If it can only be set manually then it's not much more than a "name" for the train that can be read at the train station. That's already very useful, but being able to also change the tag from a circuit would make it so much better.

Maybe all the train related information (reading cargo, writing tags and other things) should be done through the rails (you connect wire to the rails), and the station input remains only for the leave condition.
Is your railroad worrying you? Doctor T-Junction recommends: Smart, dynamic train deliveries with combinator Magick
MindChanger
Fast Inserter
Fast Inserter
Posts: 110
Joined: Tue Jul 05, 2016 6:53 am
Contact:

Re: [0.13] Tagging trains using signals

Post by MindChanger »

Signal "tagging" is better than naming as circuit could know "which" train has just arrived.

For example I would name my supply train as "S=1". And during whole lifespan of train I don't see any reason to change that signal. But yes, possibility is always better than lack of it.
User avatar
siggboy
Filter Inserter
Filter Inserter
Posts: 988
Joined: Tue Mar 29, 2016 11:47 am
Contact:

Re: [0.13] Tagging trains using signals

Post by siggboy »

S=1 is then the "name" for the train. As I've said, it's like naming the train in the UI (also not possible in Vanilla yet), but the name can be read by the train station. You can not use the "name" for dynamic information if it can only be set by the player. If you send a train somewhere and you want to know when the train has arrived, you'd need to read and remember the name (= the tag) at departure so you can compare it at arrival. If you can write any signal value as a "tag" to the train, you can actually have it "carry" the needed information with it -- which is much easier to implement and understand.
Is your railroad worrying you? Doctor T-Junction recommends: Smart, dynamic train deliveries with combinator Magick
MindChanger
Fast Inserter
Fast Inserter
Posts: 110
Joined: Tue Jul 05, 2016 6:53 am
Contact:

Re: [0.13] Tagging trains using signals

Post by MindChanger »

"If you can write any signal value as a "tag" to the train, you can actually have it "carry" the needed information with it -- which is much easier to implement and understand."
I am not sure about it. It can create some problems like unwanted signals sent to train station. And still I don't see reason to change names for it, but maybe there are some use cases.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: [0.13] Tagging trains using signals

Post by ssilk »

Hm. The biggest problems are, that the information is sent on the same wire.
If that is sent on a separate line like a new "blue" wire... or if there is a simple convention: red wire is the train information, green is the meta-information... or if we have a "low range radio network" ... or ... many other possibilities to separate the information .... then this would be a really useful idea.

But the problems till here comes from mixing both information into the same wire. So I think this idea needs to wait for something like that.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
MindChanger
Fast Inserter
Fast Inserter
Posts: 110
Joined: Tue Jul 05, 2016 6:53 am
Contact:

Re: [0.13] Tagging trains using signals

Post by MindChanger »

Or implement one of two features and 2nd when possibility comes, one could be really nice for long time
User avatar
siggboy
Filter Inserter
Filter Inserter
Posts: 988
Joined: Tue Mar 29, 2016 11:47 am
Contact:

Re: [0.13] Tagging trains using signals

Post by siggboy »

I think the tagging information should be sent (and read) through the rails, and not the train station. The cargo contents and other train status info should also be read through the rails.

That would make it even independent of a train station at all, and the train stations could keep their current behaviour, where the only write connection is for the leave condition.

There's no reason not to allow arbitrary signals as the train tag. If you only need a simple case (like "S=<n>") nothing would stop you from doing that, but you could also tag with arbitrary signals like a cargo type that you desire to pick up, or a "next hop" destination that you want the train to take.
Is your railroad worrying you? Doctor T-Junction recommends: Smart, dynamic train deliveries with combinator Magick
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: [0.13] Tagging trains using signals

Post by ssilk »

siggboy wrote:I think the tagging information should be sent (and read) through the rails, and not the train station. The cargo contents and other train status info should also be read through the rails.
Makes sense. So you can read out also trains at highest speed. Control switches for high-prio trains and such cool stuff.
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
siggboy
Filter Inserter
Filter Inserter
Posts: 988
Joined: Tue Mar 29, 2016 11:47 am
Contact:

Re: [0.13] Tagging trains using signals

Post by siggboy »

I think Nexela is already working on a mod for making the rails circuit-connectable. This and other features should be part of that mod, then we'd have a proof-of-concept for the devs and also something to actually use in our games.

Having connectable rails opens up so many possibilities, I'm a bit astonished right now that it was not used more in 0.12 already (with a mod).

Just a short list of some of the applications for this (in real games, where it makes a difference):
  • Tagging trains with arbitrary signals (idea from this thread); opens up many possibilities for advanced train scheduling
  • Reading cargo contents; applications for this should be obvious
  • Presence of a wagon (even if cargo is 0); allows you to deduce the train length
  • Presence of a locomotive; this can also be used to count passing trains, i.e. train throughput
  • Fuel content of the locomotive (in MJ, like SmartTrains reports it); this can be used to make refueling solutions (right now it's difficult due to the limited train scheduling, however)
  • Presence of a passenger (player) in the locomotive; this could be used to make a shuttle/taxi train depart automatically as soon as the player enters
  • Changing schedules of the train, putting it on different lines (this would require extensions to the current scheduling)
There's possibly more.

Probably we should make a separate thread for this idea (making rails connectable).
Is your railroad worrying you? Doctor T-Junction recommends: Smart, dynamic train deliveries with combinator Magick
Post Reply

Return to “Ideas and Suggestions”