Routes
Moderator: OpenTTD Developers
-
- Engineer
- Posts: 21
- Joined: 29 Jun 2004 14:38
Routes
Routes can help solve the train cloning problem, when you need to buy several trains for a same route.
We'll need a "Routes" window. An route consists of several waypoints, just like a regular schedule. In this window, we can create routes and give them names.
When we buy a new train, tram, bus or whatever, we just need to go to schedule tab and click "Assign to route", then select a route we need.
What's important is that when we will change a route, all the vehicles will change their schedules, too.
I know that there is already "order sharing" function in OpenTTD. Still, I think that concept of routes is much more intuitive, and allows for easy route management. For example, in the routes window we can add some statistics, like overall profit of all trains on the route.
And when it comes to trams or buses, there could be an option "Maintain equal distance" to allow them to go at equal intervals. This will help avoid vehicle stack-ups.
We'll need a "Routes" window. An route consists of several waypoints, just like a regular schedule. In this window, we can create routes and give them names.
When we buy a new train, tram, bus or whatever, we just need to go to schedule tab and click "Assign to route", then select a route we need.
What's important is that when we will change a route, all the vehicles will change their schedules, too.
I know that there is already "order sharing" function in OpenTTD. Still, I think that concept of routes is much more intuitive, and allows for easy route management. For example, in the routes window we can add some statistics, like overall profit of all trains on the route.
And when it comes to trams or buses, there could be an option "Maintain equal distance" to allow them to go at equal intervals. This will help avoid vehicle stack-ups.
-
- Engineer
- Posts: 21
- Joined: 29 Jun 2004 14:38
-
- Engineer
- Posts: 21
- Joined: 29 Jun 2004 14:38
Let's think about route statistics and control.
Statistics should include:
- profit last month (or last year)
- number of vehicles/trains
- average speed on route.
Control commands:
- Shutdown route. This will stop and sell all vehicles on route.
- Suspend operations. This will stop all vehicles without selling them.
- Maintain equal intervals. This will let a vehicle go only if another vehicle on this route is more than x tiles ahead, where x = route length / number of vehicles. This will not take into account different vehicle speed, but should be usable enough, especially for trams and buses. And surely a vehicle should wait only on stations/stops.
- Replace motor vehicle. This command will replace motor vehicle to a chosen one for all vehicles on route.
- Set quanity/type of wagons. For trains, this will buy/sell wfgons to reach a certain quantity of wagons of needed type.
-
Statistics should include:
- profit last month (or last year)
- number of vehicles/trains
- average speed on route.
Control commands:
- Shutdown route. This will stop and sell all vehicles on route.
- Suspend operations. This will stop all vehicles without selling them.
- Maintain equal intervals. This will let a vehicle go only if another vehicle on this route is more than x tiles ahead, where x = route length / number of vehicles. This will not take into account different vehicle speed, but should be usable enough, especially for trams and buses. And surely a vehicle should wait only on stations/stops.
- Replace motor vehicle. This command will replace motor vehicle to a chosen one for all vehicles on route.
- Set quanity/type of wagons. For trains, this will buy/sell wfgons to reach a certain quantity of wagons of needed type.
-
-
- Transport Coordinator
- Posts: 259
- Joined: 01 Oct 2004 12:16
- Location: Earth, Europe, Czech Republic, Prague
Maybe it would be easier to just improve current system of shared orders a bit?mbarashkov wrote:The difference is maybe just in the interface.
With routes you can view all the routes in a single window, possibly with statistics and commands like "Shutdown route and sell all vehicles". With shared orders you cannot do that.
-
- Engineer
- Posts: 21
- Joined: 29 Jun 2004 14:38
-
- Transport Coordinator
- Posts: 259
- Joined: 01 Oct 2004 12:16
- Location: Earth, Europe, Czech Republic, Prague
Well... what you need to do it? You need to know whether vehicle X is assigned to route Y and you need to be able to find all vehicles assigned to route Z. So, the current "shared orders" have what it needs to create "routes".mbarashkov wrote:How exactly would we do these tasks and view these statistics using shared orders?
Well, as for how I imagine it... how about this:
Every vehicle with shared orders having extra statistics, like "Shared orders with x vehicles" "Route profit last year" and "Route profit this year" and in the "goto" panel extra button, "Route" or "Shared orders" and here commands, sth. like "shut down route", "upgrade route to this engine" and for trains "set default route capacity (x wagons)" (which will apply for trains and buys/sells wagons of all other trains with shared orders, so that they have the same amount of wagons as selected vehicle).
If somebody manages to code in the "equal interval" feature into the game, I would make it default behavior for all vehicles with shared order (turned on/off in game settings menu)
note: I think it should be possible with the "shared orders". Now the goto list of all vehicles with shared routes can be altered, so it should be possible to issue "goto depot" command and "buy/sell engine/train/wagons" command to them. As for the statistics, it's just taking every vehicle's with same shared orders statistics and sum the numbers. Problem is how it should handle situation when you sell some vehicle(s) with shared orders or give it different orders
Last edited by Joker on 04 Nov 2004 14:08, edited 1 time in total.
I've already written a station statistics system which will be implemented soon. I'm pretty confident that I can adapt it to a route system. However, all those "sell" and "renew" vehicles stuff will mean that the vehicles have to find a depot before being sold.
I'll keep this idea in mind for some post-0.4.0 release
Celestar
I'll keep this idea in mind for some post-0.4.0 release
Celestar
-
- Engineer
- Posts: 21
- Joined: 29 Jun 2004 14:38
equal interval could be implemented by keeping track of time_since_last_departure and number_of_visits_last_12_months for each station (possible for each route on each station). Then, if a vehicicle is full, it leaves the station immediately, else it waits until time_since_last_departure approaches 12/number_of_visits_last_12_months months. (leave a little earlier if there are vehicles queuing for the station to make it converge.)Joker wrote: If somebody manages to code in the "equal interval" feature into the game, I would make it default behavior for all vehicles with shared order (turned on/off in game settings menu)
number_of_visits_last_12_months could probably be approximated cleverly by a exponentially decaying mean over the time_since_last_departure variable.
-
- Transport Coordinator
- Posts: 259
- Joined: 01 Oct 2004 12:16
- Location: Earth, Europe, Czech Republic, Prague
That will be just fine.Celestar wrote:I'll keep this idea in mind for some post-0.4.0 release
I wonder if there's a way to sum up the suggestions placed here. The forum grows a little big. Best giving priority to each of them.
Well, but now, of course, it's the time of map rewrite... From the look at the Wiki it seems that it's nearing the "50% completed" mark (I'm sorry, I know I'm impatient... but who isn't? )
- jabberwalkee_
- Transport Coordinator
- Posts: 378
- Joined: 22 Sep 2004 04:56
- Location: Brisbane, Australia
This is very similar to what i suggested
http://www.tt-forums.net/viewtopic.php?t=11431
minus the spacings (which i like A LOT.....perhaps could be coded by dividing the total travel time between the stations, which couldbe recalculated every time a train goes through, by the number of trains on the route and synchronising the depatures that way )
I think it is probably a better idea to group the vehicles and issue them orders than to issue a group order to a bunch of vehicles......if that makes sense.
But yes.....we are really talking about the same idea
http://www.tt-forums.net/viewtopic.php?t=11431
http://www.tt-forums.net/viewtopic.php?t=11431
minus the spacings (which i like A LOT.....perhaps could be coded by dividing the total travel time between the stations, which couldbe recalculated every time a train goes through, by the number of trains on the route and synchronising the depatures that way )
I think it is probably a better idea to group the vehicles and issue them orders than to issue a group order to a bunch of vehicles......if that makes sense.
But yes.....we are really talking about the same idea
http://www.tt-forums.net/viewtopic.php?t=11431
- jabberwalkee_
- Transport Coordinator
- Posts: 378
- Joined: 22 Sep 2004 04:56
- Location: Brisbane, Australia
Really? Fair enough........I'd be easy with either really. The point is we need the functionality we are trying to suggest ways to implement.
A - Shared Orders
B - Shared (Averaged?) Statistics
C - Mass Vehicle Replacement
D - Arrival and Depature Management (or spacing or something like that)
D is a little more trivial than the first three tho.
A - Shared Orders
B - Shared (Averaged?) Statistics
C - Mass Vehicle Replacement
D - Arrival and Depature Management (or spacing or something like that)
D is a little more trivial than the first three tho.
- jabberwalkee_
- Transport Coordinator
- Posts: 378
- Joined: 22 Sep 2004 04:56
- Location: Brisbane, Australia
I realise D is hard.....hence it being D
And i accept that mass vehicle replacement only works if the vehicles are all in the depot.....but that can't be too hard to do considering the current code all but does it (i think.....autorenew?). Besides it would be unrealistic if you diddn't send them to the depot.
And i accept that mass vehicle replacement only works if the vehicles are all in the depot.....but that can't be too hard to do considering the current code all but does it (i think.....autorenew?). Besides it would be unrealistic if you diddn't send them to the depot.
- Emeric Pro
- Engineer
- Posts: 107
- Joined: 23 Feb 2003 23:42
- Location: Toulouse, France
- Contact:
What about a "send all vehicles to depots" command and then a message displayed when done, and only after that use a replace all vehicles button?Bjarni wrote: Or store the replace order so they will be automatically replaced the next time it goes to a depot
It might be easier
It would be better if i was gliding
Who is online
Users browsing this forum: No registered users and 10 guests