Page 1 of 3

Signal Randomiser

Posted: Tue Aug 23, 2011 1:27 pm
by DescendingSadly
One thing that makes this sim so unrealistic is the predictability of the signals.

Is there any way at all some code can be created to randomise signal aspects and platform allocations? At the moment driving in Railworks is so boring and predictable, and this would add a little spice.

Thanks

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 2:03 pm
by AndiS
Platform allocations, i.e., the path set through the switches is the scenario authors doing and cannot be changed randomly.

Signal aspects can be changed in scripts, and you can very well have some random function to show some stop aspect sometimes for a few minutes although the route is clear. Unfortunately, the AI will just ignore that, as it ignores any logic of the signal, if the block beyond it is clear, then AI will pass the signal.

The problem will be to swap the right amount of signals for randomised ones. They should be where you don't care about AI behaviour, and at plausible locations, e.g., rather station entries than block signals somewhere out there. Replacing signals is a bit tedious if they have many links, which is typical for station entries.

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 4:47 pm
by simuk
I don't think programmers are keen on "random" things (I was told by a programmer that random isn't actually possible in software - it isn't actually random, it'd be 1 of x possible outcomes) because it makes bug testing so much harder. Imagine having to test a scenario with x random randomness events, and how would you know which one you were going to get? Now multiply that by several separate random events or settings that could occur, you'd soon get thousands of variations.

I do agree though that it all feels far too predictable, no one pulling the communication cord (or passcom), no engine failing or brakes locking on, no unexpected change of routing mid-way through the scenario other than what has already been set and is given in the text instructions, no unexpected long wait at a station because of another train running late or passengers standing in the way of the doors, etc, etc...

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 5:07 pm
by bigvern
With one or two of the scenarios I created recently, I set up a train to precede the player train. This has the effect of giving cautionary signal aspects if you catch up and prevents early running, though I guess it's not exactly random.

At the risk of repeating what I've posted previously, randomisation is perfectly possible in a train sim. The old Train Driver 3 would generate signal checks and TSR's according to the difficulty level. Where running on multi track it would also throw a curved ball and randomly put you across on the Relief/Slow line.

The Zusi activity editor allows the author to select any or all routing the train can use from a diverging and assign a % chance of the sim sending the train over that particular stretch of track. Obviously the author needs to know not to send the train where it can't get to the destination from but I don't see any reason why RSC couldn't devise something similar for RW.

e.g. Approach Reading West Jn on the UM, available routes (for stopping train) are P4, P5, P8 or P9. Assign 50% to P5, 35% to P8, 10% to P9 and 5% to P4. On departure from Reading, 65% back on the UM, 35% of the time you get the URL. Game rolls a dice of channce based on the % of that event happening.

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 5:26 pm
by crazyfrogbro
Signals should show not random aspect. The traffic should be more dynamic and dense, but now it's immpossible since the ai dispatcher is pretty dumb and hanging up on every unpredictable situation, or on a more difficult crossing situation.
This time the only train games that support real dynamic traffic are OpenTTD and trainz.

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 7:21 pm
by wynnetom440
You've hit the nail right on the head there, you're right it's too predictable to the point where it isn't challenging at all imo..
I wouldnt mind random events occuring such as maintenance work with TSR dotted around sometimes, broken down trains, signal failures etc etc (events which you arent expecting and that you have to react to) after all it is meant to be a train simulation so scenarios which real drivers face on a day to day basis should be included.

Tom

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 7:23 pm
by shaun123
simuk wrote:
I do agree though that it all feels far too predictable, no one pulling the communication cord (or passcom), no engine failing or brakes locking on, no unexpected change of routing mid-way through the scenario other than what has already been set and is given in the text instructions, no unexpected long wait at a station because of another train running late or passengers standing in the way of the doors, etc, etc...
Regarding the last bit about a long wait at a station, there is one of these at Haslemere on the 421 scenario.

If I remember rightly, I don't have the times to hand but scheduled departure is 1150 and due to having to wait for the express you don't leave until 1153/1154 when you get the single yellow.

The problem is, it happens each time so it's predictable, only thing I can think of is cloning the scenario a few times and having different departure times, where by you don't get delayed, or are delayed for ages.

It's like (and this is just an example, not a jibe at JT) but a 153 scenario on the Bristol-Exeter route has a broken down train near Yatton, so are held at a signal, but obviously every time I play it, I think, oh that broken down train is coming up in a minute. It is a slight downside of RW, but it's still extremely enjoyable.

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 8:04 pm
by Kariban
I think signal failures could be done, probably not that much extra effort ( Andi how exactly does the AI check to pass a signal? if it asks for a block count can't we just fake add an extra train to that? ) and at least player train failures are promised with RW3 ( AI failures would be useful! ) but let's not go too overboard - this is still a train simulator, and most trains are supposed to follow a preset path from start to finish. I'd like comments from real drivers on how often they get diverted away from their path before I spend any effort thinking about how to randomize absolutely everything.

Scenarios currently are meant to represent one journey, which is why you get all the spot event options and so on. The weather is locked to the scenario too, etc. Perhaps someone needs to do a weeks worth of one scenario, just changing the weather & the timings of the AI slightly ( and any spot events ). I would imagine it's possible with a lot of work to make a scenario generator too.

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 8:06 pm
by wynnetom440
Yes a scenario generator would be excellent!

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 8:09 pm
by zatnikitelman
I'm not sure about random, but I do think it should be possible in the scenario editor to specify a station, and let the conditions at time of arrival specify into which station track the train goes. This would be particularly nice on the upcoming Northeast Corridor route where even the dispatchers in real life may not know the track assignment of a train into New York until a few minutes before it actually arrives.

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 8:18 pm
by wynnetom440
Sort of linked to this would be passenger density levels.. e.g. at peak times the passenger density would be high, meaning longer loading times... compared to mid afternoon services which would probabaly be the opposite..

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 8:26 pm
by FoggyMorning
wynnetom440 wrote:You've hit the nail right on the head there, you're right it's too predictable to the point where it isn't challenging at all imo..
I wouldnt mind random events occuring such as maintenance work with TSR dotted around sometimes, broken down trains, signal failures etc etc (events which you arent expecting and that you have to react to) after all it is meant to be a train simulation so scenarios which real drivers face on a day to day basis should be included.

Tom
There are plenty of scenarios by (amongst others) Richard Armstrong, Almark, Darpor and MalkyMackay to name but a few that do incorporate these features

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 8:42 pm
by AndiS
How does AI decide whether to pass a signal? Basically, it divides the network at all link 0s. Each train should have a link 0 between itself and the other trains all the time. If not, it gets wobbly to different degrees. And there are few heuristics to define that degree. E.g., on a track that is singled for one direction only but bi-directional per track property, it does not get wobbly for a sequence of AI trains -- but then again, I never explored whether booking so many blocks ahead is influenced by signalling for the other direction. In contrast, someone recently reported AI denying to enter a track section where a player train had a chance to enter from a siding. There was not link 0 separating it, but it had orders to go to the other direction. I.e., there could be a difference in the safety margin drawn around a player train and AI train.

Adding invisible AI train, that would be normal for MSTS users. However, with the introduction of timetabled scenarios, I cannot imagine an advantage you would get from such a train. You just delay it via the departure time or the performance percentage.

Changing the weather is a simply change in a single value. I believe it is easily done with RW Tools.

Changing small details in the timing -- in theory, that would be simple and easy, in practice, you are at the whim of the dispatcher who will decide if he starts hating your work or not.

A scenario generator would be a great thing and I spent many a thought on it, but with indeterministic AI and no help in sight there is little point in putting effort into that.

Changing passenger density over the day is a feature existing since the release of KRS in 2007. I never tried it, but I read about it in the documentation.

The problem with all these things is that you can them for your one scenario and for that, it is always the same: Passenger density (because the time at which you pass the platform will be roughly the same), weather, AI, everything except scenery objects, those can be scenarios-specific, but they are not connected to AI or signals (or passenger density or weather).

Two thoughts on random event and their occurrence in real life and in game:
1) It totally depends on where you look, for the prototype. Most prominent exponents are US freight trains and German passenger trains.
2) In the prototype, boredom caused by strict plans and clear rules is desirable, because it correlates with safety. In the game, entertainment is desired and that correlates with the unexpected and from taking things to the limit. Unexpected stops for whatever reason, slightly too heavy trains, very tight schedules, are all things you want to avoid in the prototype and which are fun in the game.

Personally, I think that all our thinking and speaking and desiring is for nothing because RSC announced that they want to go multiplayer. Even if that is postponed a bit now, it means that they are not going to give us interesting, clever AI now and "ordered chaos" caused by multiple players a year after.

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 11:01 pm
by paulz6
I think half of the problem is that the dispatcher does not care how the signals are scripted, it has it's own view of things.
I don't think we need to go into signal randomisation, rather go do down the route of driver behaviour randomisation. Does a driver thrash it under the yellows, or does he lift off and conserve energy? Steel wheels on steel rail! Imagine a realm of multi-players!
Either way, the signalling is the problem, because no matter how realistically it is scripted, the dispatcher/AI will ignore it in view of its own way of seeing things.

Re: Signal Randomiser

Posted: Tue Aug 23, 2011 11:04 pm
by Ryosuke
Kariban wrote: I'd like comments from real drivers on how often they get diverted away from their path before I spend any effort thinking about how to randomize absolutely everything.
well, i'm currently trained on local freight movements in a very dense part of the german network with a lot of freight only lines. here you never know how you will get through since hardly any freight train runs exactly according to its schedule. trains are pretty much dispatched according to first come, first served, except for some really important ones.
there is especially one junction where a multitude of lines meet where anything can happen between an all clear run through and hours of waiting. it always depends on the present situation, which train you drive, which line you are on, what trains are approaching, how stuffed the yard at your destination is, whether there is a interruption somewhere and others. sometimes its just the signalman who forgot you...;)
also due to the density of the network here in some parts you can take different routes and you never know before which one it will be.

its a different matter for passenger traffic, although a multitude of disruptions, incidents, defects or construction work creates ernough variety there, too.