Safety at level crossings
Moderator: OpenTTD Developers
Safety at level crossings
Level crossings (or grade crossings, for Americans) are perfectly safe. For trains.
For road vehicles, they aren't safe at all. One level crossing on a bus route can wipe out all the buses that use it if there is a train running on the line.
Part of the problem is the relative speed of road vehicles and trains, coupled with the timing of the crossing signals. The signals only close the crossing to road traffic once the train enters the tile adjacent to the crossing. If a road vehicle has started to cross, it will not usually have time to clear the track before the train hits it - especially high speed trains and maglev missiles.
My first suggestion is that the level crossing should close to road traffic when the train enters the signal block in which the level crossing is located (as they do in real life). This allows rail operators to increase safety by making sure that signal blocks are long enough, given the speed of the train, to close the crossing in time.
In order to encourage rail operators to do this, I would suggest that there is some penalty for rail operators when they are involved in a collision. At the very least, the train should stop (break down) in the event of a collision. Notwithstanding the USA's very heavy quad-loco two-weeks-without-stopping freight trains where the driver may well be asleep in his bunk, trains will stop in the event of collision with a road vehicle, if only to assess the safety of continuing.
It might also be an idea to give a ratings hit to the rail operator.
One problem that needs designing out is what happens on a line which is entirely made of one signal block, where the train will always be present. Perhaps a fall-back to current behaviour, where the penalties of a collision will encourage the owner of the rail line to add some two-way signals for level crossing control purposes.
For road vehicles, they aren't safe at all. One level crossing on a bus route can wipe out all the buses that use it if there is a train running on the line.
Part of the problem is the relative speed of road vehicles and trains, coupled with the timing of the crossing signals. The signals only close the crossing to road traffic once the train enters the tile adjacent to the crossing. If a road vehicle has started to cross, it will not usually have time to clear the track before the train hits it - especially high speed trains and maglev missiles.
My first suggestion is that the level crossing should close to road traffic when the train enters the signal block in which the level crossing is located (as they do in real life). This allows rail operators to increase safety by making sure that signal blocks are long enough, given the speed of the train, to close the crossing in time.
In order to encourage rail operators to do this, I would suggest that there is some penalty for rail operators when they are involved in a collision. At the very least, the train should stop (break down) in the event of a collision. Notwithstanding the USA's very heavy quad-loco two-weeks-without-stopping freight trains where the driver may well be asleep in his bunk, trains will stop in the event of collision with a road vehicle, if only to assess the safety of continuing.
It might also be an idea to give a ratings hit to the rail operator.
One problem that needs designing out is what happens on a line which is entirely made of one signal block, where the train will always be present. Perhaps a fall-back to current behaviour, where the penalties of a collision will encourage the owner of the rail line to add some two-way signals for level crossing control purposes.
PGP fingerprint: E66A 9D58 AA10 E967 41A6 474E E41D 10AE 082C F3ED
And if someone is coding this... please code an optional mute on those *!$"£$!&* level crossing sounds. It drives me potty... to the point of removing the road and placing signals to block its regrowth!
BTW great idea, Brianetta.
BTW great idea, Brianetta.
OTTD NewGRF_ports. Add an airport design via newgrf.Superceded by Yexo's NewGrf Airports 2
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Another nice thing would be if adjacent level crossings all were turned on at once, so the road vehicle won't be stuck between two tracks.
Rail: |
Crossing: +
Road: -
So if a train is causing crossing 1 to go red, then crossing 2 and 3 should too. Makes it more realistic. Quiestion is if the road vehicle should stop between two tacks as it does now, or try to race to the outside.
Rail: |
Crossing: +
Road: -
Code: Select all
123
|||
-+++-
|||
Well, if it was going to show realism, those three crossings would be one big one. Any crossing that takes two or three real-time seconds to cross is going to be difficult to make safe, because the train will arrive within that time. In real life you often have minutes, not seconds.
PGP fingerprint: E66A 9D58 AA10 E967 41A6 474E E41D 10AE 082C F3ED
Perhaps have it like those sunk ship stickers on submarines... nice silhouette of a lorry with a big red cross through itMoriarty wrote:But wouldn't this remove the whole point of road vehicles? I mean they are only in the game as train-fodder right![]()
Maybe they should give trains an award at the end of each year for most vehicles destroyed. I think that would be a nifty feature. heh


OTTD NewGRF_ports. Add an airport design via newgrf.Superceded by Yexo's NewGrf Airports 2
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
Want to organise your trains? Try Routemarkers.
--- ==== --- === --- === ---
Firework Photography
I wanted to code a feature that prohibits road vehicles from entering the crossing if the truck could'n have left the crossing (traffic jam: true or faked by opponent). But I couldn't find anything about level crossings in the code so I aborted it.
Treat is as an idea, it would be thew first step to make RVs better and safer
Treat is as an idea, it would be thew first step to make RVs better and safer
Mine are never lost because of jams. They're lost because they were already on the track when the train set of the dingalings. At this point, the train is one tile away and often doing 140mph. The road vehicle has to do half of a tile and then one vehicle length at 60mph. The maths just don't favour the road vehicle.
PGP fingerprint: E66A 9D58 AA10 E967 41A6 474E E41D 10AE 082C F3ED
- White Rabbit
- Tycoon
- Posts: 1734
- Joined: 22 Jun 2005 19:15
Some good ideas here...I especially like closing all crossings if one turns red, so an RV won't get stuck. And hey, look at this: http://www-user.tu-chemnitz.de/~dou/ttd ... html#level
I haven't actually tested this in OTTD, but it works on single crossings, which is a start.
I haven't actually tested this in OTTD, but it works on single crossings, which is a start.
-
- Engineer
- Posts: 40
- Joined: 13 Apr 2005 19:40
That is really great. You can place the PBS block by yourself and figure out (with offcourse some sacreficeWhite Rabbit wrote:Some good ideas here...I especially like closing all crossings if one turns red, so an RV won't get stuck. And hey, look at this: http://www-user.tu-chemnitz.de/~dou/ttd ... html#level
I haven't actually tested this in OTTD, but it works on single crossings, which is a start.

Good find!
A real solution to the level crossing problems might be hard but until the problems get a real fix, what about a cheat option to remove all level crossing disasters? If the buses and trains simply flow through each other, it makes level crossings safe. Now, of course it's a cheat and needs to be labeled as such but at least it would probably be easier to write and so it could be integrated a lot sooner.
Here is a patch that makes the towns try to build bridges instead of level crossings. It should help against the towns killing busses.
It works like this: If the tile the town wants to build a road in does not already have any road pieces, it will check the next tile in the build direction. If the next tile is a railway tile it will try to build a bridge instead. The bridge length is determined by continue walking in the set direction until the current tile is neither a railway or road tile.
It works like this: If the tile the town wants to build a road in does not already have any road pieces, it will check the next tile in the build direction. If the next tile is a railway tile it will try to build a bridge instead. The bridge length is determined by continue walking in the set direction until the current tile is neither a railway or road tile.
- Attachments
-
- A bridge built by the city.
- city_bridge.png (71.43 KiB) Viewed 3544 times
-
- city_bridge2.diff
- The patch.
- (2.97 KiB) Downloaded 122 times
Last edited by egladil on 04 Jan 2006 20:47, edited 1 time in total.
Who is online
Users browsing this forum: No registered users and 6 guests