News:

Simutrans Sites
Know our official sites. Find tools and resources for Simutrans.

Improved handling of no route.

Started by Fabio, January 10, 2013, 06:20:31 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Fabio

When a vehicle can't route to next scheduled stop, try routing to next next and so on. When you reach the original stop in the list, give up and return no route error.
This would be very handy when a stop is temporarily unavailable due to works on the way.

Ters

For trains, this can be disasterous, as the train might find a route not intended for it and cause a deadlock.

dannyman

Yes, I would prefer a pop-up notification.  No route means you have a problem that needs to be solved quickly.

An_dz

Quote from: dannyman on January 10, 2013, 06:50:27 PM
Yes, I would prefer a pop-up notification.  No route means you have a problem that needs to be solved quickly.
Messages->Options->No Route
Checkboxes:
1st: Message on footer
2nd: Pop-up with automatic closing time
3rd: Pop-up without auto-close

Ters

In some cases, it could be useful that the game automatically gets paused so that I get time to evaluate the problem and decide if something must be done immediately, or if the vehicles can stay put until the reason for it ends. Other times, I anticipate that vehicles will be unable to route for a short while.

Fabio

I thought that a running vehicle raises less havoc than a still one.

Another idea could be that no route vehicles can be passed through,so that they don't disrupt working lines. It wouldn't be realistic, but not even no route ones are. To show this behavior graphically they could be displayed 50% transparent.

VS

#6
I'd say no route is a serious problem, which needs attention immediately. Silently skipping that would not be an option for me. The game can't really tell what I am doing in the big picture.

The original idea has some appeal, but it assumes a lot: Some way to get to next stations exists, and it is not suboptimal in some unpredicted way. Apart from road, all other waytypes are very "exact" and do not usually offer some bypass. A train line could do this through a loop the other way or something, making the train go half a map and back. Hardly a help, IMO not worth the effort.

For singleplayer, pausing could be useful. At the same time, when does one make the game pause? When a no route message happens? Routing is retried fairly often, so that effectively stops the game. Sounds like a mixed blessing - I could be working on some intensely used part and want the remaining vehicles to move out of the way. Of course that's just a reason to make it more intelligent :) (pause only in fast forward or when player has not made any inputs for x time units)

I wonder how the perspective changes for online games. Any mess there is even more disruptive. Pausing the game when no route happens would mean no more bankrupting others. At the same time, it would be an easy way to troll everyone with DoS - just connect and disrupt a route, game is stopped, hahaha. Or even build a route, break it and disconnect with just one stuck vehicle pausing the game.

Quote from: Fabio on January 11, 2013, 11:57:40 AM
I thought that a running vehicle raises less havoc than a still one.
Depends on the presence of driver ;)

My projects... Tools for messing with Simutrans graphics. Graphic archive - templates and some other stuff for painters. Development logs for most recent information on what is going on. And of course pak128!

Ters

Quote from: Fabio on January 11, 2013, 11:57:40 AM
I thought that a running vehicle raises less havoc than a still one.

Apart from what VS wrote, that running vehicle might run only to get stuck somewhere else which lacks the capacity for it. I've got a few stations where trains not following the established lines must be routed through by hand, possibly be telling other trains to stop for a moment, or it will likely block one side of the station completely for some time.

greenling

We need a Alarm System that make ring then a Vehicle find not route.
And Jump to convoy button who a vehicle have no route.
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!

Combuijs

Quote from: greenling on January 11, 2013, 04:05:54 PM
We need a Alarm System that make ring then a Vehicle find not route.
And Jump to convoy button who a vehicle have no route.

Very true, and I am glad it is already there... (Click on the picture when you get the "no route"message).
Bob Marley: No woman, no cry

Programmer: No user, no bugs



Fabio

There is no route and no route, I beg to differ ;)

There is no route as a serious network problem.

There is also an intentional no route. E.g. if I want to bulldoze and rebuild a stretch of way I usually disconnect one tile or place a no entry sign to protect the working site. In this case ignoring no route vehicles and consists would be helpful to preserve the rest of the network.

VS

Quote from: Fabio on January 11, 2013, 06:03:48 PM
There is no route and no route, I beg to differ ;)
How do I tell them from each other then? I can't see a way... (my brain found no route! ;D ) But maybe something can be worked out.

My projects... Tools for messing with Simutrans graphics. Graphic archive - templates and some other stuff for painters. Development logs for most recent information on what is going on. And of course pak128!

Bear789

#12
I too believe that no route shouldn't be changed, I'd actually like to have it prompt me the problem more quickly, because in my experience the game shows the pop up when there's already an horrible and hard to solve gridlock. Another problem that I can see is that if the vehicles automatically skip stops without removing them from the line, they will most likely still load the passengers for that destination but won't unload them, cloggin the whole line.

Rather than reworking the no route function, Fabio's goal could be achieved with an option to reassign all the vehicle in a line to another line. Like a button "promote all to line" in the line management window, next to the "withdraw all" one. When merged, vehicles should keep their original next destination if doable.
With that you can have a normal version of that line and an abridged version, and switch easily from one and the other for special situations.
The same function could be also usefull in other situations too, for example when you merge two different lines.

Ters

The no route message comes as soon as a vehicle tries to move onto a tile it no longer can, or when calculating the route from current waypoint to the next. A gridlock should not have developed yet at that time, though it might have by the time you figure out how to solve the routing problem. The message about a stuck vehicle take a month or so to appear, and by then the situation can be quite serious, but such thing are caused by bad routing, not complete lack of a route.

Bear789

You're right, I kinda confused the two about the delay that causes gridlocks, still I was thinking about a thing: courrently, on an A-B-C line, if you have a problem between B and C, you have the no route message when the vehicle tries to leave B. It would be helpfull, even if maybe would cause slowdown, if the vehicle could check the whole route when it first leaves the depot.
That's not the point of this topic, though.