The first difficulty is that Simutrans doesn't use 24 h time, it goes to 6:24:00 each month. This is really counterintuitive. It should be 24h.
Because everything is balanced to work with this timescale, and because this is derived from some fundamental aspects of the game, changing this would be an unimaginably huge undertaking. Doing this alone would probably take more than a year of intensive work. Accordingly, this is not feasible in the foreseeable future.
Secondly, wait for time operates only on whole fractions of that, not in minutes. This makes finely tuning a timetable really tricky. It should be in actual minutes.
This might be a little easier, but I am not sure quite how difficult that this would be. However, this would then make it harder to use the system as it was intended,
viz. as a simple frequency regulator.
There is no way to have the duration between departures longer than 6:24:00 which for long routes is sometimes necessary.
This might be relatively straightforward - I will have to look into this to check. This might be possible by allowing fractions of a month to be expressed in quantities greater than 1 (e.g. 12/10ths of a month) without changing the system of having this in fractions of a month.
We now have routes recording the distance between stops, and the time taken for a complete circuit, but not the time between stops. This complicates setting up stop departure times.
A third party developer has actually produced code for this, which I will hopefully be testing and integrating when I get back home, so this is in preparation.
There is no way to account for hills and corners, which make trains take longer than expected en route. There is also no way to simulate this data in advance, which ought to be possible, since we have a simulation at our disposal ; instead one must waste time with a test train to get the data.
Simulating this in advance would be difficult in the extreme, as one would need to run a full simulation of all the physics, all the signalling and the whole traffic on the route, so this is not likely to be feasible in the foreseeable future.
The current system uses "multiple departure slots per month" which sounds good, but in single track operation is a minefield, because usually there is only one slot that a particular train must use, if it misses it, it can't take the next one, because that's required for a following train. The timetable must simply be right.
I do not understand what you mean by "must simply be right". Can you elaborate?
There is no easy way to build a timetable, and check it is right, apart from lots of trial and error, fast-forwarding offline games to see if it works smoothly. And of course, whenever vehicles are upgraded, get faster, the whole timetable needs redoing. It almost needs an in game train graph on a per line basis. If such were added to the graph function, showing time vs distance and all the vehicle movements that would really really help with setting up the waits so the paths crossed at the right loops etc. Because visual editors are so intuitive, it might even allow the difficulties with the time system to become tolerable, as it would provide instant feedback of whether waits were too many /long etc.
That would be a very large amount of work indeed. I should note that, in reality, timetables are exceedingly difficult to set up, which is why I have not allowed for more detailed timetabling before (the departures/month idea is really just about having a regular service, rather than a specific timetable, which is why it is in fractions of a month).
If actual timetabling cannot sensibly be achieved without this sort of extreme complexity of additional work, it is probably not worth doing at all, especially if players need (or are lead to believe that they need) to master this sort of complexity just to play.
The multiple slots per month is a bit misleading because in fact the intention is usually that each slot corresponds to a specific train. Sometimes you want trains to skip a slot, either because the passing loops are asymmetric or there is another line e.g. freight train which has to be allowed to weave amongst the passenger trains. There is no way to make trains skip slots e.g ever 10 mins except 20 and 30 past the hour.
Given these descriptions, full timetabling is simply not feasible, either for players to deal with sensibly in the game, or for me to code. The amount of work required for coding all of these features would be measured in multiple years, and it would make it extraordinarily difficult for new players to interact with the game.
I suspect that what would be preferable to detailed timetabling mechanics, which are not feasible, are some relatively straightforward conditional provisions in schedules (e.g. "depart when convoy X reaches point Y in its schedule"). Such conditional provisions may well be necessary for some planned features in any event.