Earlier this year, we created an MVP (or Minimum Viable Product) list of features that need to be completed before our first public release. Since defining these specific objectives, our development team has been laser focused and, as a result, we have made tremendous strides in POSCON's technological development. In June 2019, we attended FSExpo where I was interviewed by Callum Martin from FSElite and we revealed our roadmap to release announcement. This announcement had a significant impact on our development team because it assigned a series of deadlines as to when the MVP objectives need to be completed by.
Here are some additional interviews I took part in during FSxpo:
Lets first talk about the voice client, since voice quality seems to be the hottest topic in network development spheres. The truth is, we have only pushed one or two revisions to our voice code since my last update in April 2019. The reason for the lack of updates is not because we have given up working on it, but because we are done. The POSCON voice system was one of the very first projects we worked on and because of that, it has been stable and ready to be released for the past 6 months. We have an update to the voice infrastructure planned before public release, but the update is not a no-go item and can be delayed if it were to prevent our release. The current features of our voice communication system include:
- Low latency.
- Realistic VHF distortion.
- Line-of-sight simulation including both curvature of the earth and terrain modelling.
- Blocking simulation.
- The ability to add custom transmitter locations for ATC through our website.
- Full integration into all of our clients.
Second, lets talk about the server... and the first word that comes to my mind is "wow". The server update rate (15 Hz) is absolutely phenomenal and extremely smooth. I find myself bugging our testers to join me in VFR group flights constantly because the update rate makes these types of flights extremely enjoyable. If you haven't seen some of our demos, you can can view them on our YouTube channel. Other than the update rate though, the server has had a lot of work performed on it. Here is brief summary of recent changes:
The server can now determine what FIR and sector an airplane is in by analyzing known lateral and vertical airspace stratum. Below are two images showing our custom Discord bot reporting:
- The active aircraft on the server, shown with their Mode-S hexadecimal readouts (first column),
- The FIRs the aircraft are currently in (AOR column); and,
- What FIRs the aircraft are in the vicinity of (APD column).
We have also extended this capability to sector level granularity. The image below shows what sector the aircraft is currently in and also what sector the aircraft is projected to be in the next 180 seconds based on the current aircraft trajectory. Why on earth is this important? Well this core functionality can be used for many different applications such as ATC scheduling, traffic management, auto-handoffs, auto squawk code assignments, and auto "contact me" messages... just to name a few.
- Speaking about auto-squawk code assignments, the server can already do this! When you file an IFR flight plan on POSCON, regardless of whether ATC is online or offline, the server automatically sends you a squawk code assignment. This is important so that your flight plan and target are properly correlated because on POSCON, your callsign is not tied to your actual connection.
- Another recent update to our server is that ghost mode has been re-enabled. Earlier this year we disabled our ghost mode code while we worked on other aspects of the server because the feature was interfering with our testing. I am pleased to announce that we have finished those peripheral updates and have re-enabled ghost mode. Ghost mode allows members to remain connected and enjoy the server, while not being a bother to other users.
- While on the topic of ghost mode, we recently added runway definitions and buffer zones to the server so that when an aircraft spawns to a runway, instead of interfering with traffic, they are automatically ghosted. This server functionality can also later be used for Runway Safety Area (RSA) alerts in the Radar Client.
- In addition to automatically ghosting for spawning on a runway, the server will also automatically ghost aircraft that slew or that connect in the vicinity of another aircraft (e.g. at the same gate as someone already connected).
In regards to server infrastructure, we are utilizing the Google Cloud Platform. Some features of our server infrastructure include:
- Automatic server selection and negotiation.
- Memory-only flight servers (no need to read from disk).
- Multi-gigabit network uplinks per server.
- RAM-based databases for our core services.
Next, lets discuss the pilot clients. Like the voice system, most of the work on these clients has been finished for a few months. Right now, our main focus is sorting through bugs and working on the Pilot Client Web UI, which I will discuss later in this post.
The X-Plane Pilot Client was recently updated with better model matching logic. The new logic closely emulates the logic that most people are already familiar with on other networks. In addition to this new logic, we also added a new ground clamping algorithm. As a pilot approaches or departs from the ground, the client will now evaluate the terrain underneath the aircraft and intelligently chose from one of two methods to display an aircraft in your sim. This will prevent models from making unrealistic movements during the takeoff or landing phase of flight. I have personally tested this extensively and I can tell you, it works very well when you are flying with people using different sims and/or terrain meshes. As with all things pilot client related, we will ensure feature parity, so the FSX/P3D client will soon have the same features that have been added to the X-Plane client.
Since FSExpo, the website (we call "HQ" or Headquarters) continues to be updated to the new design. We currently have a fully functional ICAO 2012 flight plan form with an integrated tutorial for users who are not completely familiar with how to fill out the form. Some additional features of the HQ include:
- The ability to view your profile, statistics, and change account preferences.
- View training documentation and modules.
- Submit support requests.
- View upcoming events and bookings.
- Browse available Discord servers.
- Schedule ATC sessions.
- Submit airline and aircraft ICAO codes to be approved for inclusion in the global database.
If you were at FSExpo, you will be familiar with our Live Map which consists of a globe, continents, and FIR boundaries. Currently it displays airspace and aircraft with the ability to view activity in a 3D perspective. We have included a live weather radar on this map as well that covers most major areas around the world.
By clicking on an aircraft on the map, a sidebar appears which displays some basic flight data and a series of options to choose from including:
- "Leave Feedback"
- "Report Issue" - in other networks, this is the same as the "Wallop" command.
- "Message" - this is restricted to Moderators only.
Because our map is derived from OpenStreetMap, users are able to update their home airport and make it as detailed as they want. Here is EHAM:
The Pilot Client Web UI, which is part of HQ, is coming along nicely. The Web UI is already capable of:
- Changing VHF radio frequencies in your sim.
- Changing squawk code, transponder mode, and identing.
- Changing the active radio transmitter and receiver in your sim.
- Requesting and displaying weather reports (METARs, TAFs, etc.).
- Changing your connection mode (ghost or live).
- Disconnecting from the network.
- Sending PIREPs to the server.
- Communicating with Moderators.
We are currently working on implementing CPDLC via the Web UI. This will be the only way users are able to use text to communicate with ATC.
Last but not least, lets discuss the Radar Client. Development on this software is coming along nicely as well. One of the unique things about our Radar Client is the way you log in and choose what position you are going to control.
- The first step is to pick the authority in which you desire to work in. In this case "FAA", which is the USA.
- Then pick the enroute facility. In this case "ZNY", which is New York ARTCC.
- Then pick the sub-facility. In this case "N90", which is New York TRACON (Apporach/Departure).
- Then pick the sub-facility area. In this case "JFK", which is of course Kennedy International Airport.
- Then pick the sector or position. In this case "2G", which is a sector of the Kennedy Area.
- Pick the configuration. In this case I picked "Default".
After clicking "Login", the server automatically downloads all the proper sector and voice communication data. Why is this important? It makes the setup process extremely seamless. With our software, all a user needs to worry about is basic preference settings. Right now, the login menu exists in the Radar Client itself, but eventually we will move it, along with a lot of other things, to the Launcher Client software which will automatically download and keep POSCON files up-to-date.
Another feature of the Radar Client worth discussing is our VSCS (Voice Switching and Control System). The VSCS panel data is automatically populated from the server based on the position you select at login. No extra configuration is required other than selecting which transmitters you want to activate. In the example below, we have set up a single frequency with multiple transmitter locations. I have activated the transmitter located at Matawan (MAT), New Jersey and I am transmitting on 125.325. I am also monitoring Guard on both VHF and UHF frequencies.
The Radar Client also gives the user the ability to change the rate at which targets update. This is important because different air traffic control positions use different types of radars that update at different rates. We wanted to give the user the ability to control this variable.
Here is an image from our WX and ALTIM SET panels. These can be setup using the "WR" and "QD" commands respectively.
Well, that about sums up our technical development progress. I am sure I left out some points but there is just so much to cover! I want to stress the point that we have accomplished the majority of this work in just over a year. Imagine where we will be at next year.
I also want to take this opportunity and remind everyone to follow us on our Twitch channel! You can expect that to become active in the VERY near future!