News:

Do you need help?
Simutrans Wiki Manual can help you to play and extend Simutrans. In 9 languages.

[TUTORIAL] Guide to Convoy Spacing & Line Scheduling

Started by Carl, February 10, 2012, 01:50:11 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Carl

[Comments/criticism/suggested improvements welcomed. I may add descriptions of more complex operations at a later date.]

One of the biggest problems of network-building is maintaining a regular service on a route. Buses and trains (etc) often 'bunch up' and leave irritating gaps in service. While combining the "minimum load" and "max wait for load" features fixes this to some degree, it can be complex and requires a lot of micro-management.

Extended's "convoy spacing" feature makes the process easier. In simple terms, the feature allows you to select how many times a line will depart from a certain stop per month -- and forces lines to follow a regular schedule.

Here's a step-by-step guide given in terms of trains which will work for any kind of vehicle.

First, make a route in the normal way.



Second, pick which stops you want to enforce spacing at. Note that whichever stops you pick, it's likely that most trains will wait for a while at these stops, so it's best to pick the "end of the line" stops to avoid congestion with other lines.

When you've picked the relevant stops, change "minimum load" to 100% on them. You can see below that I've picked London Victoria and London Bridge, the two termini for this service.



Third, enter a "convoy spacing" value. This value determines how many times per month a train will be allowed to leave the stops you've just designated -- it is the "convoys per month" value.

I've entered "20". The time shown under this box indicates how often a train will run on this line: as you can see, trains will run half-hourly. The time will vary depending on how long your month is (i.e. depending on what bits-per-month and distance-per-tile settings you're running).



The effect is that trains are given twenty possible "slots" to leave London Victoria, at the following multiples of 30:06:

00:30:06
01:00:12
01:30:18
02:00:24
...etc.

This means that if a train arrives at London Victoria between 00:00:00 and 00:30:06, it will have to wait until 00:30:06 before being allowed to depart. If yet another train arrives before 00:30:06, it would have to wait for the next slot at 01:00:12. If no train arrives between 00:00:00 and 00:30:06, then the 00:30:06 departure slot will simply be missed -- even if a train arrived at 00:31:00, it would then have to wait until 01:00:12 to depart. Because of this, you need to make sure to have enough trains assigned to the line, so that no slots are missed!


SPACING SHIFT
There's more that you can do with this feature, too. Imagine that the journey from Victoria to London Bridge took 31 minutes. If this was so, then a train leaving Victoria at 00:30:06 wouldn't arrive at London Bridge until 01:01:06 -- and so would have to wait a full 29 minutes before leaving again. This seems like a waste of resources. Thankfully, using the "shift" setting, we can resolve this. First, deselect "Use same shift for all stops". Now click on London Bridge in the schedule, and enter a value into the box which currently says "0".



The time displayed underneath now represents the timetable "offset" for London Bridge. This means that the departure slots from London Bridge will be as follows:

00:42:06
01:12:12
01:42:18
02:12:24
...etc.

Note that it's crucial to deselect the "Use same shift" button, because otherwise we'll be changing the Victoria departure time too -- and we don't want to do that! Note also that you'll need to play around with the spacing numbers and the "spacing_shift_divisor" in the settings menu to get the right values here. The rule here is as follows: set the "spacing_shift_divisor" to exactly the number of minutes-per-month in your game. That way, entering "1" into the shift box will amount to exactly one minute, and so on.


AN APPLICATION: FAST AND SLOW TRAINS
There are all sorts of other ways in which spacing shift can be useful. Perhaps you want a fast train and a slow stopping train to use the same tracks. This is a problem, since you'll often find that the fast train gets stuck behind the stopping train. But using the "spacing shift" feature, you can make sure that the slow train always leaves the crucial station just AFTER the fast train, thus giving the fast train a free run. Set the "convoys per month" value of both lines to the same number. Now give the slow train a "spacing shift" value of, say, 3. This will have the desired effect -- the slow train will always leave just after the fast train.


ISSUES
At spacing stations, trains will only wait until their minumum load is satisfied. So if a train reaches 100% load ten minutes before it is supposed to depart, it will depart nevertheless. This is good for economic reasons, but not so good if the spacing is part of your network management. Watch out for this. (NB. I've made a patch to increase the max. "minimum load" value to 150%, to allow one to sidestep this problem: we shall have to wait and see whether it is included in Extended).

Also bear in mind that loading times and reversing times should be taken into account when you calculate departure times. I've ignored this above for simplicity.

Moderator note: References to "Simutrans-Experimental" updated to "Simutrans-Extended" to reflect the name change, 13 February 2017.

Milko

Hello Carl

Thanks for the tutorial. Deserves to be highlighted.

So .... If I understand correctly:
The train leaves the station when one of the two is reached (One of two options triggers the start):
a) the minimum load set
b) the time spacing + shift.

Giuseppe


ӔO

what happens when you use spacing/shift in conjunction with max wait?
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

Carl

I think it will add a third possible trigger condition to Milko's list above, as follows

(c) the max wait time is reached.

The effect will be that a vehicle may leave before its "spacing slot" if the max wait time is met.

Off the top of my head, I can't think of a way in which using spacing and max wait for load at the same stop would be useful.

dannyman

#5
Timely!  I was just experimenting with convoy spacing (so I could learn how it works...now I see a tutorial! =)

More education and a bug:

Q: HOW LONG SHOULD I WAIT?
A: You want to wait for your average headway, with some allowance for variance.

Q: HOW TO CALCULATE HEADWAY?
A: Average trip time / number of convoys serving line

       
  • So, if your average trip time is 17:40, and you have 3 vehicles, figure 18/3 = 6 minute headway
  • Thus, adjust convoys-per-month to ~6 minutes headway
Q: HOW TO RE-CALCULATE HEADWAY WHEN I CHANGE LINE CAPACITY?
A: Multiply current headway by current number of convoys.  Divide that number by the new number of convoys.  New headway!

       
  • So, if you have 6 minute headway with 3 convoys, that's 18:00 total ...
  • Increase service to 4 vehicles, 18/4 = 4:30 headway
Q: HOW DO I KNOW I GOT IT RIGHT?
A: Watch the line at your pulse station(s) ... the vehicles should usually arrive, be held for a very brief time, and then be on their way.
- If vehicles are often missing their pulse and having to wait for most of the headway, consider increasing the headway a little.
- If vehicles regularly wait a bit longer than you like at their pulse, consider reducing the headway a little.
- Play with time.  FF is a bit too fast sometimes, but , to slow and . to speed up are helpful when watching headways.
- If multiple vehicles are bunching up at your pulse point, something is very screwed up.  Turn off spacing, let it run on FF for a month(?) to observe "natural" baseline trip time, recalculate headway . . . try moving the pulse to a different stop . . . post bug to forum?

YOU SAID THERE WAS A BUG?

I think I found one.  On this screenshot, I did a 4:55 spacing per the above calculations.  If I set my pulse at either terminus, things work wonderfully.  If I put my pulse on the middle station (Pendale Old Street) then the dispatcher starts starts doubling my wait time.  At first, I thought it might be related to mirror schedule, so I changed it to a manual loop.  Same deal.

       
  • Wait at one terminus works fine
  • Wait at two terminii works fine
  • Any wait in the middle starts getting doubled (!?)
Most of the time, you'll set the pulse at a terminus, but in some situations you might want to set the pulse at a central transfer station . . .

Screenshot:
http://www0.toldme.com/~djh/scratch/simscr05.bmp

Save:
http://www0.toldme.com/~djh/scratch/Exp-wait-bug.sve


Wait wait ... is this a bug?  Upon further experimentation, what is happening is one vehicle arrives, waits for a pulse, another vehicle arrives and gets scheduled for the next pulse.  Vehicles arrive at mid-line stations twice as often a terminal stations, thus you wait for half the headway!  *scratches chin*  There is much to this new feature, indeed! :)

jamespetts

Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

omikron

@dannyman:

I think your bug is not a bug - as far as I can see from your screenshot, you checked the 'use same shift for all stops' button. Try without it...

omikron

EDIT: Sorry, no. The spacing works fine: just both buses wait for the next 4:55 slot, therefore one of them waits for 1:53 and the other for the next one at 6:48. If you use the spacing shift at an intermediate stop, you need to halve the shift :-)

omikron

dannyman

So, yeah ... I'll experiment a bit more with this stuff and maybe write up a tutorial as well ... this is a really neat intersection on some real-world transit management techniques I have read about ...

- If you want to pulse only at one point: easy peasy.  If you're mirroring schedule, that point ought to be a terminus.

- If you want to pulse at two points, the easiest way is to pulse at each terminus, and schedule an even number of convoys on your route.

- If you want to pulse mid-line, the easiest application might be to NOT mirror schedule.  I want to test if you can run through a station twice, but only pulse on one visit.  (I assume this works correctly..)

- If you want to pulse mid-line in both directions, you need to find a spot that will work as a fairly clean fraction of the headway, which reduces your flexibility.  This might work better at high frequency, because if a vehicle misses pulse ...

... what would be neat is a strategy to mitigate for a missed pulse cascade, where you might have vehicles waiting on top of each other in a long queue to pulse through the headway value ... ?  ideas  ?

Or maybe you really just have to set your headway value conservatively, or maybe just lower your load limit (20%..50%) to increase the chance of a vehicle skipping forward to mitigate convoys stacking up on a missed pulse.

As you can see, there is a lot of art to this new concept, and bears a lot of explanation, diagrams, illustrations, etc. :)  This is as complicated and nearly as dangerous as block signalling!! :) :)

ӔO

Quote from: dannyman on February 13, 2012, 05:55:14 AM... what would be neat is a strategy to mitigate for a missed pulse cascade, where you might have vehicles waiting on top of each other in a long queue to pulse through the headway value ... ?  ideas  ?

If this happens, what that usually means to me, is that the line does not send out frequently enough in the first place, and you have one convoy arriving before the previous one has left. Usually happens as a consequence of replacing the vehicles with better ones.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

inkelyad

Quote from: dannyman on February 13, 2012, 05:55:14 AM
... what would be neat is a strategy to mitigate for a missed pulse cascade, where you might have vehicles waiting on top of each other in a long queue to pulse through the headway value ... ?  ideas  ?
You can use multi-tile stations with extra buses. See image in my post.

chicken

Nice post. I often use this style of management to schedule multiple branches without conflicts. E.g. bring together two 9 train per month lines into a single 18 train per month corridor, using the shift to slot them in smoothly.


One problem I've had is that the 100% waiting point for each line needs to be a single track station without a choose signal. If I use two tracks with a choose signal, then both trains in the same line may try to depart at the same time.


Carl

Yes, that is a bug (which I keep forgetting to report):

If a train arrives just as or just before another waiting train's is about to leave (i.e. its wait-for-spacing is just reaching zero), the arriving train will not be pushed to the next slot but instead will try to leave straight away. So two trains use a single spacing slot. As far as I can see, this only occurs when one convoy arrives as another is leaving.

sdog

it is intentional in the platform chooser, when setting a load order one does not want a train to stop at any platform but only at the specified one to prevent locks.

dannyman

sdog,


I see trains choose different platforms for their wait loads ....


Carl

sdog -- trains will wait for spacing on as many platforms as are available. You can have several waiting at a time. The bug in question occurs only when one arrives exactly when another is leaving -- in this case it gets given the "wrong slot".

AP

Is there any word on whether the  "wait for 150% load" option will make it into the main game? I'm interested in this scheduling feature, but my key stations always have so many passengers that it will break it immediately because of the forced-departure-when-full issue.

Carl

Yes -- it's in the current release candidate version and will be in the next official release, which James has said is coming soon. The maximum value will be 400 per cent in the new version of the feature.

AP

What's the purpose of any % above 101, out of interest? Are some more 'impossible' than others? I was presuming 150% to be an arbitrary unreachable figure, to keep trains to strict timings, but maybe there's more to it than that?

Carl

100% here denotes maximum normal capacity -- so if a vehicle has 60 seats and 30 overcrowded capacity it will really only be "full" when it reaches 150% by this measure. 400% was felt to be high enough that even high-density urban vehicles would never reach it.


greenling

I have problems to use the best Convoy Spacing & Line Scheduling in simutrans exp. :-[
Opening hours 20:00 - 23:00
(In Night from friday on saturday and saturday on sunday it possibly that i be keep longer in Forum.)
I am The Assistant from Pakfilearcheologist!
Working on a big Problem!

jamespetts

Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Carl

Some may be interested in this video in which I discuss convoy spacing and line scheduling on my GB map:

http://youtu.be/31JcY7b8WnQ

While the description in the video is not as clearly step-by-step as the tutorial above, you may find it useful to see it in action.

jamespetts

Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

ӔO

I've attempted to setup scheduling on the server game and found it very time consuming, but well worth it.

As a suggestion in improving it's usability, I would suggest having a table that can record the average arrival and departure times of lines to their stops.

This table would, ideally, allow the user to edit all schedules at that station at once. The line scheduling table could also be improved if the arrival/departure is recorded there as well.

It's possible to do this externally, with an excel sheet, but it would vastly help if times were recorded.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

inkelyad

Tip about usability: there is Avarage trip time in convoy info window.
So Average trip time/numer of convoys =  spacing

ӔO

Quote from: inkelyad on February 02, 2013, 08:16:38 PM
Tip about usability: there is Avarage trip time in convoy info window.
So Average trip time/numer of convoys =  spacing

Yes, but if you run 2 or more lines on a single set of lines, you need to deal with shifting and holding trains at stations to allow express trains to pass without getting stuck behind slower trains.

On the server game, I have setup 4 lines to share the same set of tracks. Two commuter lines and two limited lines running a 48min cycle


a GUI like the attached file would be plenty, IMO.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

gfurst

I'm starting to experiment with this feature, I find it very cool but a bit hard to learn and use it.
My suggestion to improve the system is to show on the schedule's window the expect trip times, average speed time without traffic.
This is to make easier choosing spacing and shift times if wanted. An overview of the departure times and arrival times would also be extremely helpful, one such as ÆO suggested.

Additionally I think it could be good to separate entirely waiting load/max time from convoy spacing, since in most situations applying the two to the same line won't make much sense.
This is mostly because I dislike the 400% load settings. Plus from 400% it should jump straight 100%, just to make life easier.

jamespetts

These are worthwhile suggestions, but most are likely to take a very large amount of coding effort (particularly anything involving predicting arrival/departure times), and there is a rather long backlog at present. Thank you for the suggestions, however.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

ӔO

oh, that arrival time is not predicted, but actual arrival time.
departure time is calculated from the scheduling, rather than the convoy itself.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

gfurst

Quote from: ӔO on February 05, 2014, 12:41:19 PM
oh, that arrival time is not predicted, but actual arrival time.
You mean actual arrival time, like last logged arrived time?
Or is it calculated with all variables considered?
If is the latter, I figure it to be quite CPU expensive.
What I suggest is a expected trip time considering better path, curves hills and speed bumps, no traffic and maybe a small setback on each signal to simulate traffic.
This expected time is then saved, only updated when changing the schedule, this can be be used along side departure times and shift to calculate arrival.
Additionally the actual trip times are also recorded, so you figure out how set back that is due to traffic.

If the first is true, arrival times are not actually calculated but the last actual arrived time, my suggestion would only save the time to wait for a trip to complete, but still could give more consistent results.
Mainly the whole system works, we only have to look around some windows to get all the information.

Jando

Quote from: Carl on February 10, 2012, 01:50:11 PM
...

At spacing stations, trains will only wait until their minumum load is satisfied. So if a train reaches 100% load ten minutes before it is supposed to depart, it will depart nevertheless. ...

Is this still true? It seems I see otherwise in Experimental 11.18.

Stage coach waiting despite there being a full load available at the stop. Watched it for a game-hour now, coaches wait, then depart 5-8 minutes before the assigned spacing slot, odd.

Bug or feature? :)

Carl

That will be because no passengers will load until ~10 minutes before the scheduled departure. (This is to prevent passengers boarding a service which is not leaving for a long time, and thus missing the opportunity to join something that's leaving sooner).

Jando

Thanks for the answer, Carl, makes sense. Perhaps include this information in the tutorial? The text now seems to suggest that a vehicle departs whenever there is enough for it's maximum load.

Carl

I believe the tutorial was written before the 10 minute-rule was introduced. I will update it, when I get a chance, to take account of those changes. Thanks for spotting this!

gfurst

I would like to take notice that since there is a timing rule that prevents convoy leaving before scheduled time then the 101% - 400% loading is irrelevant.
I supposed that loading convoy to a maximum of 400% was only a tweak to prevent convoy from leaving before the supposed schedule time, and such a wide range after the 100% because to the possibility of overcrowding.
So I think its better this ways, convoy waits for timer but begins loading before and may even depart sooner than expected. Still the 400% load need adjusting.

Carl

Quote from: gfurst on February 12, 2014, 09:45:41 AM
I would like to take notice that since there is a timing rule that prevents convoy leaving before scheduled time then the 101% - 400% loading is irrelevant.

Hi gfurst:

Unless I've missed something from the last few updates (which is possible, since I've been mostly absent recently), the above quote is false. Convoys with spacing active can board once less than 10 minutes remain before their scheduled departure. This means that, so long as there are enough passengers, they could in theory leave up to 10 minutes before their scheduled departure.

The possibility of a 400% load is intended to bypass this, since (almost?) no vehicles can reach 400% capacity even when overcrowded capacity is taken into account. As such a vehicle with "wait for 400% load" active cannot leave before its schedule departure time, whereas a convoy with 100 (or 101, etc) could in principle do so.

Jando

Agree with Carl here, I frequently use the 300% setting for example: on stage coaches on lines with enough demand, forces the coaches into overcrowded mode.

gfurst

Quote from: gfurst on February 12, 2014, 09:45:41 AM
I supposed that loading convoy to a maximum of 400% was only a tweak to prevent convoy from leaving before the supposed schedule time, and such a wide range after the 100% because to the possibility of overcrowding.
So I think its better this ways, convoy waits for timer but begins loading before and may even depart sooner than expected. Still the 400% load need adjusting.
I think you misunderstood me,  I said the exactly same thing, see the above lines.
What I've meant is that with the timing rule, a convoy loading and maybe departing earlier than expected might be good and realistic.
Waiting for the convoy to be fully overcrowded might not be ideal if you take comfort into consideration. I would suggest a max setting of 200%, unless there are vehicles that can take overcrowd to more than that, which in my opinion seems exaggerated.

Carl

400% is available to allow people to use convoy spacing for bona fide timetables -- if the maximum was 200% then this would not be possible. I agree that under some circumstances you might want a vehicle to leave once it's full (or fully overcrowded) -- but in that case you can simply set the percentage to the desired value, since anything between 0 and 400 is allowed. I don't see that this is a reason to disallow going all the way up to 400, since this allows those who want to to do things that they otherwise wouldn't be able to do.

LoCo

hi all,
first im german so sry for my english.
i dont get it ... the ingame time depends on my bits per month settings...
but the time for the timetables runs fast as hell ... even faster than realtime
when i set bits per month at 23, i get a coincidence of this two times ...
but minutes of ingametime are seconds in the timetable ...

i want to play with bits per month at 27-30 ... so i dont get a coincidence
with this settings ingame time (bottom left) runs down 1 minute and the timetable (time above convoys) runs down more than 1 minute
... isnt it possible to attach the timetable timespeed to the ingame timespeed?
example : 1 minute ingame time is 1 minute in the timetables?
i played around with the gamesettings but dont get it.
i hope my text is understandable :-S and thanks in advance for every reply.

DrSuperGood

Quotebut minutes of ingametime are seconds in the timetable ...
I believe it is meant to be that the wait time above the convoy when you mouse over them is in the same units as the time months are broken into. As such it should always be X:Y where X are hours and Y are minutes which advance 1:1 with the month time in hours and minutes.

The only thing that month length should change with timetabling is the amount of actual wait time that a schedule converts into. Longer months will produce longer wait time for the same schedule as you specify wait time in convoys per month so each timeslot will be longer. Shorter months should result in the opposite with each time slot becoming shorter.

You can compensate for this by raising or reducing the number of convoys per month. With very long months you will want a large number of convoys per month (like 100-200 for a commuter service) where as shorter months might be fine with very few (10-20).

LoCo

yes ... but i dont see a coincedence between "wait time" and "ingame time" or " wait time" and "reallife time" ...
as example ... above convoys you see a wait time of 33m:12s ... but it is neither realtime nor ingame time ...
ingame time the bus waits more than 3h and realtime it is around 3-5 minutes
so i dont really know how long he waits actually because it counts faster than "realtime" and slower than the "ingame time"
i want to start a bus hourly on ingame time with 1 station enforcing the space
but when i set it to 1:00:00 convoy spacing it dont fits with both timelines
at 1 convoy setted, it has a spacing of 204:xx:xx ... 204 hours of what? on which timeline is it based on
1 month are 744 ingame hours in a 31 days month and at bits per month 27 one month lasts 37,28 hours of reallife time
where does this 204 h at 1 convoy per month come from?

Milko

Hello


"Wait for time", someone could help to understand how to use?


If I specify "Minimum load" = 100% and "Maxim wait time" to 3:00 the convoy will depart reaching 100% load OR 3:00 minutes?


Thank's
Giuseppe

Ves

If you specify "wait for time", the convoys will depart with the frequency set in the two "Departures" boxes to the right.
If you specify also the "Maximum waiting time", I understand that the convoy should never wait more than what is specified in that box. Eg, if you have specified 5 minutes in that box, and the next slot is 20 minutes away, the convoy will only wait 5 minutes instead of 20. However, I cannot seem to get it work, the train will instantly depart in my testgame. Maybe there is a bug?

If you specify only "maximum load", the train will wait for its maximum load.
If you combine it with the two "Departures" boxes to the right, you can tell the train to wait until set load percentage until the departure slot
If you combine the "maximum load" with "Maximum wait time", you can make the train wait until set load percentage or until the timer has run out.

If you combine all three of them ("Maximum load", "Maximum wait time" and the "Departures"), I think the train will wait until the first condition is met, but I had not have time to test that.

accord2

Hi,
can someone explain me how do it so a express line can use the same railway as a slow commuter line? I don't get that part.
Son of a railroad man,  growing up in train stations, lover of trains

Carl

I think this feature has been deprecated in favour of  "wait for time" in the new Extended versions, but I haven't tested that yet. In any case the concept of the same.


One way to do this is to schedule the express train to leave (e.g.) the terminus a few minutes before the slow train does. That way the slow train won't get in the way of the express train. If it's a long line then you may have to have another passing station later on. In that case, make the slow train wait in a side platform again until the next express train has passed.

Ves

Quote from: accord2 on February 14, 2017, 05:18:57 PM
Hi,
can someone explain me how do it so a express line can use the same railway as a slow commuter line? I don't get that part.
I guess the guide needs to be updated now to match the new GUI :)

However, you need to make sure that the commuter train departs after the express train.
This is done by having two different schedules, one commuter and one express, and with the same numbers of departures pr month.
Dependent on the level of detail and finetuning that you need, you may have to specify the stops in both directions (leaving the "mirror schedule" unchecked), but in this example that level of detail is not neccessary, so we will use the "mirror schedule" feature.

Next to the "Departures/month" field is the "shift" field. That is an offset that can be used to delay the departure times. The value that appears under the field is in hours, minutes and seconds (however, the hours are invinsible until you select a high enough value). That is the actual time that the schedule will be offset.
The seamingly odd minutes and seconds that it gets pushed is due to a default setting in the settings dialog, which carls explains in his original guide on the first post how to change using "spacing_shift_divisor" in the settings (James, maybe this is worth change permanently to something more convinient?). Convenient could be if "1" in the field corresponds to 1 minute. To do that, calculate how many minutes a month have (if a month = 6.24.00, number of minutes would be 384).
The button underneath which is called "Use same shift for all stops." forces the shift value to be the same on all stops which have "Wait for time" enabled. Unchecking the box allows you to specify a different shift value at each stop.

So, to answer your question, theorethically you set "wait for time" in each schedule at both their terminis, and add a shift value for the commuter train so it departs a minute or two later.

jamespetts

See Ves's post above describing the new "wait for time" feature.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

AP

Quote from: Carl on February 10, 2012, 01:50:11 PM
Note also that you'll need to play around with the spacing numbers and the "spacing_shift_divisor" in the settings menu to get the right values here. The rule here is as follows: set the "spacing_shift_divisor" to exactly the number of minutes-per-month in your game. That way, entering "1" into the shift box will amount to exactly one minute, and so on.

I'm trying to understand timetabling, but need a bit of help please related to the above point.

My game's default setting has "spacing_shift_divisor" set to 1440 in settings. However I can't find minutes-per-month, only "bits_per_month", and as I don't know how many bits a minute is, I don't know if they are equal or not.  However, since my game seems to be Spacing-Shifting in 16 second increments I suspect not.  16s is annoyingly not a useful fraction of a minute, which makes timetable maths complicated!

Is there a reason the game is defaulting to Spacing Shifting at 16s rather than 1 minute intervals?  Given various people set up games without scrutinising every setting, might it be wise for James to change the default (wherever it is, and it doesn't seem to be in simuconf.tab...) to be such that they match?  Or is there an adverse implcation I'm not aware of?


Ves

If you have the clock in the lower left corner, the minutes per month is hour*60 + eventual minutes. My months are 6:24:00 long which equals to 384 minutes, which is also the value I use as spacing shift devisor.

Carl

A long while ago I made a little table of how bits_per_month and meters_per_tile interact to determine the month length (and therefore to help you set the spacing shift divisor). Maybe it still works?

http://forum.simutrans.com/index.php?topic=7897.0

lukaskupasz


Matthew

 
Quote from: lukaskupasz on May 23, 2018, 10:46:36 AM
As you do the highway which is the mod?

Welcome to the International Simutrans Forum, Lukas!  :) Could you please explain your question? It's a little difficult to understand.
(Signature being tested) If you enjoy playing Simutrans, then you might also enjoy watching Japan Railway Journal
Available in English and simplified Chinese
如果您喜欢玩Simutrans的话,那么说不定就想看《日本铁路之旅》(英语也有简体中文字幕)。

Rollmaterial

The spacing feature now has its own Wait for time tickbox and will not work properly with Minimum load 100%. This needs to be updated.

Carl

You're quite right. However since I haven't played Extended at all yet, I am not in a position to write it.

If someone wanted to write an overview of Wait for Time I'd be happy to edit the original post. Does this post from Ves cover it?

https://forum.simutrans.com/index.php/topic,9241.msg152990.html#msg152990

accord2

I need help to make a schedule where trains wait for each other at a station. It's 1831 and signalling is.. you know. I tried making the train wait at that station but if they wait there then they will meet at other station. I'm really confused.
Son of a railroad man,  growing up in train stations, lover of trains

jamespetts

You will need to give more details of your track layout and what you are trying to do so that people can assist with your situation.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

accord2

oh sorry. I have a single track with some stations with double track (only at station). In one line (there's other) I made it work with try and error attempts. Is there any way to make a schedule to make trains wait for each other at some stations? Is it try and error or is there a trick?
Son of a railroad man,  growing up in train stations, lover of trains

jamespetts

A heavily used single track line is not (and was in reality not) possible using signalling technology from the 1830s. The early railway lines were either double track or had only the one train operating on them.

You will need to wait for the electric telegraph to be invented in the 1840s before being able to have an intensively used single track section.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

What you could do, is to, instead of using the "mirror schedule", you manually select the entries of the schedule in the reverse direction. That will allow you to enter different time-settings for both directions. Then define how frequent you want the trains to run, where, among others, the lower boundary is defined by the time it takes a train to travel the longest single tracked stretch.
Make sure to uncheck the "use same shift for all stops", since each stop will have its own "shift" value, and press "Wait for time" on all stops in the schedule.

The terminus stop should, for the purpose of this demonstration, have a shift value of 0:00 (it is the "clock" value benieth the input field that is important)
The  next stop should have a shift value of [the time it takes the train to between the terminus and this stop] + [loading time] + [substantial time buffer in case it runs late]
The  next stop should have a shift value of [the previous shift value] + [the time it takes the train to between the previous and this stop] + [loading time] + [substantial time buffer in case it runs late]
etc....

For the reverse, it gets a little trickier, and you might have to adjust the previous shift entries, in case the distance between the stops (and therefore, passing loops) are too uneven.
Start by find what shift value the train needs to have from this terminus in order to depart when the following train arrives to the terminus. Make sure that there is enough time to properly turn around and count for delays.
Then the return should in principle be like this:
The next stop should have a shift value of [the previous shift value] + [the time it takes the train to between the previous and this stop] + [loading time] + [substantial time buffer in case it runs late] + the additional time it takes for any oncoming train
etc...

So, it can be quite complicated for longer lines, but this, I believe, should be the principle in how to achieve that  :) Then I dont know if this ever was done like this...

edit:
As a matter of fact, I just tried to create such a scheduel. It was a hazzle, but it works pretty well now.
I have a line with six stations and four convoys. The stations are at quite some different distances to each other. Some takes 9 minutes and other takes 24 minutes to for the convoy to traverse.
You need to make sure that the "Departures per month" value is higher than twice the longest travel distance in time. So in my example, I need to have a "Departures per month" value of 48 minutes or higher. I have selected 1:03:59, which gives me 15 minutes to be flexible around that particular stretch.
Good luck!

Edit 2:
AND for easier management:
You should aim for an uneven amount of passing loops, if you have an even amount of convoys!