萌えハッカーニュースリーダー

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

出典: https://docs.flightsimulator.com/msfs2024/html/6_Programming_APIs/WASM/WebAssembly.htm
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

えっ、違うんですか?

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

勉強になります!

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

むむ、その前に腹ごしらえじゃ!空を飛ぶには、エネルギーが必要なのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search