News:

Do you need help?
Simutrans Wiki Manual can help you to play and extend Simutrans. In 9 languages.

Train speed on curves

Started by Lord Vetinari, April 08, 2009, 05:09:19 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Lord Vetinari

It doesn't seems that this has already been discussed, so I open this topic.

In Simutrans, vehicles speed is affected by curves, which is good, but they continue slowing down at every curve, even if they are not running at top speed, which, IMHO, can be improved. Also, the speed "penalty" is the same for every curve angle.

A test I made:

On a line like this, my train enters from one side at 85 Km/h (its top speed) end exits from the other side at 55 km/h because it slows down at every curve.

So, my suggestion is, if this doesn't break too many things in the code, to make a check on the speed of the train before slowing it down and to have different decrease of speed according to the curve angle.

Currently, we can have three kind of curves:


1 - 90°. Let's say that this should slow down the train up to 60% of the maximum track speed.
2 - 135°. Up to 80% of the max track speed seems fair, since on smoother curves trains can go faster.
3 - 45°. I think that this one can show up only in a point/switch area. This should slow down the train up to 40% of the max track speed. Maybe less, but I fear that may lead to some serious traffic jam.

So, to summarize, if a train on a 100 km/h track approaches a 90° curve at 60 Km/h or less (because of another curve nearby, or because it has just stopped at a station or at a signal, or whatever), it shouldn't slow down any more. Is this doable?

colonyan

I agree. This would encourage people to lay track so there's less steep curve in realistic manner. Support this idea.

Dwachs

Different curves are implemented using different friction factors. So to some extend this request is already implemented.

On the other hand, a train will decrease its speed in any curve regardless of the speed with which it enters the curve. I think, this part f the request will never be fulfilled.
Parsley, sage, rosemary, and maggikraut.

The Hood

It works differently in the simutrans-experimental branch, and I think some if this might be included.  Jamespetts is the man to ask...

jamespetts

Something very similar indeed to what you suggest is implemented in Simutrans-Experimental: see here and here for details. Download the executable and give it a try!

Edit: It also includes a greater penalty for climbing hills the more consecutive hill tiles that there are, and the ability to have tilting trains that can take corners faster than ordinary trains.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Lord Vetinari

#5
Thanks, I'm downloading Experimental  ;D
Ca I use the underground slope patch with it?

@ Dwachs: So, since curves affect friction, I suppose that the amount of the speed penalty greatly depends on the power of the engine... so that's why in my tests with a 200HP - 85Km/h locomotive with just a couple of cars all kinds of curves had the same impact on the speed of the train (except for the six curves in a row area, the train always slowed down from 85 to 81 Km/h).
Thanks, good to know.

jamespetts

Lord Vetinari,

the current released version of Simutrans-Experimental does not include the underground slopes patch, although it is planned that it will eventually be included. Whether this will happen before or after the underground slopes are included in the trunk is not yet known.

If you know how to compile your own code, however, you could download the source code for Simutrans-Experimental, download the patch, and apply the patch manually to produce the result yourself :-)
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

whoami

I would prefer if friction would not be used as the speed-control model for curves at all. It's the least concern for the engine to provide enough power to work against friction in a curve. Instead, these important requirements determine speed limits:
- safety (conform to the specified limits of all system parts)
- comfort
- reduce wear on track and vehicles
So, I would like speed limits for curves more, and maybe special handling for passing switches.

Regarding ST-exp: there were also other changes in this area (e.g. special handling of steam trains), so it's not easy to see the impact of its handling of curves. I can only say that the trains in my recent Pak128 savegame have become noticably slower. :)

jamespetts

I haven't changed the handling for anything other than steam trains, so electric or diesel trains should be a like for like comparison (provided that it's not also on a hill, where I've also changed the system).
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.