Author Topic: One train staff and rail/road crossings  (Read 298 times)

0 Members and 1 Guest are viewing this topic.

Offline Jando

One train staff and rail/road crossings
« on: June 26, 2017, 11:15:49 AM »
Greetings! :)

A train picking up a staff for a one-train staff section of track will also block all road/rail crossings on that track, essentially stopping all road traffic until the train has passed said crossings. That behaviour can be observed on this saved game: http://files.simutrans.com/index.php/s/VkFQYzoRWpouAmT

How to observe:

Load saved game, hit pause. You see train #10 pulling into a passing loop. At the southern end of that loop the train will pass a one-train-staff cabinet and will correctly reserve the remaining track in one-train staff method. A number of road/rail crossings have been built on that track leading south (for testing purpose only). When the train reserves the track ahead all crossings will change to closed and will stay closed until the train has passed the crossing.

Thanks!

Edit: Same happens on tracks with token block method,
« Last Edit: June 27, 2017, 11:59:46 AM by Jando »

Offline jamespetts

  • Simitrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 15419
  • Total likes: 376
  • Helpful: 171
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: One train staff and rail/road crossings
« Reply #1 on: June 28, 2017, 11:03:05 PM »
Thank you for your feedback. This is a difficult issue to deal with, as it would require a whole new, and really quite complex, layer of simulation layer of signalling for level crossings to deal with.

Currently, level crossings are directly tied to block occupation: the crossing is clear if the block is not reserved, and closed to road traffic if the block is reserved. This means that, for persistent reservation systems such as token block or one train staff, the level crossing is blocked to road traffic for long periods.

There have in the past been requests for a new simulation layer for level crossing signals, and it may well be worth considering this at some stage, but the signalling system is already extremely complex, so adding this would require a very large amount of work.

The current development priority is balancing, so this is not something that I am in a position to do in the short term. However, if anyone else would like to have a go at adding a system for simulating level crossing specific signalling (based on real life practice, which would need to be researched first), then I should happily integrate it.

Alternatively, if there are any suggestions for a very simple (possibly interim) solution that would not take more than an hour or two to code and that is closely based on real life practice, then I should be interested, as I can see that this is a potentially difficult problem for players who use level crossings with one of these working methods.

Sadly, with limited coding resources, difficult choices sometimes have to be made at least within a given time period, and the priority at present really must be balance.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Offline Jando

Re: One train staff and rail/road crossings
« Reply #2 on: June 29, 2017, 08:28:38 AM »
Thank you for your answer, James, much appreciated.

Edit: Though I'm not quite sure whether your explanation is correct here. I know, it seems impossible. :) But I can see level crossings that are open although the track is reserved. To me it seems more that the crossing is closed when a block is reserved by a train but the crossing is opened when a train has passed (I assume there's some proximity mechanic). In these cases the crossing stays open although the block stays reserved. And the train on it's return trip will close the crossing by proximity too.

To me that almost sounds like a working mechanic (proximity) already exists. We just need to tell trains not to close crossings when they reserve a track block. :)
« Last Edit: June 29, 2017, 09:09:40 AM by Jando »