How to disable the slowing down of trains in slopes and in curves?

One way is to change the source and recompile OTTD.

  • To compile, follow the how-to here. It is quite simple. Works with VS2012 Express, too.
  • Change train_cmd.cpp. In int Train::GetCurveSpeedLimit() const, change:

if (_settings_game.vehicle.train_acceleration_model == AM_ORIGINAL) return max_speed;

Into

/*if (_settings_game.vehicle.train_acceleration_model == AM_ORIGINAL)*/ return max_speed;

  • Once compiled, copy objs\Win32\Release\openttd.exe to your install directory, which may be C:\Program Files\OpenTTD. Do not overwrite the old .exe. Rename it first. You never know...

There are some ways to get around your problems when building complex networks. I recommend you to use 'Realistic Physics' and set 'breakdowns' to 'off' to get things started.

Proper, small double bridges

See the guide over at openttdcoop on how to build efficient double bridges over other rails. These are an effective way to cross rails at high capacity.

Note that even if your trains have enough power to go at full speed up hills, they will still slow eachother down because the signal distance is longer over a bridge, since signals cannot be placed on bridges. This is the main reason why you would need double bridges for high capacity networks.

Experimental patches

Try one of the 'signals on bridges' patches over at the openTTD forums. These patches are not entirely stable. The current newest patch only allows a signal every 6 tiles, while for high-speed networks 2 is far more desirable.

Use smaller trains

Large, complicated, interconnected networks like those built at OpenTTDCoop have far greater capacity if you reduce the train length, especially on mountainous maps. Generally Train Length between 2 and 4 tiles is recommended for this type of network on rough terrain. Using longer trains makes your intersections too big. Shorter (1-tile) trains cannot be densely packed enough (as you need a 2-tile gap between each train at minimum).

Separate out lines

Another option is to not build (as many) interchanges. Your network does not need to be fully interconnected. Give each busy transport link in your network its own dedicated rails. You can use long trains on these all you want without having massive intersections.

Double up slow sections

On sections where the trains have to slow down around a tight corner, double or triple up the rails. Split the track into two, and have both go around the corner. Make sure that the two choices are of exactly the same length, or you may still experience slowdowns.

This advice also applies when using underpowered trains on sloped terrain.

Use speed limits

In the orders of your train you can limit its speed so as to use a shorter curve length to get a higher network throughput. For example, limiting your maglevs to 264 km/h will allow you to use TL3 curves at no slowdown with any length of train. This also has another advantage; it will take less time for trains to accellerate to their top speed, making 'joiner' constructions such as cyclotrons far smaller.

Use a custom trainset

Custom trainsets can be made to be optimized for the accelleration simulation. I would recommend trying out the NUTS trainset. This trainset is specialized for high-capacity networks with lots of trains running at the same time. Train speeds for many train classes are optimized for short curve lengths. Read its wiki behind the link for more information.