Sorry, we don't support your browser.  Install a modern browser

Variation in landing roll-outs#66

Currently all aircraft of the same type at a given weather condition exit the runway at the same taxiway. It would be nice if there were some variation, so that some planes roll out longer or shorter, to add some “human” touch to the planes. If instructed to exit earlier or later (assuming they can land to that distance in the case of earlier) they will still follow those instructions.

a year ago

have the aircraft csv landing length be the minimum required. Then for each arrival when they search for their landing, add a random multiplier to the landing length 1x-1.5x weighted toward 1x, before searching for suitible runway exit. Also if rain or puddles present, add 10% or something. Easier said than done of course, I’m not a coder.

a year ago

It would be easy to make a formula to randomize this, and take into account wind.

10 months ago

For Tower Sim 3, I think this should be calculated at touchdown, not during the initial runway assignment.

Pilots are not robots, and landings are not perfectly identical. Even with the same aircraft type, runway and weather conditions, one aircraft may touch down near the aiming point while another may float a little further down the runway.

That would make the runway exit less predictable in a believable way. The aircraft should not automatically “fix” the situation. If it touches down too far down the runway and can no longer make the expected exit, it should simply continue rolling. The player/controller then has to react and assign the next suitable taxiway.

Conceptually/Example:

actualTouchdownPosition =
    runwayThresholdPosition
    + plannedTouchdownOffset
    + touchdownVariation

The touchdown variation could use a triangular distribution, for example:

touchdownVariation =
    randomTriangular(-100 m, +400 m, 0 m)

This means most aircraft touch down close to the expected aiming point, but some may land slightly short or float further down the runway.

For the landing distance itself:

windComponent =
    windSpeed * cos(windDirection - runwayHeading)

headwind =
    max(windComponent, 0)

tailwind =
    max(-windComponent, 0)

windFactor =
    clamp(
        1
        - 0.004 * headwind
        + 0.012 * tailwind,
        0.85,
        1.35
    )

surfaceFactor could be something like:

dry:              1.00
wet / rain:       1.10
heavy rain:       1.15
puddles:          1.20
standing water:   1.30

loadFactor could simulate aircraft weight and configuration:

loadFactor =
    randomTriangular(0.95, 1.20, 1.05)

This keeps most aircraft close to the normal value, while some aircraft need noticeably more runway.

Then:

minimumLandingDistance =
    csvLandingDistance
    * windFactor
    * surfaceFactor
    * loadFactor

The human factor should only affect the preferred rollout, not the hard minimum. For example:

humanFactor =
    1 + 0.15 * random(0, 1)^2

preferredRolloutDistance =
    minimumLandingDistance
    * humanFactor

Using random(0, 1)^2 makes small deviations common and large deviations rare. That means most aircraft behave normally, while some roll out a bit longer because the pilot brakes more gently or simply does not aim for the earliest possible exit.

The exit calculation should then use the remaining runway distance from the actual touchdown point:

distanceFromTouchdownToExit =
    exitPosition - actualTouchdownPosition

An exit is physically possible if:

distanceFromTouchdownToExit >= minimumLandingDistance

The normally expected exit would be the first suitable exit where:

distanceFromTouchdownToExit >= preferredRolloutDistance

This means:

  • A late touchdown may cause the aircraft to miss the expected taxiway.
  • An early touchdown with firm braking may allow an earlier exit.
  • The controller still remains in control.
  • ATC instructions can override the preferred exit, but only if the requested exit is physically possible.

This would add a small but meaningful gameplay element: the runway exit would depend not only on aircraft type and weather, but also on how the landing actually played out.

21 days ago