I have a line being served by a dozen road vehicles. I decide that the line would be more profitable with two fewer vehicles, so I locate the two newest vehicles to sell (as I'm short of cash and want the highest resale value) and direct them to the depot. The result is complete and seemingly irretrievable gridlock.
This happens because the vehicles on the line have bunched together, and when the front one stopped for route-finding it caused a tail-back long enough to pass the mouth of the depot. This really shouldn't have been a problem. The vehicle being sent to the depot should either have done a U-turn or gone round the block, whichever its route-finding algorithm thought was faster, by which time the tail-back would probably have cleared, and even if it hadn't yet cleared, it would do shortly. But what it actually does is to stop and wait until there is a free path to the depot which of course never happens. Nor can I send the vehicle blocking the depot entrance into the depot. Once it's in this state, building another depot doesn't help, nor does adding and removing roads in the hope of tricking the route finding algorithm into doing something. So far as I can tell, the situation cannot be recovered. Sadly Simutrans doesn't have the option to blow up a vehicle as Transport Tycoon had.
Has anyone else encountered this?
Can you remove the vehicles by (from the vehicle window) pressing Details -> Sell Now?
Quote from: carlbaker on October 05, 2012, 02:25:02 PM
Can you remove the vehicles by (from the vehicle window) pressing Details -> Sell Now?
Thanks. I didn't know about that option. Yes, that works. But it leaves the rest of the tail-back blocked. In the end, I had to sell 8 of the 12 vehicles before I regained control.
What's really needed, I think, is a way to break out of route-finding so that I could cancel the 'go to depot' instruction and have it resume its ordinary schedule. However, I'm not familiar with the route finding code. Does that sound a difficult thing to implement?
Good day ras52
You play around with Simutrans exp and pak128 features Britain exp?
If Yes.
Then you have read through the help texts in the road menu incorrectly,
it is this explained namely time in because Street Depot
to switch the drive types can.
You must very carefully on the street Depot look.
Because sometimes it is the street Depot was no different.
I myself also once had this problem.
As a beginner it would be better only once more with Simutrans Standart and pak128 britain to play.
As exp with Simutrans and pak128 britain exp to begin playing.
Actually, I'm pretty sure this is a straightforward coding bug, even though I've not located it precisely. The vehicle is stuck because simutrans thinks the schedule is still open, even though the window is not open. Specifically, the call to schedule_t::ist_abgeschlossen on simconvoi.cc:1408 is returning false. My guess is that somewhere in the code for sending a vehicle to the depot, there's a missing call to eingabe_abschliessen(). Unfortunately, as I said earlier, I'm not particularly familiar with the route-finding code.
ras52
If you have possibly then Simutrans exp developer code from
https: // github.com/jamespetts/simutrans experimental
or from https: // github.com/aburch/simutrans loaded?
Then it to your own Simutrans exp to build?
If the way you have made, then you have a defective Simutrans built.
TurfIt have do work on the Simutrans Exp developer code.
As a beginner, you should let the fingers of Simutrans exp developer code.
Your score and your Simutrans exp you can forget.
I'm sorry, Greenling, but I'm struggling to understand what you're saying. Yes, I have a git checkout of James' -devel branch which I've compiled myself. However, I'm pretty sure the problem is not specific to my build, as I've been building simutrans from source for several years and I've not had problems with it before; and in any case, I know what sort of problems are likely to result from a bad build, and this isn't one. Possibly there is a bug on the -devel branch that's not in the current experimental release; but if so, based on past experienced, I'm pretty sure James will be pleased someone has located the bug.
Save & reload should clear this fault flag (at least this should happen in standard).
Whilst this isn't a perfect fix as it addresses the symptoms rather than the underlying problem, this patch (https://github.com/ras52/simutrans-experimental/commit/0e4ce9140954495cd0b1abaa047ddf2daad9223d) should prevent it from happening. If you click 'Go to depot' while the vehicle's schedule is open, it now ignores the instruction to go to the depot. (To clarify: by "the schedule is open", I mean that the schedule_t::abgeschlossen variable is set, not that the schedule window is open.) This occurs really very rarely — I can only duplicate it by deliberately causing gridlock, e.g. leaving the schedule window open while a vehicle is at a stop, allowing a tailback to develop behind it, and then trying to send one of the backed-up vehicles to the depot. I've not noticed it break anything else, but as I've said above, I'm not particularly familiar with the route-finding code and can't be sure there isn't something else that relies on this behaviour.
Ahh, I've only just spotted this thread! Thank you for your work on this - I saw that you incorporated this patch into your latest -devel build, which I incorporated yesterday. It is much appreciated!
Ahh, there was an error with this, which I have now just fixed on my 10.x branch: the ist_abgeschlossen() method returns true if the schedule is not open ("abgeschlossen" is German for "completed"), so we needed an extra "!" in the code, which I have added. This was causing this (http://forum.simutrans.com/index.php?topic=10731.0) bug.