In real life, trains can't constantly run. For example, a TfW service along
North Wales runs on diesel and needs to refuel every now and then.
It seems that in most cases, countries electrify their rail lines, bypassing
this problem. This can be simulated with third rail being added to track
models.
In advtrains, a lot of trains do not have a pantograph and seem to run on
diesel. Trains which do work on electric can have a third rail shoe added.
Trains go into roll mode when the electric potential of the track is not high
enough. The amount of blocks a power source charges is configurable and
defaults at 50. When you reach the end, you must use a track with a third rail
terminal (which is where the rail slopes down to the ground to allow the shoe
to pickup gently), and begin a new third rail section.
To power third rail, you can configure the source to be mesecons, an advtrains
power block, or magic.
For diesel locomotives, they run on an inventory of fuel which can be added
using "refuelling tracks", which work in the same way as loading tracks but
only add fuel.
Fuel can be configured to be advtrains diesel, biofuel from the biofuel mod,
oil extract, or anything in the fuel group (if it exists)
Trains do not run without problems. Tubes get blocked. Electric short-circuit,
Power supplies break, and all forms of other things cause inconvinience.
What i propose is adding this to advtrains. Randomly, one of your rolling stock
suddenly develops a problem and runs at 50-90% of its speed. To fix it, punch
it with a repair tool, which leaves your inventory and makes the train work
again at full speed. There is also a maintinince track, which works in the same
way as a loading track but with repair tools.
For better identification, the coordinates of trains with problems can be found
using a command and the broken trains make loud noises.
All of the above is configurable. Users can turn on whether trains use fuel,
need repair, and what type of fuel you can use. This ensures backwards
compatibility.
I send this email as the beginning of a discussion, and potential feature
request. I would like to see the feasibility of this.
On an unrelated note, If you need sounds, i offer these videos i took on
Thursday (CC0 whatever):
https://photos.app.goo.gl/AY9TvifTu7vCka1T9
Chester, a third-rail train making strange noises.
https://photos.app.goo.gl/n1PRNyG3qktmsAL16
Crewe, an Avanti train going north to Scotland making very loud noises
While the features mentioned here are quite interesting, IMO these are,
unfortunately, unlikely to be implemented in the short term.
Regardless of what type of fuel/power source, adding this feature means
that we need to implement physics and, in particular, friction and
gravity (among other things), as it would otherwise be hard, if not
impossible, to accurately calculate the amount of energy (and,
subsequently, fuel and electricity) needed to reach a certain velocity
or acceleration. Mechanical efficiency may need to be considered as
well.
For electricity, the implementation can be further complicated by trams
powered by supercapacitors, where the rate of recharging and
regenerative braking (the latter is not specific to such trams) need to
be implemented as well.
In addition, the compatibility with other mods (e.g. technic) needs to
be discussed as well.
For diesel (or other types of fuel), this may be relatively easier, as
it could possibly be implemented with a table of the amount of energy
stored per unit of item.
> What i propose is adding this to advtrains. Randomly, one of your rolling stock> suddenly develops a problem and runs at 50-90% of its speed. To fix it, punch> it with a repair tool, which leaves your inventory and makes the train work> again at full speed. There is also a maintinince track, which works in the same> way as a loading track but with repair tools.
What do you propose by "randomly"?
> For better identification, the coordinates of trains with problems can be found> using a command and the broken trains make loud noises.
Please, the sound system of MT is a nightmare.
> While the features mentioned here are quite interesting, IMO these are,
unfortunately, unlikely to be implemented in the short term.
Which makes perfect sense. The whole point of this email was to get interesting
ideas across.
> What do you propose by "randomly"?
Every term (configurable amount of time), a train in every x (configurable)
breaks down and needs to be maintained. You can send them to a depot using
LuaATC, maybe a function `needs_fixing()`, which returns the type of error if
there is one, false if there isn't.
> Please, the sound system of MT is a nightmare.
100% agree. I tried adding sound to the London underground rolling stock on the
server, and whenever you load it, "WOOOOSH" screams at you at full volume,
despite there being a 50 block distance to the train.
Maybe instead, the texture is darkened and has a tranperent black layer applied
on top of it, similar to the way Theatere Halogen Bulbs fail, with black spots.
> Every term (configurable amount of time), a train in every x (configurable)> breaks down and needs to be maintained. You can send them to a depot using> LuaATC, maybe a function `needs_fixing()`, which returns the type of error if> there is one, false if there isn't.
Please consider looking into OpenTTD's vehicle breakdown mechanism[1].
> Maybe instead, the texture is darkened and has a tranperent black layer applied> on top of it, similar to the way Theatere Halogen Bulbs fail, with black spots.
You may want to ask for advice from Blockhead.
[1] https://github.com/OpenTTD/OpenTTD/blob/master/src/vehicle.cpp