Make train wait for X days since last train of the same group left the station in JGR patch pack
I'm not specifically aware of a specific way to have a vehicle depart an exact number of days after the previous departure, but you can achieve consistent separation and departure intervals by using the automation functions. The two automation functions in JGR's Patch Pack, Automation and Auto Seperation, are the right way to go about this, but it's important to understand how they work and also what problems can arise with them! Each of the functions does slightly different things;
- Automate - This automatically creates and updates the timetable based on an average of actual vehicle performance. The stop duration and travel time will be set based on what your vehicles are actually doing.
- Auto Seperation - This automates the separation of a group vehicles by adjusting their individual delay values, causing them to wait at stations or depart early as appropriate until they have achieved equal separation. So if the timetable takes 40 minutes for a round-trip and you have 4 vehicles, it will ensure that they depart 10 minutes apart.
Both of these are often used together, but require that your vehicles are using shared orders - as they'll need to share the timetable values and the separation algorithm needs to know what vehicles are part of the 'group' it needs to evenly space.
You'll need to take care when using the Automate function too, as it will continue to update and adjust the timetable over time based on what actually happens rather than perhaps what you intended to happen. Critically, this means that delays get built-in to the timetable as expected durations - so if you have a point on your network that is particularly congested and vehicles need to queue for, the timetable will account for that. However, this can have the unintended effect of vehicles experiencing less of a delay on their journey to the station then waiting at the station because they are early compared to the timetable. If your stations are shared by multiple routes this can then spread a timetable problem from one route to another as the route with the problem will cause all platforms to be occupied, thus causing other routes to experience delays, thus adjusting their timetables, thus causing delays elsewhere and so on! This is probably what's happened with the automate function in your game - your vehicles have 'learned' that the waypoint should have a stop and this is now part of your timetable!
If you're just getting started with the automation functions my advice would be;
- Do not use the Automate function. It is great for adjusting the timetable as things change on your network, speeds get upgraded etc but it is very vulnerable to getting skewed by delays. Instead, for the first vehicle on the route, use OpenTTD's autofill function to populate the timetable with an initial set of times for stop durations and journey times. Alter these slightly to add a bit of slack time (to account for waits at junctions, passenger surges etc).
- Only use one type of vehicle on the route. If your vehicles have differing performance values (be that weight, max speed, power, acceleration etc), then the automation functions will find it hard to achieve balance since journey durations will vary wildly from vehicle to vehicle. Some imbalance is OK while you are replacing/upgrading vehicles but generally they should all be consistent.
- Ensure your vehicles are using shared orders, otherwise the automation functions will operate independently on each vehicle.
- Solve or isolate any areas of congestion on your network. This will cause unnecessary delay to be built in to the timetable and can spread delays to other routes. You can do this by;
- Eliminating conflicting junction movements - use bridges and tunnels so that trains do not have to cross the path of other trains at junctions. Use path rather than block signals where eliminating conflicting movements isn't possible - e.g. at stations or very tight junctions.
- Providing capacity - do you stations have enough platforms? are there enough tracks to move all of your trains? If you see a queue building somewhere, there's probably not enough capacity and this is going to make things less efficient (as vehicles need to stop, wait, and then accelerate rather than go through at full speed) and start to cause delay to appear.
- Isolating routes - prevent delays on one route from affecting another by isolating them to an extent. You don't need to ensure each route has an independent set of platforms and track, but try and make sure that there's always at least one platform that is dedicated to each route - that way even if one route is experiencing lots of delays and vehicles are queueing, the impact on the other route can be minimised since it will still have at least one platform it can use.
- Provide recovery time - Delays are going to happen at some point, there's no doubt about that. However if the timetable is timed to what a perfect journey would be, then the vehicles will never be able to get back to the timetable again. When a vehicle is late, it will leave the station as soon as possible as it's trying to make up time and get back to being on time again. This however, reduces the separation consistency and can lead to other issues as if for example the next vehicle is running on time, more passengers may have built up than expected which won't have been accounted for in the timetable! Add a little bit of slack to the station wait times and journey times to account for things such as extra passengers causing longer loading and delays waiting for a clear path across a junction or a platform at a station. You can also do this by providing an extended wait time at one end of the vehicle's route but only if there is capacity for the vehicles to wait.
- Enable the Auto Seperation function. So long as you have an appropriately timed timetable, with appropriate levels of slack and consistent vehicle performance, it will ensure that your vehicles depart at even intervals. Even if you then later on add additional vehicles, it will adjust the separation of all of them to ensure that departure intervals consistent (albeit more frequent than compared to before).
Hopefully that helps you understand what each of the functions does and how they can be used, along with some of the potential problems! They're both very useful functions when you're aware of their strengths and weaknesses, and can be vital when building massive networks with thousands of vehicles - no one's got the time to go and manually adjust the timetables and separation on all of them!