Shared cockpit/multiplayer

Having developed a plane in FSX specifically for shared cockpit use (L-39), I can give a little bit of insight into the challenges here, and why this feature is a pretty major and difficult thing to add in after the fact.

Sychronizing most simple steam gauges and readouts is very straightforward, since most of the calculations are client side for each pilot based on the same simvar data, and no special code is required. The two pilots’ sims don’t have to communicate at all, they just need to do the same math from the same input data at roughly the same time.

It’s when you want to change something, via switches and knobs etc that things get tricky fast.

The main issue with shared previously was that for every input either pilot could make you had to code very robust conditions and checks to make sure those inputs could never become rapidly repetitive in any way. When you’re coding for single player you don’t really care if you’re spamming a few local variables with updates every frame (within reason, there’s still a perf cost) but doing that on even a single variable in shared cockpit can instantly flood the connection and cause all kinds of terrible ( and sometimes hilarious) things to happen, from jittery movement of the plane at best, to complete desychronization and even crashes in certain cases.

This requires a completely different way of thinking about inputs and isn’t something that can be easily retrofitted, and any change to the simulator’s code itself to combat this spamming could open a pandora’s box.

The new input event system in MSFS is very clever though and has some early defense against this built in, which I think was done for performance reasons rather than future intent for shared cockpit use, but I don’t think that will be enough. For shared to work really well will likely require a couple of new variable types and some special handling. To get the code in the entire stable of default aircraft updated to work with that would likely be a massive task, and that’s just the XML side. I have no idea how difficult things could be on the wasm side, but I’m betting it would be quite an undertaking.

I really hope one day to see a great native low level solution for this in MSFS though, one that we can customize and build on. Shared cockpit is just an amazing training aid, especially for IFR, and a ton of fun even when just being a passenger and sightseeing. I miss it terribly.

3 Likes

Great post, and great insight , especially as flying with someone else (Shared Cockpit) is such a far more enjoyable thing than flying by yourself … “assuming” the shared cockpit function correctly.

When P3D went from FSX’s Dual Shared cockpit, to a system where more than 2 could share the same cockpit, it was an amazing advance.

I hope that any future development & improvement that Asobo does to support “Shared Cockpit”, will be a design that support more than 2 sharing the same plane.

It is possible “in any Event” – so no need to “Take a Poll

(see what I did there :upside_down_face: )

@N6722C More than two would be awesome. I didn’t use the later versions of P3D, so never got to try that, but cool that they added it.

Something I forgot to mention in my previous post was the testing and compatibility considerations. Adding shared cockpit is in some ways even more of a “platform” change than VR was. There are many planes that haven’t been optimized for VR (no panel collision geometry for mouse etc and no testing with VR controllers) but they don’t usually ‘break’ when flown in that mode, and those things are relatively simple to retrofit and test.

Unless Asobo is able to come up with some incredible system that can carefully filter out per-frame updates of local vars (which is certainly possible and I wouldn’t bet against them) then there would probably need to be some kind of rating info in the marketplace for every 3rd party aircraft, like:

  • basic multiplayer compatible only (usual native items synchronized, gear, engines, control surfaces etc)

  • enhanced multiplayer: all external moving parts synchronized (doors, hatches, cowl flaps etc)

  • shared cockpit compatible: all of the above plus full cockpit synchronization

Then there’s the testing time required, which is certainly non-trivial. Usually I tested this stuff locally at first with two computers side by side on the same network, trying to fly both at the same time (always fun), with some artificial latency thrown in, but real testing always required other people, and the further away the better. Many times things would work well flying with others in North America but as soon as my Aussie friend with his Aussie latency joined the cockpit things could go haywire pretty quick. If something worked with him it would always work, hehe. And that was in FSX, which was peer to peer, with very limited connections, and the where the only network traffic came from updates between aircraft. Things are very different now and a lot busier with so much being streamed. It’s going to be a bigger challenge to keep things smooth.

2 Likes

man such insight.

Just gonna refer to this any time someone says “its easy just add it in”

1 Like

SimCaesar (USA) and Con7inuum (Australia) often steam a MSFS 2020 Shared Cockpit session on Twitch. (with a 3rd Party Cockpit Sharing App)
. Despite the occasion “getting out of sync” issues, it seem to work reasonably well (Most of the time)

TheJumpSeat

So, it is “Possible”

They probably both have fibre optic internet connections. i.e. Using speedtest: I get 150-200ms ping on ADSL, and 10-20ms on fibre.

I have successfully used the GitHub - Sequal32/yourcontrols: Shared cockpit for Microsoft Flight Simulator. mod with a friend without latency issues (we both are in the same country, each with normal fibre). I expect international shared cockpiting over a large distance would require fibre optic/fibre to door, to keep latency down.

They just need to add a warning dialog box if the ping between the pilots exceeds X milliseconds when the initial connection is made. So we can proceed at our own risk, knowing it might not be stable.

1 Like

A potential way to help with this is to have a way to enter your connection speed (or have msfs run a speedtest in the background) in order to reserve some of your bandwidth for shared cockpit streaming.

Like how on steam you can allow background updates during gameplay, but throttle the download speed so as to not impact gameplay. e.g. Your connection is 40mbps so you throttle updates to 30mbps.

Edit: BETTER IDEA: Have MSFS internally traffic manage it’s connection to always prioritize shared cockpit above streaming data.

1 Like

Wow, this have been going on for over two years, 180+ replies, 740+ votes and no official reply or indication of intent? Well its not looking good for this to be implemented then? Surely this should have been replied to officially and closed by now or given an official response?

I, of course am here to fully support the idea of shared cockpit. It is kind of mad that it isn’t a thing yet especially after all this thread. The game is amazing sure and I am glad it has been made. I also understand that the devs will be busy and I mean no disrespect.

But can we not have a simple answer though please; will shared cockpit (not a 3rd party mod) be implemented so we can have a proper bug free multicrew experience please? I play with friends, and know plenty more who would play if this was a thing.

I am aware this might be hard to implement and I am aware of the numerous mods, but surely if they can manage something similar in Sea of Thieves, Star Citizen, DCS and even Elite Dangerous, et al, it can be done with this great game.

So to be extra specific - will Microsoft ever implement this and if so - can we please have an indication of when - if ever - or put us out of our misery if you don’t plan on doing it?

Thank you very much in advance.

3 Likes

Maybe step one, is to get Multiplayer Model matching working correctly.

No much point in me sharing my A320 Cockpit, if the other pilot is sitting in a Beaver cockpit.

1 Like

“No much point in me sharing my A320 Cockpit, if the other pilot is sitting in a Beaver cockpit.”

Sorry I deleted old post so this would quote you! Surely there would be the function that upon the other player accepting your invite - he will then simply be transported into your game? Cheers.

2 Likes

In the last dev stream they said they were going to have a big go through for wishlist feedback because it’s been ages since they looked into it because of the 40th anniversary workload.

I know it’s no help right now, but hopefully we will have more information on lots of wishlist requests after the next dev update (1st December) or the one after (8th December) at the latest.

3 Likes

Good to hear thanks. Until then, I think it’s imperative to keep this alive so it has a better chance of making it into reality. It would totally transform the game to another level. Hopefully Christmas we will all have a nice surprise! :slight_smile:

2 Likes

This feature is a must have.

Currently I have some friends who want to start learning flying and it would be way easier if I could jump in the right seat to help them out.

2 Likes

Shared cockpit not only allows multiple pilots to fly together as a crew in airliners but as a flight instructor it allows dual instruction to be given remotely. Also it is a solution for sharing VR flight with the non-pilots giving sightseeing “rides“ to those interested.

Yeah not only this - you all raise really good points - but I haven’t been able to find one official written reply or confirmation (if anyone knows of one then that would be great) that this is being worked on or will be implemented. I am not so sure it should be taken for given that it is so if we want it - we need to remain vocal about it.

maybe relevant to note:

FSX has a MP system where two pilots could run in shared Cockpit and share and control l the sane plane

P3D added to that, and allowed MULTIPLE pilots to share the same plane, which was a great extension to the limited 2 pilot FSX mode.

So maybe MSFS 2020 should be looking to design & implement a Multiple Pilot shared Cockpit solution.

If Lockheed’s P3D can so it, years ago, MS / Asobo should easily be able to do it today .

(yes, that’s a CHALLENGE)

Another thing to consider

Both FSX & P3D has in Game Voice communication>
MSFS 2020 does not (for so many obvious / legal reasons - times have changed )

But maybe in MSFS2020, there should, be some Built In Voice Communications for pilots in a Shared Cockpit plane, which is really necessary, rather than having to rely on some random 3rd party voice communication system, like Discord, Teamspeak ? or other .

2 Likes

Great idea to have built in voice comms for pilots in shared cockpit. Also, a very helpful mod sent me this:

So it is there, but lets continue to keep this thread alive to give it a better chance.

2 Likes

Hello everyone,

I’ve been following this thread for a few weeks now and I’m more eager than ever to see the shared cockpit implemented in the sim. I’ve been sharing the petition as much as I can, but as it turns out it’s potentially useless, I’m going to start posting more often in support of this idea.

It’s imperative that the developers realize that this feature is vital to the simulator.

And as mentioned, it would be really nice to get feedback from the development teams or at least people close to Asobo who can give even a response like “Yes, the developers are aware that people are eager to see the shared cockpit.”

It’s going to happen, I’m more than sure, but we’re going to have to do it collectively!

Have a great Sunday everyone.

3 Likes

Hi mate,

Please don’t stop sharing - the more upvotes we can get - even if it is one extra, it will help. I totally agree with everything you have written though. It seems it is in the “Planned” stage, but the issue to me here is - there are comments in 2020 that say “yes well it’s being planned” so how much “planning” does it need? And is the term “planning” a guarantee on implementation? I am not so sure it is. Well it would be great to know for sure and I hope to be wrong. :slight_smile:

They could easily close this subject down by giving us some kind of eta for it. Until then, we can be patient.

Best regards!

1 Like

Hey!

You’re probably right, we need to take action on all fronts (forums, petitions, etc).

Also, I saw on reddit that on 06/15/2022, an MFS community manager responded to a question on reddit about the shared cockpit by saying that it was indeed planned (https://www.reddit.com/r/MicrosoftFlightSim/comments/vcuoro/comment/icgzevc/?utm_source=share&utm_medium=web2x&context=3).

If one day I have the opportunity to go to Bordeaux, the city where Asobo’s studios are located (I live in France), I think I won’t hesitate to go and ask them. Well, they might think I’m crazy, but it’s for a good cause. :joy:

1 Like