News:

Simutrans Wiki Manual
The official on-line manual for Simutrans. Read and contribute.

Fleet Modernization Assistant

Started by Bernd Gabriel, August 09, 2008, 04:08:48 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Bernd Gabriel

I'd like to implement a 'fleet modernization assistant' with the following (brainstormed) features:



1. GUI


1.1 Checklist of convoys

- filtered by: vehicle, age, margin, maintenance costs, operational profit, modernization status.

- sorted   by: vehicle, age, margin, maintenance costs, operational profit, modernization status.

- user can check convoys to replace.


1.2 Checklist of replacements

- a list of all vehicles incl. number of appearances in checked convoys and sum of maintenance costs.

- user can check vehicles to replace and select their replacements and sees the sum of maintenance costs for the new vehicles. By default the replacement is the same vehicle again (if timeline compliant).

- show estimated (decrease of) maintenence cost and operation costs for the next 12 months (based on costs of past 12 months).


1.3 Button to modernization

- orders the modernization

- to avoid an overextension of the company's account, the modernization may be executed from time to time. The GUI shows the progress of the modernization in the above Checklist of convoys. User can set a rule for the modernization budget (e.g. every day/month/year add percentage of cashflow/ops-profit/proceeds to modernization budget).


1.4 Assistance

- assistant can suggest optimal replacements according to max. speed and min. costs (hm, sounds like AI's purchase department).



2 Modernization

2.1 Alternative 1: Instant replacement.

- when ordered and there is enough money and modernized convoy can accept all current load, replace vehicles of convoy as requested.

2.2 Alternative 2: modernize vehicles in depots/garages/hangars/... (might need changes in existing (depot) code)

- when ordered and there is enough money, withdraw convoy with vehicles to modernize.
- when convoy is empty, redirect it to next depot.
- when convoy arrives in depot, modernize it.
- when modernized, convoy leaves depot.



3 Alerts

3.1 When ordered replacement vehicles become outdated.

3.2 When vehicles become inefficient due to increased maintenance costs.
The journey is the reward!

prissi

I think you are in the wrong game. Simutrans vehicles never break, and their maintenance costs never change. Thus:

Quote
- user can check vehicles to replace and select their replacements and sees the sum of maintenance costs for the new vehicles. By default the replacement is the same vehicle again (if timeline compliant).

- show estimated (decrease of) maintenence cost and operation costs for the next 12 months (based on costs of past 12 months).

do not apply. Those apply to OpenTTD though. Only the income of an vehicle might decrease over time, if there is a speed bonus connected freight in this vehicle.

The AIs purchase not always the best vehicles, since - especially with trains. The best vehcile depend on too many factors. Moreover, automatic replacement is very dangerous, when the length of the vehicles are different (as they are for several vehicles).

Kgm13

that being said about the vechile matinance costs, would it be possible to impliment it, it would at a more realistic approce to the game i would think, giving you a reason to upgrade, also breakdowns would be nice
Reality Is An Illusion Caused By Lack Of Alcohol

Joker

I think that, (in my honest opinion) would be to much mirco-management in the end. Having to constantly update and change over your fleet over the years as well as the debt that you would end up with would hurt the game more then improve it. Sure if the game had your idea implamented it might be managable, but in the end I think the fun of dealing with the Movement ( or transportation ) of goods and services would be lost to the agony of fleet management. I could be wrong though :)
Our greatest glory is not in never falling, but in rising every time we fall.

Kgm13

well, my idea, wouldnt have to be a fixed option it could be turned on and off when you like?
how would that work./
Reality Is An Illusion Caused By Lack Of Alcohol

Bernd Gabriel

Of course maintenance shouldn't become a burden on the player and consume his entire attention. But in the year 2100, about 70 years after the appearance of the last new vehicle, there should be an encouragement to refurbish your fleet. Will say: a vehicle might become inefficent after 50 - 100 years. I don't like machines breaking down or accidents, which block the tracks and/or require user interventions, too.

BTW: In 2100 there are still 8 horses in the streets, which are working there since 1863 :o.

@prissi: thanks! 'length' is a good keyword. First I wanted to replace vehicle by vehicle, but it seems, a more sophisticated convoy consideration should be included. I'll think about it...
The journey is the reward!

Nathan Samson

QuoteI think that, (in my honest opinion) would be to much mirco-management in the end. Having to constantly update and change over your fleet...

Well, sometimes their appear newer vehicles that transports the same goods. Now I have to manually sell the 50 (or whatever number I'm running on that line) of trucks, with 50 others. This is really painfull to do. If I have a screen (gui could be discussed) to replace all vehicles on that line and replace them by newer trucks I would be happy, and spend less time on something stupid, but I can focus more on other important things (setting up a new line).

My idea of the GUI would be:

In the line management:
When a line is selected:

Add a button: Renew fleet:

=> A new dialog popups:

* Now you can filter what convoys you want to replace (by type, by speed, by age, ...) and with what for sort of convoy to replace it.
* You can also say the conversion number (I want to replace 2 old convoys with 1 new) (can be usefull if the newer trucks are faster/can transport more)
* You can set the timefrime
   # x days/months/year (divide the selling/buyings over a timefrime) -- If you want to replace 50 trucks, and you say 5 months, each month 10 trucks will be sold
   # Now (sells all trucks, and replace them immediately)
   # When empty (Set all convoys to no-load, and when they arrive at a station sell them - or if yhey are empty now, sell them now)

* Give the estimated costs to execute it (buying costs - selling profits) and when the option "not now" is selected give also the estimated time frime + costs / month

Combuijs

QuoteNow I have to manually sell the 50 (or whatever number I'm running on that line) of trucks
Quotebut I can focus more on other important things (setting up a new line).

If I had 50 trucks running the same line, I would indeed consider setting up a new train line to replace them...  8)

I think this fleet modernisation thing is a little bit useful, but there are lot of other things to program that are more useful than this. On the other hand, no one is stopping you from programming it.  ;)
Bob Marley: No woman, no cry

Programmer: No user, no bugs



Nathan Samson

Quote from: Combuijs on August 26, 2008, 01:44:36 PM
If I had 50 trucks running the same line, I would indeed consider setting up a new train line to replace them...  8)

I think this fleet modernisation thing is a little bit useful, but there are lot of other things to program that are more useful than this. On the other hand, no one is stopping you from programming it.  ;)

What about 20 trucks, this is hard enough already. Btw, in the beginning years it can be too coslty to setup trains, so that you need to use trucks.

And I could try to program it, but since I think the code of simutrans is a mess (some parts are german, little to no documentation, ...) correct me if I'm wrong, I'm not planning to do it (at least for now).

Combuijs

Quotesome parts are german, little to no documentation

Documentation is not that bad, I've seen much worse... But I can more or less understand german, so I have an advantage. ("data speichern" for example 'translates' to Dutch "data spijkeren" = "nailing data to disk", a very solid german way of saving your data  ;D)
Bob Marley: No woman, no cry

Programmer: No user, no bugs



prissi

Simutrans has way more documentation as OpenTTD ... which is still little though.

However, the line management allows for fast replacement. Change line to include depot. Sell all vehicle but one. CHange this to new configuration. Change line, assign line, copy+start as often as you need it.

Nathan Samson

Quote from: prissi on August 26, 2008, 02:34:04 PM
Simutrans has way more documentation as OpenTTD ... which is still little though.

However, the line management allows for fast replacement. Change line to include depot. Sell all vehicle but one. CHange this to new configuration. Change line, assign line, copy+start as often as you need it.

Even in that case you have to click a lot, you can't filter, you have to wait until all trucks are in the depot, you can't know the estimated costs, you have to change the line twice, you can't spread the expenses, even full convoys will go to depot which cost money.
So not really a very good long-term solution, only a 'quick' workarround

whoami

#12
Quote from: Nathan Samson on August 26, 2008, 02:49:18 PM
Even in that case you have to click a lot
Except from selling and copying vehicles, replacing all vehicles of a line requires a small number of clicks, which is independent of the number of vehicles in the line.

Quote, you can't filter,
IMO, it's rarely advisable to have different kinds of vehicles in one line.

Quoteyou have to wait until all trucks are in the depot
Actually, you can start a new line (as a copy of the old line) at any time.

Quotefull convoys will go to depot which cost money.
I have already provided a more complete description and more answers here.

Nathan Samson

Quote from: whoami on August 27, 2008, 07:07:25 AM
Except from selling and copying vehicles, replacing all vehicles of a line requires a small number of clicks, which is independent of the number of vehicles in the line.
So, my point stays the same: for big lines (20 convoys) you have to click a lot

Quote
IMO, it's rarely advisable to have different kinds of vehicles in one line.
Ok, here you have a point. But if maintenance costs increases over time (I don't know if that feature is planned / will be implemented) filtering on age is also usefull.

Quote
Actually, you can start a new line (as a copy of the old line) at any time.
With waiting I mean, you only can sell trucks when all trucks arrived in the depot, so this can result in 2 things:
1. You wait in the depot until last truck arrives => You can't focus on other things
2. You focus on other things, but it is possible that you forget about your old trucks so their can be a lot of money be 'wasted' in the depot.


Quote
I have already provided a more complete description and more answers here.
That is a nice read, but as said it doesn't solve the root of the problem.

But I see it as follows:
* The developers are not willing to solve this problem (for now).
* If anyone else is intrested to develop such a feature it may be accepted as a patch.
* For now we have to use workarrounds :(

whoami

Quote from: Nathan Samson on August 27, 2008, 10:02:07 AM
So, my point stays the same: for big lines (20 convoys) you have to click a lot
But you only have to click the same button many times in a row.

QuoteBut if maintenance costs increases over time (I don't know if that feature is planned / will be implemented) filtering on age is also usefull.
Changing maintenance or (taking the thought much further) implementing vehicle breakdowns has been discussed earlier (the second one is definitely denied by the head of our software development department  ;) ). There are still reasons to replace vehicles, though, and the speed bonus (it changes over time) forces the player to do so, which I don't like so much (it can be switched off).

Quote2. You focus on other things, but it is possible that you forget about your old trucks so their can be a lot of money be 'wasted' in the depot.
AFAIR, there's a filter for the vehicle list that allows you to find vehicles in depots on the whole map.

Quote* The developers are not willing to solve this problem (for now).
Deciding against it in favour of other things on the wishlist, or because it makes the game (both GUI and source code) more complicated (without enough benefit) isn't the same as "not willing".

Quote* If anyone else is intrested to develop such a feature it may be accepted as a patch.
I can't confirm that, but I also don't read all of the forum discussions.

yoshi

Quote from: whoami on August 27, 2008, 12:18:34 PM
But you only have to click the same button many times in a row.

If you want to push "no load" button of all convois, then you need to click all the convois to pop up convoi details' windows and click "no load" button of each convoi... This is a bit time consuming... Just imagine, you have 5000+ convois and there are 100+ convois on major routes...

It would be nice, if there is a "no load" button in the line management window, which makes all the convois in a selected line "no load" state.


But anyway, I also think the Dev can prioritise something else...

whoami

Quote from: yoshi on August 27, 2008, 12:38:34 PM
If you want to push "no load" button of all convois,
In the linked Wiki page, I describe how to avoid the loss the convoys' contents before sending them to the depot, if that's what you mean: it's possible to only send them to the depot when they are definitely empty.

QuoteIt would be nice, if there is a "no load" button in the line management window, which makes all the convois in a selected line "no load" state.
I guess that this would be easy to implement, but I think that putting them out of service would be the only reason to use that button (because of their running costs, if the player cares about that). A line-level button to sell vehicles (when they are empty) would serve the same purpose.

yoshi

Quote from: whoami on August 27, 2008, 12:45:52 PM
In the linked Wiki page, I describe how to avoid the loss the convoys' contents before sending them to the depot, if that's what you mean: it's possible to only send them to the depot when they are definitely empty.

Does it work for non point-to-point line (e.g. circle line)? I guess not...

And if a new locomotive becomes available (when using timeline), you often want to replace only locomotives but not waggons.  In this case, you need to send back all the convois to a depot, I think...

whoami

Quote from: yoshi on August 27, 2008, 12:56:37 PM
Does it work for non point-to-point line (e.g. circle line)? I guess not...
You are right, I keep forgetting about those, because I rarely use them. I don't think there's a solution like that for ring lines, with the current program's functions.

Nathan Samson

Quote from: yoshi on August 27, 2008, 12:38:34 PM
It would be nice, if there is a "no load" button in the line management window, which makes all the convois in a selected line "no load" state.

That would be a very nice feature which is much more simple to implement than my original proposal, and I hope that developers are willing to include this. (It does not solve all my problems, but at leas it would make my life easier)

jatypc

Actually, fleet modernization would need slightly more in my opinion - but it should be easy to implement in the Line management window. One would need the following buttons:

* "Copy line" - create a new line containing the items of the currently selected line
* "No load" - button setting "No load" state for all vehicles of the currently selected line
* optionally to have three buttons alligning with the existing three button (New / Update / Delete), there could also be "Go to depot" button (although this is not really necessary)

The fleet modernization of LINE would then proceed like this:

1) Copy LINE to create NewLINE
2) Send new vehicles to NewLINE (manually)
3) Set No load for all vehicles serving LINE
4) Call all vehicles serving LINE to depot
5) Sell vehicles in depot (manually)

What do you think?