WebAssemblyの魅力として、JavaScript以外の言語でWebアプリケーションを開発できるという点が挙げられます。LLVMに変換できる言語であればOKらしいですが、通常はC/C++/Rust/Goあたりの言語が使われます。Monoを使うことでC#も利用できます。 今回紹介するAsteroidsWasmはC#を使って作られたWebAssembly版のアステロイドです。

AsteroidsWasmの使い方

ゲーム画面です。巨大な隕石が飛んでいます。

ミサイルを発射して砕いていきます。

隕石に衝突するとやられてしまいます。

AsteroidsWasmは古典的なゲーム、アステロイドをWebブラウザ上で実現したものです。特徴としてはWebAssemblyを使っていることで、その元になっている言語がC#であるということです。DOMは使っていないのでスムーズな動きになっています。C#でゲームを作る際の参考になるでしょう。

AsteroidsWasmはC#製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

aesalazar/AsteroidsWasm: Collection of C# projects to see if a single .NET Standard base can run across all platforms including Blazor WebAssembly.