Incoming Train Alert

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
AntiBlueQuirk
Long Handed Inserter
Long Handed Inserter
Posts: 61
Joined: Wed May 03, 2017 2:57 pm
Contact:

Incoming Train Alert

Post by AntiBlueQuirk »

What?
An alert should appear on tracks near the edge of the screen when a train is going to passing through soon. Probably based on the train's braking distance.
factorio-train-warning.png
factorio-train-warning.png (578.9 KiB) Viewed 6094 times

Engimage
Smart Inserter
Smart Inserter
Posts: 1067
Joined: Wed Jun 29, 2016 10:02 am
Contact:

Re: Incoming Train Alert

Post by Engimage »

Currently you have an option to place signals along tracks. And a signal will turn yellow if there is an incoming train (within breaking distance) so you got some time to react.

You can also look for pedestrian crossing designs here on forums if you wish to create a safe crossing for yourself. This is created using connection of gates and signals and will let you cross train tracks in specially constructed spots.

JohnyDL
Filter Inserter
Filter Inserter
Posts: 533
Joined: Fri May 16, 2014 3:44 pm
Contact:

Re: Incoming Train Alert

Post by JohnyDL »

run a set of lights down the block from each of the signals setting the colour red/yellow/green every 16 tiles to make them really pop out rather than squinting at signals

I demonstrated on a smaller section of track

Image
Image

AntiBlueQuirk
Long Handed Inserter
Long Handed Inserter
Posts: 61
Joined: Wed May 03, 2017 2:57 pm
Contact:

Re: Incoming Train Alert

Post by AntiBlueQuirk »

The tracks on the image I posted actually do have signals, I just didn't consider them important to the image. But they don't really fix the problem, unless you really want to squint, or lay down lots of signals, as JohnyDL shows. Safe crossings can be very effective (I have a design in my book, as well as a few in our base), but they can't be everywhere on your track. (I suppose they could, if you really wanted, but I'd rather not.)

My issue is that the player can be denied information, especially if zoomed in, that would otherwise be available to the character. As a character, it would be easy to look toward the horizon down the track to see if there is an incoming train, but as a player, even when zoomed out, you get at most a moment of warning that a full speed train is headed down the track. The visible warning would provide a slightly larger window of safety, and would also have the advantage of attracting the player's attention.

JohnyDL
Filter Inserter
Filter Inserter
Posts: 533
Joined: Fri May 16, 2014 3:44 pm
Contact:

Re: Incoming Train Alert

Post by JohnyDL »

after coming up with the prototype I posted above I discussed it on a discord server the lights only need really to be 8 or 16 tiles or so apart not 2 or 3. and lights really aren't that expensive the expensive part is laying down all the circuit network stuff before bots. in terms of energy requirements the lights work out at some ridiculous number per mega watt especially if you turn them off on the peripheries of the network with more signal controls or turn them off entirely when they're green.

But actually what is needed is sound, IRL if there's a train 100m away you'll hear a rumble if it's 20m away you know it's too damned close just by sound and the way the sound Doppler effects you end up knowing without vision in a much more visceral way you kind of feel it in you instinctively, this wouldn't work for everyone and the pointing out it's coming might be a deaf accessibility feature.

The problem is you don't really learn in the same way or have the same danger awareness with a video game as you would if a car was there while crossing a street.

Koub
Global Moderator
Global Moderator
Posts: 7175
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Incoming Train Alert

Post by Koub »

I'd love the sound of a train horn when inside the limits of the braking range radius.
That sounds awfully non understandable. In case I'm not clear : The trains should horn and be audible by anywho is close enough of the trach, and in the track section where a train could not brake before hitting the player.
Koub - Please consider English is not my native language.

AntiBlueQuirk
Long Handed Inserter
Long Handed Inserter
Posts: 61
Joined: Wed May 03, 2017 2:57 pm
Contact:

Re: Incoming Train Alert

Post by AntiBlueQuirk »

I would definitely be fine if the warning flag came with an auditory warning. That would solve the "trains are silent ninjas of death" problem, though I think the flag is still necessary so the player actually knows where the train is coming from.

JohnyDL
Filter Inserter
Filter Inserter
Posts: 533
Joined: Fri May 16, 2014 3:44 pm
Contact:

Re: Incoming Train Alert

Post by JohnyDL »

*Noop Nooooop* I'm going to hit you if you try crossing the track, I just can't stop in time *Noop Noooooooop*

xD

But I figure that's a bit intrusive if you're in a high traffic zone, 10-20 trains a minute going past and honking at you, so maybe an upper limit to the amount of times you get honked at? Though I still like the idea of the rhythmic cl-click cl-click of the trains being there from 100 tiles away and it ramping up to a medium-loud rumble if it's within 20 tiles then at 5-10 tiles it honks at you for getting stupidly close

Directionality can be done kind of sneakily by twisting the direction of stereo sound, as it is at the moment you're fine E-W, and could probably work it out NE,SE,NW,SW by looking at the track but if you twist the whole sound directionality by only a fraction maybe a 5 degree tilt your brain would instinctively be able to work out N and E too because the sound is mostly the same but going N it's ever so slightly more in one ear than the other, you wouldn't notice it consciously but after a few trains go past you'd be able to pick it up (you might even notice when you're wearing your headphones in the wrong ears *I thought that train was north not south*

AntiBlueQuirk
Long Handed Inserter
Long Handed Inserter
Posts: 61
Joined: Wed May 03, 2017 2:57 pm
Contact:

Re: Incoming Train Alert

Post by AntiBlueQuirk »

JohnyDL wrote: But I figure that's a bit intrusive if you're in a high traffic zone...
It doesn't necessarily have to be a "noop noop" sound. I personally would prefer something more subtle, like current warning sounds. Clickity clacking would be a good choice too, and would add a bit to the environment of the game.
JohnyDL wrote:Directionality...
Yeah, that's why I suggested that the visual warning was necessary. I really don't think the stereo sound would be enough of a cue, especially for trains moving vertically. I can't imagine a good way to map NS sounds to LR stereo in anyway that isn't ambiguous or confusing. And stereo cues tend to get lost if you're not wearing headphones or have a lot of separation between your speakers. The average laptop user probably wouldn't be able to tell which direction a train was coming from most of the time.

Engimage
Smart Inserter
Smart Inserter
Posts: 1067
Joined: Wed Jun 29, 2016 10:02 am
Contact:

Re: Incoming Train Alert

Post by Engimage »

I do find a horn sound an interesting idea. But it should be executed only for players STANDING ON TRACKS where a train is going to go through. Not sure it this can be CPU intensive...

JohnyDL
Filter Inserter
Filter Inserter
Posts: 533
Joined: Fri May 16, 2014 3:44 pm
Contact:

Re: Incoming Train Alert

Post by JohnyDL »

if tile[player.location] is track
player.enable_train_sounds = true

for each player while player.enable_train_sounds
for each train
if (player.location-train.location)^2 <= train.stopping_distance^2)
then player.sound.push "train_noise.wav"


There's some pythag in there but there would be anyway for this idea to be useful, you only calculate on players that're actually on the tracks which reduces the amount of times the code has to run on multiplayer, if the tile under a player is tested at any point in the normal tick that addition might be negligible, but it's not super scaleable to multiplayer and lots of trains which is unfortunate.

Engimage
Smart Inserter
Smart Inserter
Posts: 1067
Joined: Wed Jun 29, 2016 10:02 am
Contact:

Re: Incoming Train Alert

Post by Engimage »

JohnyDL wrote:if tile[player.location] is track
player.enable_train_sounds = true

for each player while player.enable_train_sounds
for each train
if (player.location-train.location)^2 <= train.stopping_distance^2)
then player.sound.push "train_noise.wav"


There's some pythag in there but there would be anyway for this idea to be useful, you only calculate on players that're actually on the tracks which reduces the amount of times the code has to run on multiplayer, if the tile under a player is tested at any point in the normal tick that addition might be negligible, but it's not super scaleable to multiplayer and lots of trains which is unfortunate.
I am sure you can pick required info from rail block - if its yellow or red it should hold the data of what train is reserving a block. This will effectively reflect which train is within braking distance.

JohnyDL
Filter Inserter
Filter Inserter
Posts: 533
Joined: Fri May 16, 2014 3:44 pm
Contact:

Re: Incoming Train Alert

Post by JohnyDL »

PacifyerGrey wrote:I am sure you can pick required info from rail block - if its yellow or red it should hold the data of what train is reserving a block. This will effectively reflect which train is within braking distance.
Nice plan I'm beginning to think this is possible

Tekky
Smart Inserter
Smart Inserter
Posts: 1039
Joined: Sun Jul 31, 2016 10:53 am
Contact:

Re: Incoming Train Alert

Post by Tekky »

Related thread (with poll):

viewtopic.php?f=80&t=7717 Should it be possible for the player to be killed by a train?

AntiBlueQuirk
Long Handed Inserter
Long Handed Inserter
Posts: 61
Joined: Wed May 03, 2017 2:57 pm
Contact:

Re: Incoming Train Alert

Post by AntiBlueQuirk »

JohnyDL wrote:
PacifyerGrey wrote:I am sure you can pick required info from rail block - if its yellow or red it should hold the data of what train is reserving a block. This will effectively reflect which train is within braking distance.
Nice plan I'm beginning to think this is possible
Yeah, that's what I was thinking. The trains already have this information. You can even see the train braking distance in the F4 menu. My idea for an implementation was to take the braking paths of nearby trains, and clip them against the screen. Any paths that are left are trains the player might want to know about. Either put the warning where the path enters the screen (simple and quick), or at's nearest position to the player. (More complex, but potentially more useful.) I hadn't thought too much about the performance cost, but I think the engine already does a fair amount of this work anyway during the normal operations of trains. This kind of implies that train warnings would be client local, so other players wouldn't hear trains going "woop woop" for you, but I don't think it would be too big of an issue, especially since they'd probably get their own warning too.

Post Reply

Return to “Ideas and Suggestions”