Satisfactory

Satisfactory

View Stats:
Mr.America Nov 28, 2024 @ 4:39am
Train Priority behaviour?
I'm currently pondering how to streamline my trainnetwork and wanted to ask a question:

If I have multiple trains requesting the same or partially the same paths across a network, how will they set priority? Highest waittime since request? Something else?

I have a whole lot of stations and 1/2 very long rails going around the whole thing. Imagine two rings, with stations between the rings. I was wondering if I could just set path signals at all the entrances TO the rings and stop signals at all exits/station entrances, so individual trains would travel the long sections at top speed, load/unload at stations, be idle while requesting the express line around the ring, then travel the ring sections at top speed again, but that would pose the question if some trains might just idle forever, while other trains transport empty freight wagons due to production shutting down because of idle trains.
< >
Showing 1-8 of 8 comments
Vectorspace Nov 28, 2024 @ 4:46am 
I think it's first-come, first-served. If 2 trains wait for access to the same block, whichever started waiting first will go first.
Last edited by Vectorspace; Nov 28, 2024 @ 4:48am
Huren Ogeko Nov 28, 2024 @ 5:58am 
As far as I have seen there seems to be a queue when a train is waiting to enter a block. so as soon as a train enters the block before it gets added to the queue of the next block it wants so if there is a long stretch of track leading up to that block the train could get in the queue pretty early were another train with only a short block leading up to it might have stop at the signal first and still wait for the train that hasnt even arrived yet.

So the key is the train reserves the next block but only the next block. This way you can make a little bit of priority for one track by making the block leading into it alot longer.

Reading more into what you are trying to do. if those rings are long then this might cause a problem in that if any train is on the part of the ring another train wants that part will be unavailable until that train completes its run and leaves that part of the ring. The way path signals work is the entire path must be free and not reserved for any other train, then and only then will that train reserve ever segment of the path it wants and then no other train can use those segments so long as they are reserved even if it takes a very long time for the train to get through its path.
Sop essentially you may be reserving alot of track well in advance of actually it needing it by the train. The trains who have access will probably go at full speed at the cost of other trains having to wait even though the part of track is probably empty at the moment and might have otherwise been able to get on the loop well ahead of the other train.
Last edited by Huren Ogeko; Nov 28, 2024 @ 6:05am
Mr.America Nov 28, 2024 @ 7:23am 
Originally posted by Huren Ogeko:
As far as I have seen there seems to be a queue when a train is waiting to enter a block. so as soon as a train enters the block before it gets added to the queue of the next block it wants so if there is a long stretch of track leading up to that block the train could get in the queue pretty early were another train with only a short block leading up to it might have stop at the signal first and still wait for the train that hasnt even arrived yet.

So the key is the train reserves the next block but only the next block. This way you can make a little bit of priority for one track by making the block leading into it alot longer.

Reading more into what you are trying to do. if those rings are long then this might cause a problem in that if any train is on the part of the ring another train wants that part will be unavailable until that train completes its run and leaves that part of the ring. The way path signals work is the entire path must be free and not reserved for any other train, then and only then will that train reserve ever segment of the path it wants and then no other train can use those segments so long as they are reserved even if it takes a very long time for the train to get through its path.
Sop essentially you may be reserving alot of track well in advance of actually it needing it by the train. The trains who have access will probably go at full speed at the cost of other trains having to wait even though the part of track is probably empty at the moment and might have otherwise been able to get on the loop well ahead of the other train.

Yeah I'm aware of the reservation behaviour. At the moment I have it broken into a lot of segments, all properly signaled, but the "express lane" is not fast at all, because sometimes the stop and path signals had to get very close, so the train enters the pre-path signal area, brakes, calculates the path ahead, then accelerates again, even if that path is entirely free, simply due to how the path reservation works, e.g. it only checks once it enters the pre-path signal block. Thus I'm considering simplifying the actual express lane and do what I outlined already.

I hope it is as vector describes, that would make a lot of things easier.

I wonder if I place path signals along the express lane if it'd speed up the process in the new theoretical signaling system.
Last edited by Mr.America; Nov 28, 2024 @ 7:24am
Eiko Nov 28, 2024 @ 8:21am 
Putting a bunch of path signals on a mainline would likely make it slower. Or at best be no faster than normal blocks. Normal blocks don't queue.* Only path blocks do. Normal blocks also default to green, so trains won't start slowing when you have two signals close together.

Path blocks are for intersections and merges. If you want to prioritize the mainline when merging in from a station, all you can do is make a very long block before the merge.

*Except: if a normal block comes after a path block, any train that successfully reserves a path through the path block into the normal block will reserve the normal block at the same time.
Huren Ogeko Nov 28, 2024 @ 8:45am 
This is one reasonj I try to avoid path signals whereever I can. because a path signal the default is red where a block the default is green. So the path will slow things down if you dont have a long block leading up to the path signal. Most if not all of my intersections are created with blocks rather than paths because they are small enough where it doesnt matter if more then one train can be in the intersection at a time and the benefit of not having trains slow down as they approach is nice.
I reserve path signals where the intersection is very complex with multiple non-conflicting paths in and out exist. A simple round about is not worth it when I can put blocks between each junction around the round about and accomplish the same thing. or int he case of small round about treat the while thing as one block as the trains will spend only a minimum amount of time on it anyhow.

in either case your express rail line should have longer blocks then your normal line. I would make the blocks as long as you can so long as it doesnt create congestion problems. better yet any express lines shouldnt even interact with normal rail traffic at all if you can avoid it.
Last edited by Huren Ogeko; Nov 28, 2024 @ 8:47am
Mr.America Nov 28, 2024 @ 11:49pm 
Ok, so this was a bad idea: As intended, trains will idle for a long time in stations or at entrances to the express lane, BUT, and that is really annoying, when trains idle too long, they throw an error and seemingly get removed from the queue entirely. In the end only a handful of trains still move around, move into stations/entrances to the express lane, request a path and get priority over idle trains that have thrown an error.

Pity, because while it was working, it was nice to look at.
Your strategy will work perfectly fine if you just break the rings up into small segments to allow multiple trains to run at the same time.

Use block signals every 24 foundations or so.
Eiko Dec 1, 2024 @ 8:51am 
Trains 100% will continue automatically even after they start blinking yellow for a long signal delay. I've seen that happen hundreds of times and never seen one not start again once the signal finally turned green.

However there is a bug with path signals where sometimes a train that has recently switched from manual mode to automatic driving will fail to request a path and get stuck at a red signal forever. In that situation it's enough to just toggle manual drive on and then back off.
< >
Showing 1-8 of 8 comments
Per page: 1530 50

Date Posted: Nov 28, 2024 @ 4:39am
Posts: 8