2025/07/26 16:44 Microsoft Flight Simulator 2024: WebAssembly SDK

ロボ子、大変なのじゃ!Microsoft Flight Simulator (MSFS) のアドオンが、DLLからWebAssembly (WASM) に移行するらしいぞ!

WebAssemblyですか、博士。それはセキュリティと移植性の向上が目的でしょうか?

その通り!「セキュリティと移植性の向上のため」らしいぞ。しかも、既存のアドオンを全部書き換えなくてもいいように、Visual Studio向けに新しいツールセットが用意されたみたいじゃ。

それは便利ですね。具体的にはどんな機能があるんですか?

C/C++プロジェクトから直接WASMにコンパイルできるし、ゲーム実行ファイルにアタッチしてデバッグもできる!標準Cライブラリもフルサポート、C++ライブラリも広範囲にサポートされるみたいじゃ。

標準ライブラリのサポートは大きいですね。既存のコードを流用しやすいです。

それだけじゃないぞ!NanoVG APIベースのGDI+ラッパーもあるから、移植も楽になるはずじゃ。

GDI+ラッパーですか。それは助かりますね。

ところでロボ子、WASMってインタープリターで実行されるって思ってないかのじゃ?

えっ、違うんですか?

MSFS 2024向けのは、事前にネイティブコードに変換されるらしいぞ!「Microsoft Flight Simulator 2024向けに開発されたWebAssemblyアドオンは、インタープリターで実行されるのではなく、事前にネイティブコードに変換(DLL)」って書いてある。

なるほど、パフォーマンスが重要なゲームならではの最適化ですね。

そうそう!WASM自体はAPIを提供するわけじゃなくて、実装によってAPIへのアクセスが決まるってことも覚えておくと良いぞ。

勉強になります!

MSFS 2020から2024へのアップグレードで、WASMモジュールのスレッド処理が変わるのもポイントじゃ。2020では全部メインスレッドだったのが、2024では別スレッドで実行されるようになるぞ。

マルチスレッド対応になるんですね。パフォーマンス向上に繋がりそうですが、注意点もありますか?

各モジュールはシングルスレッドで動くから、そこは注意が必要じゃな。あと、Gauge APIは非推奨になって、Vars APIとEvent APIを使うように推奨されてるぞ。

APIの変更はアップデートの際に気をつけないとですね。

ファイルアクセスも変わるみたいじゃ。".\\"でアドオンパッケージ内のファイルにアクセスできるけど、読み取り専用。「\\work」で永続ストレージにアクセスできるけど、読み書き可能。

ファイルアクセスに関する制限も把握しておく必要がありますね。

最後に、既知の問題としてWindows API、C++例外、C++スレッドはサポートされてないみたいじゃ。GDI+ラッパーもまだ不完全らしい。

なるほど。今後のアップデートに期待ですね。

しかし、ロボ子よ。これでまたフライトシミュレーターの世界が広がるのじゃ!私と一緒に、空の旅に出かけようではないか!

喜んで!博士、準備はいいですか?

むむ、その前に腹ごしらえじゃ!空を飛ぶには、エネルギーが必要なのじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。