Update of feature: timetable spreading of vehicles

Got an idea for OpenTTD? Post it here!

Moderator: OpenTTD Developers

Post Reply
User avatar
MagicBuzz
Tycoon
Tycoon
Posts: 1354
Joined: 15 Feb 2003 17:32
Location: Vergezac, France

Update of feature: timetable spreading of vehicles

Post by MagicBuzz »

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.
Last edited by MagicBuzz on 16 Jul 2013 10:26, edited 3 times in total.
Kogut
Tycoon
Tycoon
Posts: 2493
Joined: 26 Aug 2009 06:33
Location: Poland

Re: Update of feature: timetable spreading of vehicles

Post by Kogut »

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.
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.
Correct me If I am wrong - PM me if my English is bad
AIAI - AI for OpenTTD
lugo
Engineer
Engineer
Posts: 100
Joined: 12 Oct 2010 13:55

Re: Update of feature: timetable spreading of vehicles

Post by lugo »

User avatar
MagicBuzz
Tycoon
Tycoon
Posts: 1354
Joined: 15 Feb 2003 17:32
Location: Vergezac, France

Re: Update of feature: timetable spreading of vehicles

Post by MagicBuzz »

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.
Wowi
Engineer
Engineer
Posts: 8
Joined: 22 Feb 2009 02:39

Re: Update of feature: timetable spreading of vehicles

Post by Wowi »

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.
Kogut
Tycoon
Tycoon
Posts: 2493
Joined: 26 Aug 2009 06:33
Location: Poland

Re: Update of feature: timetable spreading of vehicles

Post by Kogut »

lugo wrote:Kogut, have a look at this:
http://hg.openttd.org/openttd/trunk.hg/rev/006dfecf1559
OK, this wins "the most hidden feature" competition. Added to wiki (see http://wiki.openttd.org/?title=Hidden_f ... ldid=76423).

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
Robbedem
Engineer
Engineer
Posts: 111
Joined: 14 Jan 2013 18:08

Re: Update of feature: timetable spreading of vehicles

Post by Robbedem »

I like your idea, but I see some problems:
If the times for the timetable are averaged, about half the trains will be late. :wink:
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?
Post Reply

Return to “OpenTTD Suggestions”

Who is online

Users browsing this forum: No registered users and 22 guests