My dad and I both like to play Flight Simulator 2020. Dad got his private pilot license some years back, and although he doesn’t fly any more, he’s a keen simmer. I always loved playing the early flight sim versions back in the day, and I’ve now bought into the game and am playing as if I’m learning to fly for real.
Given our shared interest, and given the isolation of COVID, it made sense to ask – can we fly together? How can we hook up our computers so that we are both in the same cockpit, one in the role of captain, one in the role of copilot? Here’s my initial attempt – hopefully we’ll figure out more as we go!
Stage 1: Just Zoom screen sharing
(For download here, “Zoom client for meetings”)
When you think about it, you can get quite far with just a copy of Zoom and doing a bit of screen sharing – the captain does everything, the copilot watches and can help with navigation, double-checking, looking up airports and frequencies, and calling them to the pilot. Rudimentary, but still quite fun. But, can we take it futher.
Stage 2: Sharing a flight plan with SkyVector
Not a ‘flight control’ solution, but worthwhile.
Skyvector lets you plan flights ahead of time: the idea is that you can file flight plans with Air Traffic Control, but it’s really useful to knock out a flight plan ahead of time, and then share it with the other pilot. This is quite fun for the copilot – who always gets the short end of the stick anyway – because they can plan flights and decide where you go.
Anyway, here’s an example flight plan, an hour’s flight around Iceland:
There are tutorials out there, but the ten-second tutorial goes;
- open ‘flight plan’ by clicking ‘flight plan’ in the top left corner
- right-click near an airport or nav aid and choose it to add it to your flight plan: you can add airports, nondirectional beacons, VORs, arbitrary GPS points etc.
- when you’re done, share the flight plan by email – click the fourth icon on the flight plan toolbar, choose email, and send to your copilot. They can follow the link to see what you see
- There’s both a map view and a ‘navlog’ view, where you can see directions, nav aid frequences, etc.
Stage 3: Zoom screen sharing with remote control
Zoom lets the host share the mouse and keyboard with another participant. It’s for things like collaborating on a document, but it just about works! The copilot can reach over with their own mouse, flick switches, adjust radio buttons, play with the autopilot.
It’s got it’s challenges – mouse control can be a little funky anyway, and doing it over zoom can lead to unexpected zoom-in / zoom-out experiences, and other little pieces of awkwardness. Still, now you’ve got a navigator who can tune your NAV1 and NAV2, program the autopilot, etc.
It’s also possible to use keyboard shortcuts, so if you know those it can be much more accurate and less fiddly than mouse control.
Stage 4: Shared Tools via MSFS Mobile Companion App and NGROK
(MSFS MCA For download here)
(NGROK For download here)
MSFS is a very neat application for displaying info on your flight, and letting you adjust lots of settings. It includes a live map so you can see where you are, and controls to tune your radios, the autopilot, and simulation rate:
- Visit the site linked above and choose ‘tags’, or click here
- Choose the most recent release – that’s 1.3 right now – and download it from ‘Assets’ at the bottom – eg ‘MSFS_MCA_v1-3.exe‘
- Start the flight simulator
- Start the MSFS_MCA_…exe app
- Open a web browser
- Visit http://localhost:4000.
Now, the sharing part.
Note that ‘http://localhost’ means ‘my computer’ – the captain can see the content, but the copilot can’t – it’s not their computer to see. You need a way to expose the content on the captain’s computer to the copilot.
That’s where NGROK comes in. NGROK is a tool used by software developers and website designers to expose the sites they write to other folks. So you run the program on your machine, and use NGROK as a kind of ‘periscope’ that other people can look down and see the site running on your computer.
You need to download the ngrok zip to your machine (something like ”ngrok-stable-windows-amd64.zip”) , extract all the files, and start a command prompt;
Then change directory to the one containing ngrok and run
./ngrok.exe http 4000
That’ll start ngrok which’ll look something like this
ngrok by @inconshreveable Session Status online Account Steve Cooper (Plan: Basic) Version 2.3.35 Region United States (us) Web Interface http://127.0.0.1:4040 Forwarding http://0d7e89ae9c5f.ngrok.io -> http://localhost:4000 Forwarding https://0d7e89ae9c5f.ngrok.io -> http://localhost:4000 Connections ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00
The important part is the bold part I’ve highlighted – the web address like http://0d7e89ae9c5f.ngrok.io is a place anyone can go to and see that mobile companion app. So, you can let your copilot know about the address (say, in the zoom chat you’ve got going) and they can load the site up on their computer, or iPad, or phone. And now they are truly navigating – they can see your location, tune your radio, whatever – all without trying to fiddle with knobs and dials using a mouse over a zoom call. Much nicer!
But be aware! anyone could also use your application – there’s no protection – so be careful not to share that with other strangers – basically, don’t stream it! It changes every time, so if someone does get hold of it during a session, just stop ngrok and start it again. They may have maliciously changed your NAV2 or sped up your simulation rate though!
Stage 5: to come!
I feel like this is scratching the surface of the possibilities. I’m sure people have solved this locally, and I want to try other software. For me, the most exciting possiblity is that the copilot could actually take control with their yoke. Here’s some software that may be amenable to being ‘copiloted’.
- SkyShare – SkyShare’s got amazing promise – you can use the copilot’s yoke as a virtual second yoke, giving the possibility of two-pilot control. This would be great. I’ve bought a copy but not managed to get it working yet. There’s a lot of networking cleverness to be done to get it working – not necessarily the kind of shenanigans you really want to get working. I’m hoping to be able to create a solution with ngrok or something, making the complex networking easier.
- Air Manager – Air Manager is a companion app which lets you connect to the sim and see the instruments in a separate window. I know this works on a local network, but I’ve not tried it over the internet yet. I can see this being really useful in Instrument Flight Rules (IFR) flights where visibility isn’t great, or where the captain is using something like TrackIR or otherwise tends to make it hard to read the instruments.