Hello, recently the timetable separation feature has been added to trunk.
This great feature is currently "hidden" behind a CTRL+CLICK on a button which labels "start date" isn't really obvious to understand the link between those two features.
So here is a small pack of requests, that would allow the feature to be more usable.
GUI :
1 - Remove the "CTRL+CLICK" feature. Add a check box on the "start date" window "distribute start date to separate vehicles of the group" (or something like that, better language)
Better feature :
2 - Add an option "Timetable separation start date setting" with values "Manually", "Semi-automatic", "Full automatic" where :
a : Manually will work like now
b : Semi-automatic will automatically distribute again the start date of the vehicles when changing timetable (new orders, time changes, etc.) and when adding/removing vehicles in the group
c : Will always automatically create a timetable for any vehicle group, fill it with "autofill" feature, then distribute start date automatically as soon as the timetable is complete
3 : Add a new option "Smooth autofill timetable" :
When hitting "autofill" button, the "autofill" will update the timetable using average* values instead of last values (except when there is no previous value). When the trip is complete, the autofill button will remain hitted until the player choose to click on it again. Like this way, the player can add orders, build new tracks or anything like that, and the timetables will remain correct.
* Average values : by exemple, when there are 5 trains with a timetable A->B of 2000 ticks. When a train takes 3000 ticks to go from A to B, then the new value won't be 3000 but (2000 * 5 + 3000) / (5 + 1) = : (old_time * count(group_vehicles) + new_time) / (count(group_vehicles) + 1)
This will make timetable adjustements automatic (new route, vehicles replacement, etc.) but smooth enought to avoid the timetable to be completely stuck as soon as a vehicle has a breakdown.
With those new features, automatic timetable separation would be complete.
I hope at least request 1 and 2.b will be done, as they are essential for people to use the feature.
Update of feature: timetable spreading of vehicles
Moderator: OpenTTD Developers
Update of feature: timetable spreading of vehicles
Last edited by MagicBuzz on 16 Jul 2013 10:26, edited 3 times in total.
Re: Update of feature: timetable spreading of vehicles
Are you sure? I see nothing in recent commits (http://hg.openttd.org/openttd/trunk.hg/shortlog), ctrl clicking on the button is doing nothing, http://bugs.openttd.org/task/1128?project=1 ticket is still open.MagicBuzz wrote:Hello, recently the timetable separation feature has been added to trunk.
This great feature is currently "hidden" behing a CTRL+CLICK on a button which labels "start date" isn't really obvious to understand the link between those two features.
Correct me If I am wrong - PM me if my English is bad
AIAI - AI for OpenTTD
AIAI - AI for OpenTTD
Re: Update of feature: timetable spreading of vehicles
Kogut, have a look at this:
http://hg.openttd.org/openttd/trunk.hg/rev/006dfecf1559
http://hg.openttd.org/openttd/trunk.hg/rev/006dfecf1559
Re: Update of feature: timetable spreading of vehicles
Yes I'm sure.
Using the lastest nightly build, then the timetable is fully filled, then you wait for a vehicle to be about to enter the first station of the timetable. You click on his timetable, CTRL+CLICK on "start date" then set a date (current date, on a few days in the future).
=> All the vehicles sharing this timetable will recieve a different start date, making the separation working.
The only problem is that the feature is "as this". I mean there is no ajustement of the separation when changing anything in the timetable by exemple.
So the feature is near to be useless like this, as you must set a new timetable and start date each time you change a vehicle or buy a new one, or change an order.
Using the lastest nightly build, then the timetable is fully filled, then you wait for a vehicle to be about to enter the first station of the timetable. You click on his timetable, CTRL+CLICK on "start date" then set a date (current date, on a few days in the future).
=> All the vehicles sharing this timetable will recieve a different start date, making the separation working.
The only problem is that the feature is "as this". I mean there is no ajustement of the separation when changing anything in the timetable by exemple.
So the feature is near to be useless like this, as you must set a new timetable and start date each time you change a vehicle or buy a new one, or change an order.
Re: Update of feature: timetable spreading of vehicles
I would absolutely love the full automatic feature to be in trunk. I played with one of the previous auto-separation patches (the one in Chili's patchpack) that's unfortunately not being developed anymore and it made it so much easier.
Re: Update of feature: timetable spreading of vehicles
OK, this wins "the most hidden feature" competition. Added to wiki (see http://wiki.openttd.org/?title=Hidden_f ... ldid=76423).lugo wrote:Kogut, have a look at this:
http://hg.openttd.org/openttd/trunk.hg/rev/006dfecf1559
What should be result of this magic ctrl-click? I see no indication in interface that some sort of magic happens and I see no effects in RV movement.
EDIT: OK, now it works. It is necessary to run autofill before doing magic. And I just noticed speed limits!
Correct me If I am wrong - PM me if my English is bad
AIAI - AI for OpenTTD
AIAI - AI for OpenTTD
Re: Update of feature: timetable spreading of vehicles
I like your idea, but I see some problems:
If the times for the timetable are averaged, about half the trains will be late.
This can be solved by adding some slack. For routes I think a percentage would be best (5 or 10% are good values), while for stations I would suggest a number of days or ticks (1 or 2 days should be sufficient).
Another possibility would be to discard the highest value(s), so that trains with breakdowns are not considered to create the timetable. This can be used together with slack.
You also suggest that: "c : Will always automatically create a timetable for any vehicle group, fill it with "autofill" feature, then distribute start date automatically as soon as the timetable is complete"
This will also create timetables for grouped cargo trains, and they usually don't run with timetables.
Perhaps this function should be disabled if a full load order is present?
When option c is activated, I guess option b is activated too? I fear that this might be too processor intensive because they might interfere with each other. To prevent this, timetables should only be updated after every train with shared orders has completed a full route and the timetable should be updated for every vehicle of that group at the same moment (not at the same place).
Did I forget something or made a mistake?
Perhaps things are different when they have to be coded?
If the times for the timetable are averaged, about half the trains will be late.
This can be solved by adding some slack. For routes I think a percentage would be best (5 or 10% are good values), while for stations I would suggest a number of days or ticks (1 or 2 days should be sufficient).
Another possibility would be to discard the highest value(s), so that trains with breakdowns are not considered to create the timetable. This can be used together with slack.
You also suggest that: "c : Will always automatically create a timetable for any vehicle group, fill it with "autofill" feature, then distribute start date automatically as soon as the timetable is complete"
This will also create timetables for grouped cargo trains, and they usually don't run with timetables.
Perhaps this function should be disabled if a full load order is present?
When option c is activated, I guess option b is activated too? I fear that this might be too processor intensive because they might interfere with each other. To prevent this, timetables should only be updated after every train with shared orders has completed a full route and the timetable should be updated for every vehicle of that group at the same moment (not at the same place).
Did I forget something or made a mistake?
Perhaps things are different when they have to be coded?
Who is online
Users browsing this forum: No registered users and 22 guests