I wrote this in my wish-list for the other simulator of the competence, but I'd love to see them too in Aerofly.
ATC can go from very simple feature to very complex, so for starters, I think those are the main issues that need to be addressed before jumping into more complicated stuff:
1) Support for IFR: Fill up a flight plan route. Enter callsign, departure, destination, cruise and expected descent rate. ATC will then approve the route, set the departure runway and the right SID for that route. Ideally, the flight plan can be created inside Aerofly, but by now the users can just use external services to create the routes (as Simbrief). During the flight, ATC will check the plane position to calculate when start descending and what STAR and runway use. On the airports database, would be cool to add an optional field where the community can add the airport operations, so Aerofly will know which runway are actives following certain conditions, time, weather, etc.
2) Voices: From a library of TTS voices, the player should select the “user voice”. Then the rest of the voices will be assigned to ATC controllers. (at least 3 or 4 voices should be enough for ATC to have variations.) The more the merrier, obviously.
3) ATC Basic Procedures: Let’s go for the simple stuff first: You need to request clearance delivery, engines start and pushback, taxi, take off, change altitude and start descending. The player should be able to select a different runway either for takeoff or landing and ATC should resync to allow it.
4) Radio-Communications: All this should be done through a options menu, and we should have the option to auto-tune the right frequency and contact the right ATC. (pretty much like it does now). And ATC should always lead us to the next controller: “contact tower for take-off”. Center Control areas should also be supported.
5) Contextual: ATC should be able to understand in what phase of the flight we are, and be ready to give instructions for it. For instance, if we are in ground frequency, heading towards the take off runway, once we are getting close, we should be instructed to contact the tower. If the weather at cruise altitude is bad, the ATC could suggest us to use another altitude.
6) Vectoring: The ATC could vectoring us towards our destination when we are close to the airport, but must keep in mind the altitude restrictions of the area we are flying over. Flying at night with an ATC that doesn’t have in mind mountains can be really dangerous.
Advanced Features: Things that we should have once the basic stuff is working:
1) AI Control: ATC is able to handle the player flight plan and other AI planes as well, that have their own flight plans. ATC should order stop to planes that are too close to each other, hold planes when another one is getting ready to land, etc. Same thing when we are arriving at the destination. Handling traffic so we are positioned in a queue of planes for landing and assigned to the right parking position.
2) AI Voices: We need a wider range of TTS voices here, so we can listen ATC talking to us and to other AI planes as we see them acting in the sim. As a player, I must wait for a previous ATC communication to be finished before I can ask my request. This was achieved by FSX already a long time ago.
3) Voice Recognition: This can be cool, but no English speakers users can have difficult times with this system, so definitely not a priority.
4) Support for recording player voice: The way I see this option being used is because in real life you can listen to pilots from different countries. If a recording tool allows the player to record different sentences, numbers, and airliners, we can have a good variety of voices and accents, with the community recording those files and sharing them. I agree, TTS voices are more flexible, but this system can open the community to create amazing variety in the communications. (ProATC is a software for FSX that allowed something like this)
5) Multiplayer support: This is the holy grail. ATC is able to control multiplayer users. ATC approves flight plans and fits the users in a spot for takeoff/landing calculating the number of flights in that airport and that moment. It really works like an automatized ATC. I can talk with ATC controllers using the voice recognition system -or some menu option-, so other real users can hear me too. If a user ignores ATC control it will ban temporarily.
I hope we can see a better ATC flow in a near future.