News:

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

cornering exploit

Started by ӔO, August 25, 2013, 11:04:12 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ӔO

Currently it is possible to exploit corners by using faster track only at that location.
I think it may be better to calculate corners based on radius, rather than a proportion of the underlying track.
http://en.wikipedia.org/wiki/Minimum_railway_curve_radius

Corners are normally calculated by their radius from a virtual center and it should be possible to do this in simutrans as well, even if they are not 'smooth' corners.

If the straight tiles from the corner are counted until they hit another corner, the radius, or smoothness of these corners can be calculated and from there the speed limit of the curve can be calculated.

To give a sort of Radius (R) scale.
R1 = 90 degree bend
R2 = 45 degree bend with at least 1 straight tile in each direction
~
R10 = 45 degree bend with at least 10 straight tiles in each direction


Some caveats I can think of are from where does the program calculate the curve on a junction or switch with multiple points of entry, or how to handle S-bends that cause the train to snake.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

Junna

As James explained, the higher quality track having a higher limit is because of the  games limited ability to handle gradual curvature (since there are only 45 degree corners), so... It already considers things like distance from last turn as it is.

jamespetts

Yes, it does indeed already consider the distance from the last turn (up to a point, depending on how far away that the last turn was). The speed limit is calculated for each convoy's route, based on that convoy's own last turns, so the issues described relating to how to deal with switches/junctions do not arise.

However, we do need to do something about the upgrading tracks on corners exploit, and the best thing to do is to abolish the system of having the corner speed limit for the lowest severity of bends being based on the track speed limit. What it would be useful to have is some real life data on the speed limits of various corners so that I can set this up to be realistic.

Another difficult question is how we deal with superelevation, and especially how we can do that without re-introducing the cornering exploit.
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.