- Sun Jan 17, 2016 6:28 pm
#495212
Hello all,
I'm posting this message to describe some major changes that are coming up in vPilot 2.0. I'd like to get feedback from the user base about these changes, both positive and negative. This is a pretty long post, but the changes are quite significant and I'd like to describe them fully and accurately so that I can get meaningful feedback from the user base.
The main reason for these changes is to make the whole model matching process work more smoothly and automatically. vPilot's rule-based model matching system with the pre-made downloadable rule sets was a step in the right direction for model matching on VATSIM, but a lot of users still struggle with it. Many don't understand that they can't simply download a rule set without actually having the corresponding AI traffic package installed, and they end up with lots of model matching errors. Some of them post on the forums and get straightened out, but I'm sure there are many that just get frustrated and move on, using a different client or just not flying on VATSIM at all.
Nico Kaan's VMRGenerator was another step in the right direction since it would only generate rules for aircraft that it actually found on your system by scanning folders that you configured it for. However, obviously, a tool like VMRGenerator is only useful if you know about it and know how to use it. Through the forums, we've pointed many users to VMRGenerator and helped them configure it and install the rule set that it generates. That's great, but still the concern is the people that just don't take the time to post on the forums. I considered bundling a tool like VMRGenerator with vPilot so that everyone would have a copy, but it would still be a mostly manual process of configuring the tool, generating the rule set, and then installing it in vPilot. The process really needs to be automatic.
So, for vPilot 2.0, I will be doing away with the concept of downloadable model matching rule sets. vPilot will fully automate the model matching process, and the user will not have to think about model matching at all. It will accomplish this by scanning your flight sim's config file to determine where models are installed on your system, and then scanning those model folders and building a list of all your installed AI traffic models. It will compare this list against a known list of model information and perform model matching on the fly. (See the end of this post for more details on how this will work.)
The only time the user will need to be involved is if they have multiple flight sims installed on their system. In such a case, vPilot will ask the user which simulator they want to scan for installed model information. There will be a way (as there is now) for users to use vPilot with more than one sim if they want.
One of the nice things about the way the model matching system currently works in vPilot version 1 is that vPilot doesn't need to know anything about which simulator you're using. It just needs a SimConnect connection and you're good to go. It trusts that the model matching rule sets that you've downloaded correspond to the models you actually have installed in your sim. For that reason, vPilot version 1 can run on any computer. It doesn't have to run on the same computer as the simulator. Because version 2.0 will need to be able to scan your flight sim aircraft folders, it will have to run on the same computer as the sim. Those of you that run vPilot on a remote computer, don't despair, read on.
There are a number of reasons why many vPilot users like to run vPilot on a computer other than the one that runs FSX/P3D. It may be because they run FSX full screen and it's a major pain to switch over to the vPilot window when necessary. Or they just want to be able to see the vPilot window at all times and don't have a second monitor. Some just want to reserve every last bit of CPU power on their sim machine for the sim itself.
To accommodate users that want to run vPilot on a remote networked machine, there will be a way to run two copies of vPilot, one on the sim machine, one on the remote machine, and they will communicate over the network and remain in sync with each other. The copy running on the sim machine will be running in "host mode" and the one running on the networked machine will be running in "remote mode". When in remote mode, vPilot is essentially acting as a remote control for the host copy. Any actions you perform in the remote window will be sent over the network and carried out on the host machine. You'll actually be able to use either the host or the remote copy to perform any actions such as connecting, filing a flight plan, squawking mode C, chatting with controllers or other pilots, etc.
If you are one of those users that runs vPilot on a remote machine in order to try to reserve every last bit of CPU power for the sim, you may be thinking that this is a bad thing since all the vPilot processing will happen on the sim machine with vPilot 2.0. However, I think you'll find that the difference won't be noticeable. I say that because by far the most CPU-intensive part of vPilot's processing is keeping the position of all AI aircraft up to date with smooth movement on screen. And even with the current version of vPilot, that processing still runs on the sim machine via TrafficProxy. The rest of vPilot's functionality uses almost zero CPU time. These days when pretty much everyone has a multi-core CPU, this is really a non-issue.
One nice side effect of this change is the fact that voice comms will be running on the host copy of vPilot, on the same machine as the sim. Many users that currently run vPilot on a networked machine have asked for the ability to keep the voice comms on the sim machine so that they can, for example, use voice command tools to control the sim and be able to hear VATSIM ATC through the same headset.
Note that when you launch vPilot 2.0 in remote mode, you will be able to have the remote copy take over voice comms from the host if you wish. In other words, with vPilot 2.0, you'll be able to have VATSIM voice audio handled on either the sim machine or the remote machine. And you'll still be able to configure your PTT (push-to-talk) key or button on either the host or the remote, just like you can in the current version.
So, that's it. Thanks for reading ... please take a minute and post your thoughts on these upcoming changes. I've only recently started work on this new version, so it'll be months before it's available, and there's still time to make changes to the planned functionality. Please limit your replies to feedback on the above. If you have suggestions for other changes or new features, please post a separate thread.
----------
Now for the details on how the automated model matching will work:
When you first launch vPilot 2.0, it will scan your registry to find which sim(s) you have installed. If you are running more than one sim, you will be prompted to choose which one you want to use vPilot with. vPilot will then scan the configuration files for that sim and find all the SimObjectsPaths definitions. It will then scan those folders looking for aircraft.cfg or sim.cfg files. It will then scan those files and build a database of all the models you have installed.
vPilot will also download a data file containing information about all known models. The file will be included with the installer, and it will be downloaded only if the version on the vPilot web server is newer than the version you have on your machine. This file will include a mapping of model name to the ICAO aircraft type code and airline code (if any) for all the models we know about. Initially this data file will contain all the models that are currently defined in the various model matching rule sets available for download in the current version of vPilot. (So it'll include all the models from World of AI, Ultimate Traffic, MyTraffic, default aircraft, etc.)
When vPilot scans your installed models, it'll send information about any models it doesn't know about to the vPilot web server. I will use that raw data to improve the database of known models over time. So as more people use vPilot 2.0, the automatic model matching will become more and more accurate. Initially it will be at least as accurate as it is now in version 1 (actually even more accurate) because the initial version of the known model database will contain all of the model information currently available for download in vPilot version 1. Plus, if it is able to determine the ICAO type code and airline code from the data in the aircraft.cfg file, it will be able to make use of that model even if it's not included in the known model database. (Something that vPilot version 1 cannot do by itself.)
For those of you that fly for a VA with your own set of models, you will still be able to load a custom model matching rule set into vPilot 2.0. vPilot will look for matches in your custom rule set(s) before it performs the automatic matching.
If vPilot finds more than one model that matches an aircraft you encounter online, it will choose one based on the order the model is defined in the simulator's config file. It will prioritize default aircraft last. In other words, if you have both WoAI's JetBlue A320 and MyTraffic's JetBlue A320 installed, it will use the one that comes first in your configured SimObjectsPaths definitions in your simulator's config file. Any custom rule sets will have the highest priority. Default aircraft and any aircraft installed in the "SimObjects/Airplanes" folder will have the lowest priority. This scheme will give advanced users a way to control the matching precedence when they have multiple AI traffic packages installed.
I'm posting this message to describe some major changes that are coming up in vPilot 2.0. I'd like to get feedback from the user base about these changes, both positive and negative. This is a pretty long post, but the changes are quite significant and I'd like to describe them fully and accurately so that I can get meaningful feedback from the user base.
The main reason for these changes is to make the whole model matching process work more smoothly and automatically. vPilot's rule-based model matching system with the pre-made downloadable rule sets was a step in the right direction for model matching on VATSIM, but a lot of users still struggle with it. Many don't understand that they can't simply download a rule set without actually having the corresponding AI traffic package installed, and they end up with lots of model matching errors. Some of them post on the forums and get straightened out, but I'm sure there are many that just get frustrated and move on, using a different client or just not flying on VATSIM at all.
Nico Kaan's VMRGenerator was another step in the right direction since it would only generate rules for aircraft that it actually found on your system by scanning folders that you configured it for. However, obviously, a tool like VMRGenerator is only useful if you know about it and know how to use it. Through the forums, we've pointed many users to VMRGenerator and helped them configure it and install the rule set that it generates. That's great, but still the concern is the people that just don't take the time to post on the forums. I considered bundling a tool like VMRGenerator with vPilot so that everyone would have a copy, but it would still be a mostly manual process of configuring the tool, generating the rule set, and then installing it in vPilot. The process really needs to be automatic.
So, for vPilot 2.0, I will be doing away with the concept of downloadable model matching rule sets. vPilot will fully automate the model matching process, and the user will not have to think about model matching at all. It will accomplish this by scanning your flight sim's config file to determine where models are installed on your system, and then scanning those model folders and building a list of all your installed AI traffic models. It will compare this list against a known list of model information and perform model matching on the fly. (See the end of this post for more details on how this will work.)
The only time the user will need to be involved is if they have multiple flight sims installed on their system. In such a case, vPilot will ask the user which simulator they want to scan for installed model information. There will be a way (as there is now) for users to use vPilot with more than one sim if they want.
One of the nice things about the way the model matching system currently works in vPilot version 1 is that vPilot doesn't need to know anything about which simulator you're using. It just needs a SimConnect connection and you're good to go. It trusts that the model matching rule sets that you've downloaded correspond to the models you actually have installed in your sim. For that reason, vPilot version 1 can run on any computer. It doesn't have to run on the same computer as the simulator. Because version 2.0 will need to be able to scan your flight sim aircraft folders, it will have to run on the same computer as the sim. Those of you that run vPilot on a remote computer, don't despair, read on.
There are a number of reasons why many vPilot users like to run vPilot on a computer other than the one that runs FSX/P3D. It may be because they run FSX full screen and it's a major pain to switch over to the vPilot window when necessary. Or they just want to be able to see the vPilot window at all times and don't have a second monitor. Some just want to reserve every last bit of CPU power on their sim machine for the sim itself.
To accommodate users that want to run vPilot on a remote networked machine, there will be a way to run two copies of vPilot, one on the sim machine, one on the remote machine, and they will communicate over the network and remain in sync with each other. The copy running on the sim machine will be running in "host mode" and the one running on the networked machine will be running in "remote mode". When in remote mode, vPilot is essentially acting as a remote control for the host copy. Any actions you perform in the remote window will be sent over the network and carried out on the host machine. You'll actually be able to use either the host or the remote copy to perform any actions such as connecting, filing a flight plan, squawking mode C, chatting with controllers or other pilots, etc.
If you are one of those users that runs vPilot on a remote machine in order to try to reserve every last bit of CPU power for the sim, you may be thinking that this is a bad thing since all the vPilot processing will happen on the sim machine with vPilot 2.0. However, I think you'll find that the difference won't be noticeable. I say that because by far the most CPU-intensive part of vPilot's processing is keeping the position of all AI aircraft up to date with smooth movement on screen. And even with the current version of vPilot, that processing still runs on the sim machine via TrafficProxy. The rest of vPilot's functionality uses almost zero CPU time. These days when pretty much everyone has a multi-core CPU, this is really a non-issue.
One nice side effect of this change is the fact that voice comms will be running on the host copy of vPilot, on the same machine as the sim. Many users that currently run vPilot on a networked machine have asked for the ability to keep the voice comms on the sim machine so that they can, for example, use voice command tools to control the sim and be able to hear VATSIM ATC through the same headset.
Note that when you launch vPilot 2.0 in remote mode, you will be able to have the remote copy take over voice comms from the host if you wish. In other words, with vPilot 2.0, you'll be able to have VATSIM voice audio handled on either the sim machine or the remote machine. And you'll still be able to configure your PTT (push-to-talk) key or button on either the host or the remote, just like you can in the current version.
So, that's it. Thanks for reading ... please take a minute and post your thoughts on these upcoming changes. I've only recently started work on this new version, so it'll be months before it's available, and there's still time to make changes to the planned functionality. Please limit your replies to feedback on the above. If you have suggestions for other changes or new features, please post a separate thread.
----------
Now for the details on how the automated model matching will work:
When you first launch vPilot 2.0, it will scan your registry to find which sim(s) you have installed. If you are running more than one sim, you will be prompted to choose which one you want to use vPilot with. vPilot will then scan the configuration files for that sim and find all the SimObjectsPaths definitions. It will then scan those folders looking for aircraft.cfg or sim.cfg files. It will then scan those files and build a database of all the models you have installed.
vPilot will also download a data file containing information about all known models. The file will be included with the installer, and it will be downloaded only if the version on the vPilot web server is newer than the version you have on your machine. This file will include a mapping of model name to the ICAO aircraft type code and airline code (if any) for all the models we know about. Initially this data file will contain all the models that are currently defined in the various model matching rule sets available for download in the current version of vPilot. (So it'll include all the models from World of AI, Ultimate Traffic, MyTraffic, default aircraft, etc.)
When vPilot scans your installed models, it'll send information about any models it doesn't know about to the vPilot web server. I will use that raw data to improve the database of known models over time. So as more people use vPilot 2.0, the automatic model matching will become more and more accurate. Initially it will be at least as accurate as it is now in version 1 (actually even more accurate) because the initial version of the known model database will contain all of the model information currently available for download in vPilot version 1. Plus, if it is able to determine the ICAO type code and airline code from the data in the aircraft.cfg file, it will be able to make use of that model even if it's not included in the known model database. (Something that vPilot version 1 cannot do by itself.)
For those of you that fly for a VA with your own set of models, you will still be able to load a custom model matching rule set into vPilot 2.0. vPilot will look for matches in your custom rule set(s) before it performs the automatic matching.
If vPilot finds more than one model that matches an aircraft you encounter online, it will choose one based on the order the model is defined in the simulator's config file. It will prioritize default aircraft last. In other words, if you have both WoAI's JetBlue A320 and MyTraffic's JetBlue A320 installed, it will use the one that comes first in your configured SimObjectsPaths definitions in your simulator's config file. Any custom rule sets will have the highest priority. Default aircraft and any aircraft installed in the "SimObjects/Airplanes" folder will have the lowest priority. This scheme will give advanced users a way to control the matching precedence when they have multiple AI traffic packages installed.