Junction lever radius

Jim,

so the US signals do not hold a train in the passing loop, untill the oncoming player service clears the single track section.

Is that what you are saying mate ?

regards,
Mike.
 
No, that part is fine, an AI comes up to a red signal and stops just like he's supposed to. Problem is there are two reasons for any signal to be red - BLOCK OCCUPIED and ROUTE NOT SET. The AI comes up to any signal guarding a trailing point switch, sees the signal is red, and throws the switch so he has ROUTE SET and has eliminated one of the possible causes of a red signal. Then he sees the signal is still red, BLOCK OCCUPIED, so he sits there waiting for the block to clear - but he holds the switch in the ROUTE SET position, now the approaching player gets ROUTE NOT SET because the facing point (for him, for the opposing AI it's a trailing point) is set the wrong way and can't be changed without giving a STOP command to the AI holding the switch. Aside from this one glitch, the AI in TS2010 is the most intelligent I've seen, and if it's two AI trains instead of AI and player they do sort it out on their own, the stopped AI will release the switch to the approaching AI.

Workaround I have at the moment;

10920536.jpg


Player coming from left lower track (right hand running here in Yankee Doodle land) AI coming from the right upper track. Player hits trigger radius for T1, which causes the signals at S1A and S1B to go red. AI train coming from the right upper sees the trailing point ahead of him, and if it's not already ROUTE SET he throws that switch and locks it. Since he only does that one trailing point switch at a time, the extra switch (yellow spur) is the one he holds and locks, leaving the exit from the single track unlocked. Once the player leaves the trigger radius that clears S1A and S1B, so the signal at S1B goes yellow, causing the AI to start moving again and he throws the switch to the single track.

It works, but it's clumsy, takes a lot of measuring to make sure the trigger radius doesn't overlap the signals it controls yet it has to be large enough that the player doesn't leave the trigger radius until he's already at the exit switch, otherwise the AI will throw and lock the switch in his face. I was hoping for something simpler, if the switches themselves could be interlocked it would save a lot of tedium setting up triggers for the session. Anyone know what the max radius of a trigger is? My current test route I have one up to 450 meters, I haven't been able to find any info on what the limit is.
 
Justin, forgot you;

"that kinda defeats the point of the passing sidings doesn't it? it basically puts the player train at the lowest priority too"

Correct and correct, it's a hell of a way to run a railroad, which could be eliminated with that one additional conditional AI logic. "Release junction" isn't really what's needed, giving him a command to release every single trailing point junction he comes to shouldn't be needed since he really only needs to release a junction if there's an opposing player train approaching, he doesn't need to do it every single time at ever single trailing point. And even that doesn't work unless I'm using it wrong, gotta keep in mind I'm a Trainz newby so it's entirely possible I'm setting these things up backwards or something.

As for priority the player is already AT the lowest priority for some reason, even if you set his priority to 1. Take a look at my MSTS PO&N or Phil's Trainz PO&N, it's first come first served when the conflict is between two AI trains, but between player and AI the player gets the red and the AI gets the green if both arrive at the same time. Whole point of all this is to make it more prototypical without too many unrealistic workarounds.
 
Jim,

still don't get the reason for using that trigger. The signal scripting should be intelligent enough to control access to the single track section and stop head on meets.

I have a very similar situation at the begining of a route that i am working on with a mate. But using the BR\WR semaphore signals that were released as freebies by the SnC package group. I do not get the same problems that you are having, Jim.

What route are you using mate ?

regards,
Mike.
 
Assorted test routes I'm making myself. To clear up one possible source of confusion, we're not talking about structured sessions with timed meets, for those the player or AI is scheduled to pass these single track sections at a specific time, if you set up the timings and keep exactly on schedule you don't actually need signals at all. This is for random meets when the player is doing switching and way freight tasks, which are not actually "scheduled" since switching (shunting) takes however long it takes and the dispatchers sandwich those movements in "on the fly" wherever a gap in the traffic is available. Not used in most parts of the world these days from what I hear, but 40 years ago the Belt Railway of Chicago and Indiana Harbor Belt Railway did a lot of this stuff - today I pull 6 loaded boxcars out of Brachs Candy heading for Proviso, dispatcher sandwiches me between the 9:15 commuter and the Pacific Fruit Express, next January the same movement requires 3 hours of blowtorches, sledge hammers and crowbars to get the ice off the switch so I can get into Brachs. Then the brakes on two of the boxcars are frozen. :'( After that I call the dispatcher and he sends me to follow the 12:30 westbound but if you can't get there by 12:45 and get up to track speed you'll need to hold for the Omaha 400.

Most of the time this isn't really a factor, if the AI and player happen to meet somewhere in the middle of a doubletrack section there's no potential conflict. If the AI arrives at the single track section first, the player gets a red on the trailing point and stops, waits for the AI to clear, then goes. This is for those rare occasions where the player is already in the single track block when an AI train comes from the opposite direction;

20561592.jpg


That's what happens without triggers or extra switches, the AI does indeed stop at S2 like he's supposed to, but he sets that switch for the upper track and locks it - now the player, who's supposed to pass on the lower track, can't get to the lower track since the AI is holding the switch locked.

To test this you have to have a double - single - double track section like that, drive the player train onto the single track section, stop and wait for the AI to pull up to S1 and stop. Like I say it's not a common situation, so to duplicate it you have to set the conditions player already on single track, AI approaching from the other direction.
 
Jim,
Just digging into all this deeper myself. Could you place a trigger at the facing point of S1 and S2 on the single track section and have it control the junctions?

A train leaves the passing siding at S1 headed to the right. It hits a trigger immediately to control the junction S2 and the junction heading into that passing siding further to the right. Same for a trigger at S2 but going left. In other words the first to hit the single track controls the passing siding he's headed toward.

Would that trigger over ride the AI holding the switch? If the AI hits the single track first, going to the left, it will lock S1 anyway, but a trigger just on the single track to the left of S2 to route you into the siding to the left of S1 might be more realistic and avoid the stand off before it happens.

Hope that makes sense. Like I said, just getting into this part of the game.

Dave.....
 
Jim,

some pics of single track to double track operation, working flawlessly in TS2010.

I am controlling the player train, the train waiting to enter the single track section, which is over 3 miles long is AI controlled.

The AI has not locked the junction and i do not have to manually reset the junction after running through it, to let the AI proceed.

It`s all controlled by the in game logic, except the player train. ;)

IsambardKingdomBrunel_20100902_0000.jpg


IsambardKingdomBrunel_20100902_0001.jpg


IsambardKingdomBrunel_20100902_0002.jpg


IsambardKingdomBrunel_20100902_0003.jpg


IsambardKingdomBrunel_20100902_0004.jpg


IsambardKingdomBrunel_20100902_0005.jpg


Mike.
 
That's similar to my workaround, the only difference is in picture 3 you can see that the AI is stopped at the signal, beyond that signal is a (for him) facing point switch, then the trailing point which is the player's facing point. He's not locking the switch you need because he's locking the one before that, they only lock one at a time.

Sparky, AFAIK the triggers control only signals, they won't control switches. If they COULD control switches then you could use them for interlocking the switches themselves and eliminate the extra switches. That's the problem here, they control the signal perfectly and set it to red so the AI train stops, but the AI wants to know why the signal is red so he throws the next switch ahead of him beyond the signal in case it's red due to ROUTE NOT SET. In Mike's example it's a facing point, in mine it's the extra trailing point, part 14 of this;

http://trains.0catch.com/tutorial.html

Suggests fake or invisible switches but if you're going to have branchlines, yards and spurs for the player coming off of the mainline you might as well use actual switches.

As for the triggers, my initial experiments used one trigger at each end with the default radius, but what I found there is the last car of the player train passes beyond the radius of the trigger and that releases the signal. Which wouldn't be a problem because the signal would still be red if it was the first signal before the junction, but it's the next one up the line with this kludge.
 
[edit] Snipe posted while I was typing, so some small repetition here...[/edit]

I have been following this thread with interest...

IKB - in the example you give everything works, but if you complicate the track like so...

sxigtest.jpg


...with the AI controlling the far train and the player controlling the closer train, then the AI has locked the far junction and without some kind of rule intervention, the session is in effect broken. If however the AI controls both trains, a resolution is found within seconds.

My preference would be to issue a 'Release Junction' command, but I would not write it into the driver commands at the start of the session, I would simply edit it into the AI Driver's command list on an as-required basis...

Andy :)
 
It occurs to me that in the case of two AI trains the AI knows there is a conflict over the junction and resolves it. In the case of a player controlled train though the AI is blissfully unaware of the intended route of the player train and therefore does not resolve the issue because from the AI's perspective there is no issue to resolve.

The functional drawback of the 'Release Junction' command is that the player must establish which AI driver has locked which junction, then transfer into the cab of the offending AI train before issuing the command. Either that or the equally tedious method of writing a 'Release Junction' command into the driver command queue for every instance in which a junction could be locked.

What is needed is a command that can be given to the Player's Train which scans ahead, locates the locked junction and acquires it. In effect a command that draws the AI's attention to the fact that a conflict exists.

All of which is easy from the comfort of my arm-chair, but if any script-savvy types are perusing this thread (Hi Justin!) it would be one of the best rules/commands/whatever ever written...

Andy :)
 
Yeah, I've seen those short spurs near passenger stations on a lot of European routes, some places on Rapid Transit routes (elevated - subway, what you call the underground) over here they have those for storing cars between runs. Funny thing is I just tried it and it don't work with a facing point;

39181481.jpg


That's without using a trigger, the player is already on the single track section but he throws both switches and the near one is locked to his side. Dunno if that's because of the facing point instead of trailing point or the lack of a trigger, have to try variations on that next. Altho I'm taking a break for now, got six zillion repaints hanging fire that I also need to finish and upload, no rest for the wicked. :sleep:
 
Missed that one Dermmy, we're simo-posting here.

"equally tedious method of writing a 'Release Junction' command into the driver command queue for every instance in which a junction could be locked."

I did try that, give the AI driver (spawning from a portal, possibly that makes a difference) the "Release Junction" command for every trailing point junction between him and his destination, it has no effect that i can see, he still locks the switch.

As for the logic, the simplest solution would be to add one more bit of intelligence to the artificial intelligence, conditional IF THEN ELSE basic programming;

Signal STOP
Check ROUTE SET
Throw switch, signal still at STOP, BLOCK OCCUPIED
Throw switch back again, WAIT two minutes before trying to check ROUTE SET again.

That's all it would take, rather than having them unrealistically wait two minutes at every trailing point switch or using all these kludges just have him reset the switch and wait before trying it again.
 
I played around a bit this afternoon with it. I used junction controllers to set up the passing siding where one switch thrown for the main throws the opposite for diverge. The AI throws the first switch on it's way in causing the opposite to throw towards the passing track. Both switches opposite each other.

For some reason, worked like a charm for the first train through. I sat there with a diverge signal without the AI holding the switch, sitting at a red. Once I cleared through, the AI threw the switch back to the main, causing the trailing switch to line me up back to the main on the other end.

After that it got screwy for the second passing siding. I did it on one board so I think distance has something to do with it for sure. If you want I'll put the CDP up over at Trainsim. Can't post attachments here. I was getting frustrated but did get one to work. I also used Searchlight signals from Jointed Rail. Couldn't get the built in ones to work with it.

Dave......
 
Try www.humyo.com, set up a free account and after uploading your file you can just paste a link like this;

http://www.humyo.com/FChMvwQ/yardwork.cdp?a=BqD12oJ4mUU

That works in any forum and ain't limited to 100 kilobytes. :cool:

As for Justin's signals, I like the way they look and like the way they work, but when I do upload an actual route I don't want the end user playing "hunt the KUID" so whatever I use has to be available on the download station along with all dependencies. Best I recall they're still in beta anyway, Justin are you planning on uploading those at some point?
 
Missed that one Dermmy, we're simo-posting here.

I did try that, give the AI driver (spawning from a portal, possibly that makes a difference) the "Release Junction" command for every trailing point junction between him and his destination, it has no effect that i can see, he still locks the switch.

Silly post of mine actually, the result of early morning pre-coffee forum scanning, because I already know that the 'Release Junction' command only releases the junction for an instant. Long enough for an opposing train to grab the lever and go, but if there is no opposing train at the instant the command is executed, then the junction is re-locked by the AI train. Despite my Clovis Sub sessions being entirely AI driven a junction-lock standoff does very occassionally brings things to a standstill at the ends of the single-track sections. It doesn't happen often enough to constitute a valid sampling of AI behaviour, but I have had to use the 'Release Junction' command two or even three times in rapid succession before the other train gets away.

I agree that a re-rite of the basic AI logic so that the AI train stops at a red signal, attempts the lever then releases it if it is unable to also acquire the next lever in advance seems simple. We have been waiting for Auran/N3V to get to that one since 1.3, so I suspect we are in the hands of 3rd party help...

Andy :)
 
Last edited:
Off Topic

I don't want the end user playing "hunt the KUID" so whatever I use has to be available on the download station along with all dependencies.

[off topic]I used to be paranoid about the same issue. I now include a comprehensive list of non-DLS links with my routes. About 98% of folks get everything, the other 2% are easily fixed, cause I already have all the necessary links ready to copy/paste into emails/forum posts. I honestly wouldn't sweat it too much, specially for splendid content like Justin's signals...[/off topic]
 
Well, it's not actually paranoia, it's a matter of pride in workmanship. No offense to any of these guys who won't upload to the download station, I fully understand and sympathize with their reasons. But I've been making addons for computer games since the days of DOS and Dinosaurs, and my goal has always been simple foolproof dummy friendly installation that a five year old can do without help. To me "hunt the KUID" is an idiotic game and I just won't play it.

http://forums.auran.com/trainz/showthread.php?t=61258

Beautiful model, but you'll never see a reskin of it from me unless all the dependencies for the reskin are on the download station and will get downloaded automatically with the reskin. Again, no offense to anyone, they don't want to upload their dependencies it's their choice, but if it requires hunt the KUID I won't reskin it, that's my choice.
 
http://www.humyo.com/FWWLzyy/Junction Test.cdp?a=kEYm678b2Dw

Alright, for the purists I changed to built in signals:D

What it is, a simple horse shoe with two portals and two passing tracks. AI running from portal 2 to 1 at 3 minute intervals.

Just sit and wait for the first, it will come into the siding on the main, tripping your switch giving you a diverge. It never takes control of the switch in front of you. Even after it stops, you have full control of the switch.

Pull onto the passing siding just short of the red and wait for the second AI. Once it clears the other siding, it will lock the switch in front of you giving you a red, and pass right on through, no problem.

Pull out on the main and head for the next siding, just stay short of the diverge signal. Another AI will enter into that siding and lock everything up. Pull forward past the signal and clear the switch on the same track as the AI without coupling to it and wait. The next AI will zip right around no problem, taking the passing siding.

So far I can only get it to work on the first siding one way. If I add a second controller so both switches are controlled, the AI will only want to take the passing track. If you are on the siding waiting, the AI pulls up to the diverge signal, throws the switch, moves forward a bit, throws the switch the other way, stop, repeat for about 6 tries and quits. It will not take the main, even with priority markers.

Can't figure out why it only works partially. Try setting it up both directions and it all spazzes out.

Dave......

Oh, and I did it in 09 with all default trying the signaling out.
 
Last edited:
Back
Top