An option should be added to signals so alternative routes can be
selected in the case one route is occupied. This can be used to spread
trains in terminal stations or to balance load amongs two tracks.
This is already supported by default fall-through behaviour. For
example, if you have a signal with two routes, each with * rule, and the
first route can't be set, the train will set the second route.
The problem would be that the alternative route is be chosen *only* when the other one is not available. By that time the line would already be jammed.
> This is already supported by default fall-through behaviour. For
> example, if you have a signal with two routes, each with * rule, and the
> first route can't be set, the train will set the second route.
no, it doesn't.
The system as it is designed now permits only for "waiting" for one
route at a time. It would require a change in update_route() to make an
useful "load balancing" approach possible. This is certainly one of the
things to do soon.
Along with this feature, it could be useful to add a priority system, to
prioritize routes/trains when multiple routes wait for the same section.
This could be very difficult though.