Improving AI Traffic - Here's the First Step I Believe Should be Taken

During the latest livestream, we have heard very ambitious promises about improving AI traffic.

Yet, while 3D and texture artists work on AI models and liveries, and while the sim’s people mail the airlines’ and manufacturers’ people to get everything licensed, live traffic requires adjusting and fixing on a more fundamental level.

This requires extensive testing, so let me please take a moment to share the way I’ve tested live traffic so far (it’s a hobby of mine) so that maybe it can help you. I’ve been at this for tens of hours while working, so hopefully, it’s good experience that might help.

1: First of all, you may want to create a tool that reports exactly why an AI aircraft does not appear and why it disappears. Bug? Too much traffic? Stuck? AI Conflict? This is a tool I wish I had, and I’m sure it’ll help you as well. As a matter of fact, it’d be great if you could share it as part of the SDK.
2: Have a QA tester pick one airport and simply sit there observing what happens for an extended period of time. It’s actually a pretty fun job. :joy: At the same time, open Flightaware for that airport. It’s your partner, so you should be very familiar with it. Also, leave AI name plates on, so that you can see which aircraft are active, obviously.
3: when an aircraft is listed as coming to land or depart on flightaware, note if it happens on MSFS as well. If it doesn’t, note it down and investigate why it happened so that it can be fixed. Note that at the moment the sim is about 12-15 minutes late compared to Flightaware. I’m guessing this lag may be inevitable, bit being aware of it helps with testing. The current situation is that many, many flights that appear on flightaware do not appear in the simulator, so this is likely the first issue you need to tackle so that all flights do. This is pretty much a requirement for realistic AI simulation and to fulfill Jorg Neumann’s ambition of having all flying aircraft correctly represented. The first step is that all flying aircraft actually appear.
4: Note whether all aircraft on the screen are either departing or landing. I’ve noticed a pattern at busy airports in which there are intervals in which only departning aircraft spawn, followed by intervals in which only landing aircraft spawn, in an alternating pattern. This should be investigated and solved so that both departing and landing aircraft appear at the same time.
5: Note traffic conflicts, like aircraft holding for each other on taxiways causing traffic jams, aircraft getting stuck, and so forth. These should also be investigated and solved.
6: Note cases in which your simulation can’t keep up with the traffic. Excessive traffic jams likely mean that aircraft move too slowly. Many aircraft having to go around because the runway is busy likely means that your aircraft don’t vacate the runway fast enough or the ATC isn’t using runways efficiently. If an aircraft has to simply “disappear” to solve a conflict, it means the simulation has failed to keep up. Why? How can it be fixed? Note that aircraft that go around never try to land again and simply wander around the airport aimlessly. This also needs to be corrected.
7: This likely should have been earlier in the list. Do aircraft appear at all at the airport? I’ve noticed some don’t get any traffic at all or very sporadic (EHAM is a major offender in my experience). Those need to be identified and fixed.
8: Do AI Aircraft appear at nearby airports in view range? For instance, if I am at KJFK, I should still be able to see AI at KLGA.

I have a wider array of related suggestions at the thread below should you interested, but this should IMHO definitely be the first step. I know it involves a lot of testing, but it should be worth it.

Just an example of what I mean.

This is KATL right now, at 3:15 PM Local time in the sim, and on flightaware. Live traffic is on, because i had sporadic AI coming and going before and after. Yet, I’m sure anyone can easily see something is not working at a fundamental level.

All the aircraft you see parked are random inactive ground models. Traffic name labels are on, so if there was any active aircraft, you’d easily see it.

Another obvious issue just a few minutes later. Two aircraft came to land, and they both disappeared one after the other as soon as they slowed down on the runway, neither taxiied to the gates.

1 Like

From the checks I’ve made, it’s clear most airports are not properly configured for AI traffic. The parking spot radii and locations are not set properly and in most cases, there are not enough parking spaces to accommodate the traffic, hence the disappearing traffic after landing.

The first thing Asobo needs to do is determine how they are going to retrofit thousands of airports to properly handle FlightAware traffic and what gates/GA spots handle which aircraft and model. This will be a much bigger task than getting permission to use liveries.

Mmmh I checked when I saw disappearances, and there were appropriate parking slots available. I believe some airports simply fail to hand over the live traffic to the AI (which should correctly park each aircraft independently of live traffic). In my experience, disappearing traffic happens always in the same airports, and regardless of whether there’s parking available.

I’m pretty sure it’s not a matter of size (besides the distinction between heavy and medium for gates) because I’ve seen aircraft park in slots they don’t exactly fit, and clip into the buildings.

And yeah, the need to retrofit the airports is mentioned in the post I linked, even more so because we need a distinction between airline gates and cargo ramp (not to mention military, ga, government, and such). This is already supported by the sm in the aircraft CFGs, but the ramps aren’t labeled.

Personally I’d rate Asobo’s first iteration of live traffic as a good first effort and certainly something of a platform on which to build … I very much hope!

I have noticed that the ‘parking type’ allocations for the default Asobo airports that I have looked at the layouts for (mainly the various hand-built ones) there are no parking ramps assigned to ‘Cargo’. This needs to be corrected if we are to have authentic traffic, especially in these days when there’s so much cargo around relative to everything else!

2 Likes

Sorry - see you already commented on the lack of cargo ramps!

1 Like

It’s not like repeating it is a bad thing :joy:

Retrofitting airports should be done by us through the Airport Gateway. Which I believe they are now looking into how they will do that.

Another example of something that can be easily seen through this kind of observation.

JAL104 buzzing the tower (bet it didn’t get permission and someone spilled their coffee) because ANA14 wasn’t quick enough to vacate the runway at RJTT after landing.

This shows a few issues. ANA14 was moving way too slowly. JAL104 should go around following the chart pattern and ATC should take care of it, assigning it another slot (instead now it’ll circle the airport erratically at crazy low altitudes until it disappears), and ultimately, RJTT has 4 runways, three were not in use at that moment, so JAL104 should have been redirected to another runway.

Mind you, by my observation, the separation held by aircraft on approach is fine (likely because it follows the real separation on Flightaware), but since they are unable to taxi at realistic speed, it ends up being insufficient.

This is a perfect example of several issues compounding each other to form a situation the simulation cannot handle.

1 Like

Here are some interesting findings for today. Some are actually surprising. Paris Charles de Gaulle (LFPG) for once had brisk traffic, while not perfect.

This RAM 788 took exactly 94 seconds to vacate Runway 26L. It feels like a long time, doesn’t it?

A clear example of the fact that ATC does not solve conflicts efficiently: AFR10 had not even reached the holdoff point, but ATC ordered AFR1533 that was trying to land to go around anyway. AFR10 took so long to take-off that it caused the following landing aircraft (HOP1083) to go around as well.

That’s two aircraft losing their landing slot due to one departing aircraft. This is certainly sub-optimal.

And now for the surprising finding. KLM1243 took exactly 98 seconds from touchdown on 26R to the intersection to taxiways W3 and W5. That’s exactly 5,000 feet according to the Navigaraph chart.

This means that it taxied at an average speed of 51 speed per second to vacate the runway, corresponding to 30 knots… which is actually correct.

At this point, I’m confused as to why aircraft are forced to go around so much. Aircraft seem to be taxiing unbearably slowly compared to my eyeballing real life experience, and something is definitely going wrong, but their speed seems correct. Someone please correct me if I got my calculations wrong? Perhaps the issue isn’t runway vacation speed, but incorrect use of runways?

Incidentally, while KLM1243 appeared on approach correctly, the aircraft that launded on FlightAware before it (AZA324 and AFR165) never landed. I may have seen their lights in the distance, but if it was them, they disappeared much before their nameplate appeared. This is worth investigating.

Even with brisk traffic, not all the aircraft that were supposed to arrive at LFPG were correctly simulated on MSFS.

1 Like

So, I found out (with the help of the FSLTL discord, because I’m dumb) what the issue is with aircraft taking too long to vacate runways despite going at the theoretically correct taxiing speed.

In Microsoft Flight Simulator AI airliners have atomic brakes. Below you can see a quick and dirty video comparing a real life airliner (original video courtesy of Flapsnslats) landing at KLAX. As you can see, from the moment of touchdown to when it vacates the runway, it takes about 45 seconds. That is because it decelerates naturally never really dropping down to 30 knots until it’s at the taxiway.

Our AI airliner on MSFS brakes like a race car on steroids, dropping down to 30 knots almost immediately and staying there. As a result, it then crawls along the runway like a lame llama, taking 138 seconds to vacate the same runway at KLAX. That is about three times as long.

This is despite the fact that the real airliner actually utilizes a lot more of the runway than the AI one.

Obviously, this causes massive runway utilization problems, prompting other aircraft to go around (and never come back). I’d say AI aircraft need to be given correct braking physics so that they take the right amount of time to roll down the runway and reach the exit taxiway.

2 Likes

Here’s the results of today’s observation in Orlando KMCO.

Since I don’t wanna clog the forums with a million screenshots, you can find them in an archive here, including screenshots of Flightaware taken at the same time as each in-sim screenshot. The in-sim screenshots portray all the aircraft that appeared.

First observation. All flight on approach besides the first I saw (FFT1111) disappeared upon landing without taxiing to the gate. Two flights (GQFH and AAL2538) actually disappeared on departure while taxiing to the runways with no apparent reason.

Second Observation: All departing flights after the first 5 minutes spawned from the west ramp, which really looks terrible considering that they completely ignored the main airside area.

Third observation:

Here is a list of the flights that did appear and those that were completely absent.

Departures:
SWA35
JBU6124
DAL1551
GQFH
SWA1973
AAL2538
JBU1133
FFT1211

MISSED Departures:
EJA561
DAL1105
DAL2055
SWA2253
SWA2154
EJA335
JBU1952
OE-HUB
SCX342
AAL1579
JBU1928
AAL2538
SWA139

Arrivals:
FFT1111
SWA1626
N473TR
DAL1600
NKS893
SWA1306
SWA1951
SWA46
JBU114
SWA2404
NKS1967
CKS364

MISSED Arrivals
SWA3243
SWA1929
SWA1626
DAL1989
SWA46
SWA1951

Obviously, a lot of work needs to be done to optimize the incoming data from flightaware so that it is actually reflected in the traffic on our screens.

Hope it helps.

1 Like

I miss very much my FSX with “Ultimate Traffic” (Flight1). It worked so well.

Hello Asobo !! Hire the guys from Flight1 and solve this problem once at all.

3 Likes

That is not really a solution. This is about live traffic. Ultimate Traffic is based on preset schedules which are nowhere as precise and up to date as live traffic has the potential to be.

I’m sure third-parties will produce plenty of traffic addons on their own as Asobo evolves the SDK, but none of these “solves” the issue of Live Traffic, which is an innovation and should be made to work correctly, instead of taking a step back to an older implementation.

I think the first step should be getting the offline AI traffic to work properly. In the end the live traffic is nothing more than a ‘it exists’ and the rest is handled by AI - the same kind as the offline one.

If not, the AI will not be able to evade you on a collision course, perform go arounds or taxi to gates.

That’s simply a generic AI behavior which should be common to all traffic, not offline or online. It doesn’t depend on any timeline, whether it’s preset or live. If you’re interested in Offline traffic, this thread is not about it.

The real problem is that “live” traffic as a concept is completely flawed, and not a viable option for a realistic simulation experience.

The premise that you can inject 100s of external, uncontrollable elements, that move dynamically and unpredictably, and have a number of core simulation elements (such as ATC) interact with these elements in a completely seamless and realistic fashion is simply not possible. Unfortunately for a realistic experience, internally controlled traffic, that can interface correctly with ATC and react to the user aircraft is what is required.

Basically an improved version of the FS9/FSX/P3D traffic system would be significantly better than the live traffic everyone is so desperate to see. The only thing that’s good for is the plane spotters.

4 Likes

I don’t think the idea of live traffic is that bad. Perhaps the execution isn’t there yet.

But live traffic basicaly just loads the position and schedules of airliners from their source. And then as soon as the sim plays it’s AI controlling the traffic, not the online source. (with the exception that as new airliners enter your sphere they get loaded in, and then AI again takes over)

Or at least it should work like this; It would surprise me if they didn’t think of it that way.

If that’s how it’s implemented, it could possibly work.

It does seem however that lot of people seem to want to match each aircraft icon on flight aware with an aircraft in the exact spot in MSFS, literally in real time, and will not be satisfied until this is the case. Regardless of how good an overall simulation experience this provides.

Also, what happens if you don’t use live weather, change the time of day or use time acceleration? How much control does the system have over live traffic? Enough to completely change runways to accommodate your in sim environment? It get very difficult very quickly.

Live traffic isn’t any more flawed than offline traffic. They’re based on different datasets, but both have to interact with the player and the ATC, so both need to be able to deviate from their original parameters due to external factors.

Live traffic simply needs to relinquish control to the AI when such deviation circumstances exist, which incidentally is exactly the same thing as offline traffic would have to do.

It doesn’t need to be done beyond a certain distance from the player, so the problem is much smaller than you describe it.

And I don’t remember seeing anyone asking for it to be done “Literally in real time.” There obviously is a bit of lag, which is entirely acceptable.

Offline traffic is simply outdated tomorrow. No matter how hard you work to keep it up to date, it never will be.

Incidentally, I wouldn’t expect Asobo to focus on offline anything. MSFS gets the support it gets (financial and resources-wise) because it’s a showpiece for Microsoft’s cloud tech, so you can likely expect the simulator to stick to its online roots as much as humanly possible.