I'd like to implement a 'fleet modernization ****istant' 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 ****istance
- ****istant 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.
I think you are in the wrong game. Simutrans vehicles never break, and their maintenance costs never change. Thus:
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).
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
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 :)
well, my idea, wouldnt have to be a fixed option it could be turned on and off when you like?
how would that work./
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...
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
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).
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)
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, ****ign 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
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.
IMO, it's rarely advisable to have different kinds of vehicles in one line.
Actually, you can start a new line (as a copy of the old line) at any time.
I have already provided a more complete description and more answers here (http://en.wiki.simutrans.com/index.php/Tips_and_Tricks#M****_Upgrade_of_Vehicles).
So, my point stays the same: for big lines (20 convoys) you have to click a lot
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.
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.
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 :(
But you only have to click the same button many times in a row.
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).
AFAIR, there's a filter for the vehicle list that allows you to find vehicles in depots on the whole map.
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".
I can't confirm that, but I also don't read all of the forum discussions.
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...
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.
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.
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...
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.
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)
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?