Upcoming Games

(UTC times)


Full list
Add a game

Upcoming Events

No events to display

DOTW Special Decisions

You are here: Home > Forum > Wishlist > Features wish list > DOTW Special Decisions

Page 1 of 1

DOTW Special Decisions 08/09/2023 at 21:02 #153252
rfw
Avatar
177 posts
The premise is to have a mechanism to synchronise the day of the week across multiple sims in a chain.

As there are multiple ways a timetable could be written with multiple days there should be multiple special decisions - If your writing an SX timetable it is not helpful to get a S or Su choice!

[DOTW] - choices of M, T, W, Th, F, S & Su
[SXDOTW] - choices of M, T, W, Th & F
[MXDOTW] - choices of T, W, Th & F
[FXDOTW] - choices of M, T, W & Th
[SSUDOTW] - choices of S & Su
Using the special choices of [any] & [not] with the above choices will allow the user to cover all day code possibilities

Synchronising the decision across multiple sims. (This could be a feature all of its own achieving a similar result, without the rest of this request.)

If the decisions are internal to the core code then they will be present in all sims and therefore can be linked between sims.
If the decision is made when a sim is initially loaded; then when two sims are chained, the master sim informs the slave of the choice and the slave will then force the decision to be in line with the master. If the slave sim is a master to another sim when it is chained to a higher master, the slave of the lower master is informed and the decision forced.
In this way the choice of the highest master in a chain is then cascaded to all sims within that chain.


Handling seeded trains using the decision

As has previously been mentioned in discussions around synchronisation of DOTW decisions on a chain, handling seeded decision trains is a potential issue as seeded trains enter as soon as the sim is loaded. Meaning that if two sims that intend to chain have chosen a differing choice to each other, then the trains seeded based upon those decisions will be from different days and if these trains cross the boarder may not have a valid timetable on the other sim or may clash with another service if there is a valid timetable.
One such method to handle this is described as such.
Introduce a post-load and pre-seed period which is before the start of time where sims can be chained and decisions cascade, but only if the sim is loaded with an active server. This period would be terminated when the chain master sends a ready to start message which would be cascaded down the linked sims. This pre-seed decision synchronisation period could alternatively be triggered when a tick box is selected in the Run a SimSig server section of the Enter network details page of the loader, marked I intend to chain.
A method of sending the terminate pre-seed decision synchronisation period message could be a windows without a close/'X' button and only a chaining complete button which stays on top of all other sim windows. Whilst this window is active it locks out the start/stop time button and can only disappear either when the button is pressed or the sim fully connects to an external signal box thus becoming a slave and not the chain's highest master which would lockout the start/stop time anyway. If dropped from the master before the ready to start message is received the window would re open


Whilst reasonably well thought out, there are probably a few holes in this suggestion that I overlooked and implementation would require a change to the core code around loading in of the sim which may not be possible.

-RFW

The train now standing on platform 2, should be on the rails
Log in to reply
DOTW Special Decisions 08/09/2023 at 21:38 #153253
JamesN
Avatar
1607 posts
Online
Decisions are already propagated across chained simulations since March this year (version 5.25)

The decision names and choices must be identical between sims to propogate.

We will look at better documenting it in due course.

Last edited: 08/09/2023 at 21:39 by JamesN
Reason: None given

Log in to reply
DOTW Special Decisions 08/09/2023 at 21:53 #153254
postal
Avatar
5264 posts
Good piece of analysis and proposition so thanks for the work. However, unless I've missed something there is a little bit more work before all of the bases are covered.

Looking at the era covered by the heritage timetables produced by Pascal (58050) it is clear that the coal plans agreed between the railway and the generating authorities where complex and very fluid arrangements. For example the train plan for the day at the SimSig TT level could have a requirement for e.g. either a train with imported coal from Hunterston in the Paisley sim or one of the Yorkshire collieries running to Rugeley Power Station. That gives the simple option of controlling two trains with conflicting paths and only a common DoTW decision entering a chain. As a more complex situation there is the possibility that a TT could be written with a family of trains to different destinations from a single entry point and DoTW decision but also having a rule so that only one of the trains enters (or vice versa between decision and rule). We would need to find a way not only to control the DoTW across a chain of sims but also a way to align the rules so that only one of the trains in that sort of situation enters the chain.

No doubt a corner case and not a major impact in the overall scheme of things so let's not let the chase for the ideal get in the way of the search for the possible but maybe something that needs to be in the thinking.

“In life, there is always someone out there, who won’t like you, for whatever reason, don’t let the insecurities in their lives affect yours.” – Rashida Rowe
Last edited: 08/09/2023 at 21:54 by postal
Reason: None given

Log in to reply
The following user said thank you: 58050
DOTW Special Decisions 09/09/2023 at 10:32 #153258
jc92
Avatar
3685 posts
What that really wants is the facility for multiple decisions

For instance
Train 1 2 and 3 all depart location A but to different destinations. 1 runs MX, 2 runs EWD and 3 runs FX.

In that case you want to have DOTW decision for 1 and 3, then a destination decision for all three as well. That way both decisions propagate. I avoid the mention of rules as in my opinion, I would ideally use decisions for this kind of multiple choice option over rules. The only reason I don't is because there isn't the facility currently to mix it up with DOTW situations like this.

"We don't stop camborne wednesdays"
Log in to reply
DOTW Special Decisions 09/09/2023 at 11:28 #153259
rfw
Avatar
177 posts
JamesN in post 153253 said:
Decisions are already propagated across chained simulations since March this year (version 5.25)

This is brilliant! Thankyou to the Dev or Devs that made this happen!

So would a choice made in any Sim within the chain can be seen by any other sim in the chain that has the same decision, or do all sims between the one that makes the decision and the one wanting to receive the decision

So if we have the sims Cornwall, Plymouth and Exeter all in a chain where: Cornwall is chained to Plymouth. Plymouth to Exeter & Cornwall. Exeter is chained to Plymouth. Cornwall and Exeter don't have a direct link.
If Exeter and Cornwall both have a identical decision called "Penguins" and Plymouth doesn't, would a Penguin choice made on Exeter be propagated to Cornwall through Plymouth even though Plymouth does not have "Penguins"?

Also are there release notes published somewhere?

The train now standing on platform 2, should be on the rails
Last edited: 09/09/2023 at 11:28 by rfw
Reason: formatting

Log in to reply
DOTW Special Decisions 09/09/2023 at 11:54 #153260
rfw
Avatar
177 posts
Also how does the decision propagation affect the seeding problem I mentioned earlier?
Does it broadcast the choice when it is made or ask if the decision has already been made by another sim in the chain before making or forcing the decision itself?
If the latter, how does it handle if two sims make choices on identical decisions before you have the chance to build a chain such as a decision triggered by train being seeded. Are they synchronised as part of the chaining handshake?

It also sounds like it does not resolve the issue of having trains already entered based upon seed triggered decisions that conflict across multiple sims.
Would there be scope to add functionality to SimSig to build a chain before trains are seeded, thus preventing a decision being triggered by seeded trains?

The train now standing on platform 2, should be on the rails
Log in to reply
DOTW Special Decisions 09/09/2023 at 16:43 #153261
GeoffM
Avatar
6376 posts
Decisions are propagated to every sim in a chain, regardless of whether it uses that decision or not. There is a race scenario where two sims might make conflicting decisions simultaneously, before the propagation has completed, but it's a small risk that can easily be handled by the user. Decisions are not made in many cases until it's needed, so it can't be done during the chaining handshake.

Decisions can't handle every scenario, and covering the whole country "properly" would be an insane amount of complexity. The Doncaster station sim (in testing) is complex enough and we've had to alter a lot elsewhere as well to have a reasonable level of accuracy - this is partly why the sim is a long time coming.

SimSig Boss
Log in to reply
DOTW Special Decisions 09/09/2023 at 20:50 #153262
jc92
Avatar
3685 posts
GeoffM in post 153261 said:
Decisions are propagated to every sim in a chain, regardless of whether it uses that decision or not. There is a race scenario where two sims might make conflicting decisions simultaneously, before the propagation has completed, but it's a small risk that can easily be handled by the user. Decisions are not made in many cases until it's needed, so it can't be done during the chaining handshake.
That suggests DOTW decisions can't be propagated then as 99% of the time it occurs on sim startup as at least 1 seed train will always rely on it. It would be impossible to chain prior to each sim making its own decision.

"We don't stop camborne wednesdays"
Log in to reply
DOTW Special Decisions 09/09/2023 at 23:45 #153264
rfw
Avatar
177 posts
jc92 in post 153262 said:

That suggests DOTW decisions can't be propagated then as 99% of the time it occurs on sim startup as at least 1 seed train will always rely on it. It would be impossible to chain prior to each sim making its own decision.
I guess the best we can do is not seed DOTW trains when building a family of timetables to chain and have it enter at the nearest convenient entrance instead.

I hope that the core Devs add the ability to chain before seed to their road (rail?) map at some point in the future, but due the fact that seeding functionality is so buried within SimSig itself and that this is a low priority issue that can be worked around using the old (pre-seeding) method. We won't see this be added in the next year.
We've argued the case enough, if they decide to pick it up. hurrah!, if they don't, then oh well & someone else can suggest in in 18 months once this thread is locked and buried.

The train now standing on platform 2, should be on the rails
Log in to reply
DOTW Special Decisions 10/09/2023 at 01:18 #153266
AndyG
Avatar
1842 posts
Simpler to just (temporarily) up the weighting of DotW decision as reqd when setting up the chain, it's what I do to match slave sims when testing Pascal N's TTs.
The other way is to just start up each sim and save a 00:00 snapshot for each DotW. KISS works for me and is just as easy!

I can only help one person a day. Today's not your day. Tomorrow doesn't look too good either.
Last edited: 10/09/2023 at 01:22 by AndyG
Reason: None given

Log in to reply
DOTW Special Decisions 10/09/2023 at 04:30 #153267
GeoffM
Avatar
6376 posts
We, as in the GHDTT providers, don't provide anything more than a ~27 hour timetable with 2-3 seed times because that alone is already a lot to test. I cannot imagine how difficult it would be to test a multi-sim, multi-(random)-day timetable thoroughly.

Since sims are chained after they start and seed, I think having a seed train be the deciding factor is not going to work across a chain. Each sim is going to seed and thus make a decision before the sims are able to talk to each other. I can't see any obvious ways to overcome this without major rewrites so I'm afraid this idea is likely dead in the water.

The post-start convenient entry point may be a winner though.

SimSig Boss
Log in to reply
The following user said thank you: rfw
DOTW Special Decisions 10/09/2023 at 10:46 #153270
bill_gensheet
Avatar
1413 posts
Would it be practical to have a 'Do you want to force any decisions' question when starting a sim ?
After timetable selection so it does not ask if there are no decisions, but before the seeding process commences ?

Default obviously no, if yes then the user gets a list of the decisions and options much as the 'force' method works now.

(Maybe we have been here before ?)

Log in to reply