News:

Simutrans Tools
Know our tools that can help you to create add-ons, install and customize Simutrans.

PR#144 Timing Points (was: PR#141 Water Tower)

Started by Matthew, February 26, 2023, 09:46:32 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Matthew

PR#141 is a water tower stop. It exists for those occasions when you want a train to have a scheduled stop where it does not take on or discharge passengers, mail or goods. This is often useful, for example, where a branch line joins a main line and you want to make sure that a slow train always follows a fast train.

Here is an example:



It looks a bit large here because early locomotives were so small; the scale looks better with late 19th century locomotives.

The key technical feature of a stop built using only water towers is that it will have no passenger, mail or freight capacity. This has two advantages. Firstly, you will not have passengers, mail or goods changing in a place where you don't want them (and they would not be permitted in real life). Secondly, that means that the train's departure will not be delayed (by up to the maximum loading/unloading time of any carriage or wagon in the train) by such undesired boarding or discharges. This can be a real problem for freight trains in particular, where loading and unloading times can often be longer than the scheduled intervals that you want.

However, if the period until the next scheduled departure is less than the minimum (un)loading time of any carriage or wagon on the train, then the departure will be delayed until that minimum time has been met, just as it is with all other stops.

If you know a stop will only have trains of a certain ware stopping, then you can mix the water tower with tiles of the other wares for aesthetic effect. For example, the screenshot shows a stop that is used only by passenger trains, so the Goods Siding tile can also be used on these platforms since passenger trains are not affected by the Goods Sidings' freight Capacity.

I would like to thank ACarlotti, jamespetts, makie, Ranran, Ves, and Vladki for their help with an earlier stage of this project.
(Signature being tested) If you enjoy playing Simutrans, then you might also enjoy watching Japan Railway Journal
Available in English and simplified Chinese
如果您喜欢玩Simutrans的话,那么说不定就想看《日本铁路之旅》(英语也有简体中文字幕)。

jamespetts

Thank you for your work on this. I am a little unclear as to what this is intended to achieve that cannot be achieved by the siding, which has zero capacity.

I would tend to suggest against an object in the game (a water tower) having a very different function in the game to what that object had in reality, as this is likely to be very confusing for players and undermine the economic realism intended.

May I suggest that this be an add-on?
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.

Matthew

#2
Quote from: jamespetts on February 26, 2023, 10:13:53 PMThank you for your work on this. I am a little unclear as to what this is intended to achieve that cannot be achieved by the siding, which has zero capacity.

Thank you for your rapid reply.

The Goods Siding has zero Goods Capacity, but that is not the same as not having any capacity at all. Enables_ware is still still set. That means that freight trains can and will load/unload cargos, as shown here:



Loading and unloading is often undesirable:
  • It extends dwell times, increasing the time by which trains may depart late.
  • Players lose control of the paths that cargos take through their network. You can see this in the attached savegame. The player wants the Inner colliery and the Inner power station to be served by one train, and the Outer colliery and Outer power station by another. But because they both have a scheduled stop before the junction, coal is transferred there.
  • Cargos may be transferred between trains of different players. This makes it impossible to replicate the kind of scenario often seen in real 19th century British railways, where a railway had a right to use a competitor's tracks, but not to (un)load there.

By contrast, the proposed stop has enables_ware commented out, so that it does not have passenger, mail or freight capacity. They cannot be transferred there. It is purely a stop for timetabling trains.

QuoteI would tend to suggest against an object in the game (a water tower) having a very different function in the game to what that object had in reality, as this is likely to be very confusing for players and undermine the economic realism intended.

The fact that the purpose was not clear from the UI is a very good point; thank you! To make the UX clearer, I have changed both the icon and on-map imagery to use a modified version of Ranran's clock icon:



It would be possible to just use the clock icon without the water tower if you want. It was just the only idea I had for something that would be visible on the map and would often be seen on railways at points where trains stop for timetabling reasons. Though I am not a 'detailer', I know that getting a period-appropriate look is important to some  other Simutrans players, and clocks in mid-air don't really fit with that. However, either would be an improvement on the current situation where players must build passenger stations and/or freight sidings at places where they have no desire to have such things board or alight. That is also unrealistic.

I have also changed the PR and thread titles in response to your helpful feedback.

QuoteMay I suggest that this be an add-on?

Thank you for the suggestion. I have used it as add-on for several years, but that means that it isn't available in multiplayer games. I could keep the improvement to myself but I thought it was nicer to share it. :) But of course, no one would be forced to build it.
(Signature being tested) If you enjoy playing Simutrans, then you might also enjoy watching Japan Railway Journal
Available in English and simplified Chinese
如果您喜欢玩Simutrans的话,那么说不定就想看《日本铁路之旅》(英语也有简体中文字幕)。

jamespetts

Thank you for this and apologies for the delay in replying. I would suggest that a water tower and some clock icons is not a very clear way of indicating what is going on here and looks untidy, as well as breaking immersion with the appearance of a railway created in the game.

I think that we probably need to think more carefully about why we need timing points other than at stations in the first place and think whether there may be a better solution for this. Can you elaborate a little on why you think that this is necessary?
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.

Matthew

Quote from: jamespetts on March 05, 2023, 12:28:12 PMCan you elaborate a little on why you think that this is necessary?


Timing points outside stations are necessary in order to accurately timetable trains. We can start to see how this is done in real ife by looking at this entry from  the GB Working Time Table on RealTimeTrains:



Train 1U32 is timetabled to spend 1½ minutes here at Ledburn Junction. What is Ledburn Junction? You might think it's a station, like Leighton Buzzard or Cheddington, but it's not. You might think it's a junction, where two routes meet, but it's not even that. Ledburn Junction is a place where trains can switch between the fast and slow tracks of the West Coast Main Line. The "engineering allowance" is basically catch-up time if things go wrong somewhere along the way - ostensibly temporary speed restrictions for engineering work, but in reality also operational reasons like waiting for a disabled passenger to alight. The "pathing allowance" is to make sure than this train is not on the same line at the same time as another faster or slower train. And, as you well know, the usual aim is to make sure that faster trains are not delayed by slower trains in front of them (since the passengers or freight on those faster trains will have paid higher prices for the privilege of arriving earlier). That means slower trains must get out of the way of the fast trains. At Ledburn Junction they can switch to the WCML slow lines. At other places they might need to wait on a branch before joining the main line or they might need to wait on a passing loop (even on a double-track line). Sometimes a station will be a convenient place to wait, but sometimes (as at Ledburn Junction) it's more convenient to do this away from a station, perhaps because the gap between stations is too large or because it's desirable to do this a certain distance or time from a major city.

And pathing allowances are required much more in Simutrans than they are in real life, because there are real life options that aren't available in Simutrans. Firstly, in real life drivers can simply proceed more slowly so that they don't reach a given point in front of a faster train. I suspect that in practice the usual procedure is to go as fast as possible since it's better to be early & waiting than to risk a delay, but it's always an option (especially for freight where moving more slowly may also save fuel costs). But in Simutrans, convoys always proceed at the fastest available speed. Secondly, in real life signallers can use the signals to make adjustments on the fly if a given train is proceeding more quickly or more slowly than timetabled (for example, if a freight train is lighter than usual and so reaches Shap Summit earlier than timetabled). Sim-Ex's signals (quite understandably!) can't react in that way because they are completely separate from the timetabling mechanic. If you base your timetable on a freight train running full and it runs half-empty because a new factory has opened near an intermediate station, then it could change from a branch onto a main line in front of your express passenger train, which could then be stuck at 40kph for hundreds of kilometres. So you need a timetabling point just before the branch joins the main line where the freight train can wait.

You can see an example of this in this save game (which naturally requires the pak from the PR).

As I have explained above, the existing stations perform poorly in this role because passengers, mail & freight load and unload at places where players may not want them to do so. Not only only this is unrealistic, it also disrupts players' commercial strategies, and also reduces the halt's timetabling effectiveness because it means the durations of stops become less predictable (since un/loading increases dwell times). These problems then compound one another once you have stations' transfer times increasing because cargo is transferring at the wrong stop. You can mitigate this by building bulk goods loading towers or post offices, but some might think that building major stations in the middle of nowhere....

Quote from: jamespetts on March 05, 2023, 12:28:12 PMlooks untidy, as well as breaking immersion with the appearance of a railway created in the game.

I agree that we must respect those who care about the aesthetic element though, which is why I used the water tower 'art'. Water towers were a common sight in the steam era and a place where trains are timetabled to pause anyway is an obvious place to build one. So the water towers should not appear out of place on a British or Irish railway. And the end of steam (if it even happens in-game) does not matter because you can still see water towers around today. So the water tower 'art' is just there to accommodate detailers.

And I got the idea for the clock icons from the pakset's UI for ships. Ships do not actually have little envelopes or snowflakes tagging along behind them in mid-air ;D but we display these in order to indicate which ships have mail and food holds. So there is precedent for allowing mildly immersion-breaking icons for gameplay reasons.
(Signature being tested) If you enjoy playing Simutrans, then you might also enjoy watching Japan Railway Journal
Available in English and simplified Chinese
如果您喜欢玩Simutrans的话,那么说不定就想看《日本铁路之旅》(英语也有简体中文字幕)。

jamespetts

Thank you for that. I should note that already present in the code for the 15.x version is a feature that allows players to set a maximum speed for a consist for each destination on its schedule, which should prevent (e.g.) trains from reaching their destinations sooner than anticipated in this way.

If we really do want to set non-loading timing points even though the speed limiting feature is coming, what I would suggest is something very similar to the existing siding graphic, but perhaps even subtler, possibly with some alpha transparency, so that players can see clearly enough where these are located, but they will not look like out of place objects cluttering the game world. Water towers in reality would not be placed in the middle of nowhere, but, rather, at depots and in stations. One might simply modify the existing siding graphic by changing the hue/saturation/luminance/alpha rather than creating a totally new graphic.

As to the icon for ships' holds and mail boots, these only exist because there is no alternative: if these had no graphic at all, it would be impossible to select them in the depot window because vehicles can only be selected by clicking on the graphic, and, if there is no graphic, they cannot be selected at all. I should much rather be rid of them if possible, but I lack the resources to reprogram the UI to the extent necessary to achieve this, and, as they are alpha blended, are less obtrusive than they might otherwise be. I certainly do not want more graphics of this sort without need.
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.

Matthew

Quote from: jamespetts on March 11, 2023, 01:11:25 PMThank you for that. I should note that already present in the code for the 15.x version is a feature that allows players to set a maximum speed for a consist for each destination on its schedule, which should prevent (e.g.) trains from reaching their destinations sooner than anticipated in this way.

If we really do want to set non-loading timing points even though the speed limiting feature is coming,

Maximum speeds per journey leg would certainly be a useful new feature. However, as development on the consist feature has been underway  for six years and is currently paused (for a very sensible reason), I think that there is still likely to be a period of time when timing points are useful.

Quotewhat I would suggest is something very similar to the existing siding graphic, but perhaps even subtler, possibly with some alpha transparency, so that players can see clearly enough where these are located, but they will not look like out of place objects cluttering the game world. Water towers in reality would not be placed in the middle of nowhere, but, rather, at depots and in stations. One might simply modify the existing siding graphic by changing the hue/saturation/luminance/alpha rather than creating a totally new graphic.

As you have suggested, I have adjusted the colour of the goods siding graphics like this:


It is available for incorporation in PR#144.
(Signature being tested) If you enjoy playing Simutrans, then you might also enjoy watching Japan Railway Journal
Available in English and simplified Chinese
如果您喜欢玩Simutrans的话,那么说不定就想看《日本铁路之旅》(英语也有简体中文字幕)。

jamespetts

Thank you - and apologies for the delay in reply. This is now incorporated.
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.

Matthew

Thank you for merging this, James. Here it is in use at a Caledonian Railway passing loop on B-B:
(Signature being tested) If you enjoy playing Simutrans, then you might also enjoy watching Japan Railway Journal
Available in English and simplified Chinese
如果您喜欢玩Simutrans的话,那么说不定就想看《日本铁路之旅》(英语也有简体中文字幕)。

Mariculous

#9
Quote from: Matthew on March 30, 2023, 07:42:54 AMMaximum speeds per journey leg would certainly be a useful new feature. However, as development on the consist feature has been underway  for six years and is currently paused (for a very sensible reason), I think that there is still likely to be a period of time when timing points are useful.

Plus, there are significant effects on schedules that are not covered by maximum leg speed.
Especially for cargo trains, the actual load affects acceleration, thus leg times significantly.
Furthermore there are still many external factors that a static leg time does not account for (waiting for clearance due to other delayed trains or level crossings)

So in any case, although leg speeds are quite desirable and probably useful, I am pretty sure timing points will remain useful even after leg speeds have been implemented.