...Is that you don't control them.
Sure, it makes sense. They are controlled by the AI ATC system built into FSX. But ever since Mike Singer posted a method to get the Control Tower into Free Flight, there's been a question pounding inside my head. One of the reasons listed for why this functionality was not included in the RTM version was because you'd only be able to observe the AI traffic, and not act as the controller yourself. It would be like the "Invisible Man Visits a Tower". Well, I can be a bit incorrigible at times, so my question was:
"Why not?"
Why can't we control the AI aircraft moving around an airport? There's a few obvious reasons that come to mind when thinking about it in terms of SimConnect. First and foremost, those planes already have a controller, so regardless of commands or other things you might assign it, there's still the chance of conflict with the AI ATC. Secondly, there's not really a viable interface built into the system that would allow us to control the planes efficiently through the simulator.
So I set out to find answers to these pressing issues. Here's what I've got so far.
- Within FSX, the planes created by the scheduler, your basic run of the mill AI aircraft, are what SimConnect refers to as EnrouteATCAircraft or ParkedATCAircraft. These aircraft have a flight plan, which is, incidentally, just a starting and ending airport. They are also controlled by the built-in ATC. Basically, consider these planes to be IFR aircraft. There is another option, for NonATCAircraft, which means, more or less, VFR planes. They are not under control of the ATC.
So the concept is: Take all the planes in the sim, everything within the range of your current location, gather a bunch of information about them, delete them, and recreate them as non-ATC aircraft. Then, the determination of what they do and when can be controlled by an external program (see problem #2) that will allow the user to act as an air traffic controller for the swarms of default or add-on aircraft they've got in their sim. Pretty simple.
Does it work? No, not entirely.
Am I close? Absolutely. However, I have decided to put off releasing this to the public until SP1 is released. I'm hoping to add some more functionality, waiting to see if a bug or two might get resolved, and generally speaking, any performance increases could mean more AI planes on the screen at one time, making for a much more challenging experience.
The issues so far:
- There are a couple of little bugs that I'm working out, but those are inconsequential. Things just don't always work as intended, and I'm smashing those out.
- There's currently not a method for separating the levels of ATC. For example, if you are in the tower at KLAX, you control ALL of the AI aircraft within the simulation range of LAX. You are ground, tower, clearance, approach, departure, etc. I don't have any sort of good metric for differentiating which planes go where yet, so that will have to get filed under the "more functionality" section. In addition, planes at nearby airports fall under your control as well.
- You have to run Windowed. This is sort of obvious. Right now, the program runs as an external program, and all the cool little buttons are on this separate program. I've considered writing a gauge as a new panel for the tower, but I haven't really gotten that far into it. So unless you run on a separate computer, you need to have it in windowed mode. I noticed I do that anyways, since I tend to keep the charts up as well in their own window.
So what can you do?
At the moment, you can select an aircraft from the list, and do the following:
- tell it to fly a certain heading
- tell it to fly a certain speed
- tell it to fly at a certain altitude
- give permission to taxi
- give permission to take off
- order to hold short
- give permission to land
- order to continue on it's own navigation
The last one hands the plane back over to the built-in ATC. I'm working out ways to specify certain items such as runway for take off or landing, taxiways to use, "turn off next taxiway" commands after landing, holding patterns, things of that nature. I'm certainly interested and will entertain any suggestions.
This, of course, will be freeware, more than likely available here and uploaded to the AVSIM library. I've been missing in action from this blog for a while, and I've said I was going to do some more tutorials, so I wanted to let you guys know what I've been doing with my time.
Oh, by the way, I'm doing another tutorial for tonight/tomorrow.
Thanks,
Brian