▲ | whatever1 5 days ago | ||||||||||||||||||||||||||||||||||||||||||||||
I am not sure I am following. The game runs on windows, why not compile the add-in code directly for the single target? Is it for future proofing it in case MS wants to release the game in a different platform that is not windows ? | |||||||||||||||||||||||||||||||||||||||||||||||
▲ | JonathonW 5 days ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
Because the game already also runs on Xbox and, given MS's recent gaming strategy (which is putting less emphasis on Xbox exclusives), could conceivably come to Playstation or maybe even Switch 2 in the future. On the Windows side of things, there's also a push towards ARM hardware (with current Snapdragon-based hardware actually performing pretty well). Not sure if Flight Simulator is currently ARM-native, but having the ability to go ARM-native is probably desirable at least as a long-term goal. | |||||||||||||||||||||||||||||||||||||||||||||||
▲ | potatolicious 5 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
Security is the big one. C++ DLLs have relatively free reign and are difficult to sandbox. With WASM you have a much stricter security model where the host program has full control over what APIs it has access to. The addons are developed by third parties that aren't Microsoft, so there's a serious risk of malware and other ways of getting the user pwned. The added future-proofing/portability is a nice bonus, but I suspect maybe not the main motivator. | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
▲ | connicpu 5 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
WASM brings a memory sandbox that prevents out of bounds access to arbitrary pointers. | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
▲ | ethan_smith 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
WASM provides a secure sandbox with predictable performance across platforms while giving Microsoft the ability to maintain compatibility if they port to Xbox, cloud, or other platforms without requiring developers to recompile their add-ons. | |||||||||||||||||||||||||||||||||||||||||||||||
▲ | p_l 5 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
There were already parts in MSFS 2020, namely gauges aka everything in cockpit that had more dynamic display, that used JS based SDK in order to provide sandboxing and safe level of control over performance (because with sandboxes VM it's easier to preempt execution) | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
▲ | hamburglar 5 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
Isn’t there ARM windows too? Not sure if flight sim targets that platform or not, but if so, making the extensions more portable is a win. | |||||||||||||||||||||||||||||||||||||||||||||||
▲ | tapoxi 5 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
> Is it for future proofing it in case MS wants to release the game in a different platform that is not windows ? Strongly rumored to be releasing on PS5, like most recent Microsoft games. | |||||||||||||||||||||||||||||||||||||||||||||||
▲ | 01HNNWZ0MV43FF 5 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
In addition to the sibling comments, you can sandbox WASM's CPU time. You can say after a certain amount of time that it has to yield back to the host. With native plugins, you might never get your OS thread back, and there isn't a good way to safely abort it and free memory and everything | |||||||||||||||||||||||||||||||||||||||||||||||
▲ | selectodude 5 days ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||||||||
It runs on Xbox as well so I imagine they want the flexibility there. |