Problem with AI drivers: junctions set too late, after signal passed

msimo

New member
Hi everyone,

I've got a problem with the way my AI drivers behave. So does everyone it seems, so I'll be more specific.

The AI drivers often set their junctions up ahead too late, only when they are coming up close to them. If these junctions are initialy set the wrong way by chance, the signal protecting that block will give the wrong aspect, the train will proceed and only set the junctions later as they are approached. This will steer the train down a line that was never authorised by the signal, potentially leading to a collision.

Illustration (refer to diagram below):
- A loco at A has been asked to drive to B
- It sets junction 1, but NOT junction 2 (which by chance is initially set to the right)
- The line is clear all the way to C, so the signal goes green
- The loco passes the signal, thinking the way ahead is clear
- Part way between junction 1 and junction 2, it decides to set junction 2, to the left in order to get to B
- The loco is now driving along track it was never given clearance for, potentially causing a collision if there is already a train at B

C:\Games\TRS2006\Extras\Diagrams\JunctionSettingProblemDiagram.bmp


How can I prevent this from happening and force all AI trains to set ALL junctions in the next block before being cleared to proceed by the signal??

Thanks,
 
I think the problem here is that AI functionality does not go that far. You need to setup triggers and rules to avoid that kind of thing.
 
is this track an alternative route. if so A1 will use it. put a trackmark down and use drive via t\mark to make A1 go on the specific route.
 
Hi msimo,

Here is a suggestion. This is not proven, but may work for you.

I your Trainzoptions.txt, try adding this line.

-AutopilotSignalDistance=300

I use this setting in 2006. See if that makes a difference.

If you find some behaviour happening you don't like you can just delete it.

Alex

PS. I Think the default read distance in trainz is only 150 metres.
 
I think the problem here is that AI functionality does not go that far. You need to setup triggers and rules to avoid that kind of thing.

I thought that might be the case. This would seem to be a major stumbling block then, since one cannot place a signal in front of a facing junction on a bidirectional single line (otherwise you can get two trains heading towards each other), and yet you cannot guarantee that the signal upstream protecting that block was refering to the correct branch line when the train went past it.

There has to be a "standard" way to fix this? What's the best technique for ensuring that an AI train will always immediately set all the junctions in the next block for itself before it passes into that block?

Thanks! :confused:
 
Hi msimo,

Here is a suggestion. This is not proven, but may work for you.

I your Trainzoptions.txt, try adding this line.

-AutopilotSignalDistance=300

I use this setting in 2006. See if that makes a difference.

If you find some behaviour happening you don't like you can just delete it.

Alex

PS. I Think the default read distance in trainz is only 150 metres.


Thanks for that. I tried it but it didn't help. BTW, what is this distance you mentioned exactly? How close to a signal a train has to be before the driver sees it? The further the better...?

Thanks!
 
I think there is just a point at which they actually react to it. Trainz AI only understands 3 aspects, Green, Red and Yellow (Next Signal is Red), if they pass yellow then they proceed at half of designated speed for that area until they pass a Green signal. I've seen AI misjudge breaking on a grade, go past a red signal and just lock up, the train just proceeded endlessly at 5mph until I forced it to derail at a siding.
 
Hi
Changing the decel rate in the locos engine config file will make the loco stop much quicker which may help ?
PJ
 
Hi
Changing the decel rate in the locos engine config file will make the loco stop much quicker which may help ?
PJ

Thanks for the reply. Actually the problem isn't with the signals themselves nor the train stopping distance, but something else.

If an AI train sets junctions as it sees fit (just before it gets to them) (for example, say to the left), then how does it know what's coming up ahead, when the previous signal could have been referring to the right hand track instead? How do you force an AI train to pick a path and stick to it in advance (ie BEFORE it passes the signal into that block)? There would have to be some rules that ppl use to make this happen, or get around the issue in some other way, or am I missing something??

Thanks,
 
Back
Top