Impatient and forgetful AI problem

Questor9

New member
The setup is a oval to keep thing simple and to act as a test bed.
Distributed evenly around the oval are the default industries that came with the 2012 package of industrial assets. At 40 mph it will take a train one hour to come full circle.
The design of all sidings to the industries are dead ends requiring the trains to back up from the main line into the industrial siding loading unloading points then drive out in the correct direction onto the main line.
The oval is broken at one point by using portals, one portal inbound and the other outbound , to prevent trains from finding a reverse way to get to their destination.
Where the industries are complex cargo such as the seaport and the industrial airport there are yards to allow inbound and outbound to pass with one track in the yard for each product along the track line. One train for each product works better than one train consist with all products. This is due to the way loading and offloading works in the simulation.
The only place where a AI controlled trains might conflict is between inbound and outbound, so the signals are arranged to cause a train to stop in the yard if there is a potential conflict.

There is no reason then in the design of the layout for a train to move in reverse, yet they do. They pass their scripted turnout and try to reverse their way backwards to get to it and tie up traffic in the process. Another cause for reversal is when trains will not wait patiently in the yard while another offloads its cargo .In an earlier experimental layout it was discovered that a train that decides to reverse direction will ignore the direction markers.

Questions:
Is there a limit to the number of AI trains the simulation can handle before trains missing their turnouts becomes a problem?
In this test case we are running ten trains and the errant train might move half a section board past the turnout before the error is caught by the simulation.

Is there a way to increase the time before an AI trains considers reversing?
In this test case it seems that as soon as the loading train is ready to leave and starts to move, the other waiting train in the yard decided it is time to reverse and in the process blocks both the exiting train and other inbound trains.

Is there a setting that I have missed that will allow tree assets to display their leaves? This is not a problem seen on the default layouts.


I am using a high end core 7 Gateway FX game computer and my drivers are up to date.

Trying to time out trains so that demand meets supply in a just in time operation was the goal. Trying to achieve this is frustrated by the actions of the AI trains running in reverse against the flow of traffic. This simulator game is oriented towards a drivers point of view rather than railroad operations as a whole and trying to do more than this may not be possible. Nevertheless you can have fun sorting out the mess that the AI controlled trains get themselves into.
 
The trees have no leaves because they think it,s winter. Try changing the date in environmental settings. The number of trains does not directly affect the AI drivers in the way you suggested. If I could come up with a way to make the AI drivers behave 100% of the time I,d be a millionaire. I,m thinking you may be using the navigate commands. Try using the Drive commands instead. These will probably have to be enabled in Surveyor Session, Rules, Driver Commands. With navigate an AI driver will attempt to get to his next waypoint by any route possible. With drive an AI driver will try to get to the next waypoint by the most direct route and If stpped at a red signal tends to sit there with a puzzled look on his//her face. I,m rereading your post but not sure if I have a complete understanding or your problem so I deleted the rest of what I wrote. My understanding is the AI driver passes the point switch that controls the entrance to the siding it is going to but does not stop straight away? This is not unusual. Place a trackmark where you want the AI driver to stop allowing enough room for the point switch to unlock plus the length of the longest train plus one locomotive length (the distance the AI driver stops short of the trackmark) Ahead of the point switch. Issue commands "drive to (trackmark)" "change direction" (this may have to be enabled as well)."drive to(where you want the driver to reverse to)" and this will fix it. To make it more realistic add the command "wait 30 seconds" or how long you want after the first "drive to" as in the real world they don,t reverse straight away. Closing post due to length.
 
Last edited:
Continued. Where you have a conflict in the yard between two trains Place a trigger at a suitable place so that the Train loading/unloading has to pass over it when leaving the yard and make a note of the number. Then the AI driver waiting for the first train to leave should be given the command "wait for trigger (number)" before the command "drive to (loading/unloading point)" . Remember that will only work it there is already a train already at the loasding asrea.Hopefully that shoud help if I have a clear understanding of your issues. Away way round it is to have your trains run to a timetable. I have done this for kings Cross Station.
 
Last edited:
The Ai will take supposedly the direct A-B route, if blocked will then go via C even if a reversal is needed later on, this is using track marks.

As colorlight says, track marks and triggers. I've found in problem areas where some but not all veer off on an alternative route an extra tm works well, a bit like a donkey and a carrot.
I've been at it for 2 weeks on a route (206 miles) using Ai's from portal-portal following schedules and still not got it right.
Dap has something going with I think 46 Ai's but they are timetabled, so the number shouldn't be an issue.
 
Last edited:
Triggers are a solution that depends on the AI to follow directions, alas it does not.

In the test oval we have ten trains which I will name by their product. The location for this walk-through will be the seaport which has three tracks and ten product trains to service it. One track will have no yard which is the passenger line. The remaining two will have a separate yard with a yard setup for each product and named by track marker for each train so they do end up in the yard on their assigned track before entering the port to offload if they follow their script. This means there will be three branch lines connected to the main line and the signals and turnouts separating these branches are at a distance corresponding to one and one half train lengths along the main line.

This is what happened when trigger was used. The general goods train arrives at the yard on the track specified by a track marker and proceeds into the port to offload its goods. It will wait for the diesel oil train to reach the trigger placed in the yard on the track assigned to it by track marker before leaving. However, the diesel train has missed the turnout and is some three section boards past where it should have reversed and taken the line into the port. The AI having awakened to the fact that it has gone well past its destination now reverses. It reaches a turnout that turns into the port and takes it, but it is the passenger track. Now it runs up and down that line because at one end there is no path to its destination and at the other end there is a passenger train that wants that track. The end result is that the general goods train will never get permission to leave the seaport as it is waiting for the diesel oil train. This ties up the passenger train , the crude oil train, the container trains, as well as the errant diesel oil train and the goods train. If left uncorrected by human intervention this will eventually shut down the whole oval simulation.

Using time based pattern for trains, as a solution, presents problems on a oval where due to variable loading and unloading times and different times to traverse the branch lines, the trains present themselves, at any given spot along the oval, in a different order for each circumnavigation.
The wait for x minutes can also be accomplished by signal spacing, speed boards and siding lengths.
One useful tool might be the ability to make one turnout switch the slave of another where the AI train can only trigger the master switch and not the slave. This could be used in timing trains and on double crossovers.

Thanks for your patience in reading and responding to my post your suggestions are very much welcomed and I will continue to search for a solution that works.
 
Don't have tm's in a straight line across a yard, stagger them. ie tracks 1+3+5 in a line and tracks 2+4 in another, maybe 20 foot up.
Reduce the radius of the tm's so one doesn't overlap the nearest one to it.
If the tracks are long enough once a consist has got to it's load/unload point and it's not releasing the last junction it passed over use the release junction command, so you'll have nav to xxx, release jnct xxx, load/unload.
 
An interesting theory Fran1. There is however no tm on the passenger line which some trains find in error. When they do find the correct path to the seaport they seem not to be confused by the track markers in those yards. Perhaps that overlapping of track mark influence problem has been resolved in the 2012 version. One solution I am considering is to have the passenger train spur branch off first before the freight trains have to make decisions. Because the passenger line has no intervening yard prior to the trains destination the theory would be that the AI would see more clearly where it goes and behave as it should.

The suggestion about tree leaves was indeed the problem and the trees did sprout leaves once the season had been adjusted. Probably because there is now more movement to animate the updating of train movement has become intolerable and no longer moves evenly but in halts and spurts. Looks like the lumber mill will have lots of wood to process as I cut down those trees.
 
Are there signals at the out track end of the container base for eg.
Try invisibles at the in end as well.
It'll take a lot of trial and error to get right.
 
I do agree that it will take allot of trial and error to get around the behavior of the AI controlled trains. The problem of the AI freight trains taking the passenger siding into the port was solved by a tunnel under main line so that the passenger line could connect before the freight sidings were encountered by the AI controlled trains.

The run past turnout issue as it applies to the whole layout has not been solved. In the last try an oil train ran several miles past the turnout into the refinery then reversed into three approaching trains between it and its goal on a single track line with no passing sidings.

While I wanted to run a single track mainline, all trains going the same direction around the oval, I may be forced to use a twin line or passing tracks along the length to compensate for reversing trains trying to get back to the turnouts they missed. While most trains catch the turnouts there is usually one or two that miss, prompting the earlier question of how many trains can the AI handle without errors.

Reversing into the destination is not out of the ordinary, like in Chicago. Passenger trains, there, are required by law to reverse into the station.

Another experiment will be to drop the reverse into siding idea to see if that reduces the drive past problem and elimination of the industry located yards mentioned earlier in favor of a central timed yard.

Getting an oval to work properly is basic to planning a more complex layout which are often just ovals with turning Y or loop turns at each end. The lessons learned on the oval layout will aid in the planning of the more complex one that will follow.

It is as if the designers of this program had something else in mind besides a straight simulation of a working railroad and incorporated a game of user vs AI. It is a game I intend to win.
 
I only run with Ai's taking control only if it goes wrong.
I'm finding that the same route is not taken by every consist, the odd one wanders off though they are all on the same schedule.
Because it see's an alternative. And it's not been held by signals.
 
Back
Top