Asteroids was the first full arcade game I ever wrote in C. Asteroids in C# takes things to a whole new level. The solution contains 12 projects in all: Three Blazor projects, a WinForms version, a WPF version, a UWP (Universal Windows Platform) and a Xamarin Android Forms version (shown).
You can compile and run any of the projects though you will need to install and setup a suitable SDK and emulated (or a real device) for the Android.
Written by Howard Uman and ported by Ernie Salazar, this is a wireframe asteroids, more true to the original than my own raster version. Out of curiosity, I created an Android 9.0 emulator (I don’t have a recent Android phone) and compiled then deployed it to the emulator. The screenshot is grabbed directly from the emulator which has a less than ideal screen ratio. This would work better on a tablet.
The structure of the C# Solution is interesting. All of the game code is in the Base project. All of the other platforms just host the main game window. The game uses the SkiaSharp graphics framework for Android Forms.
This is a very nice open source project and an excellent way to see how Blazor works in both Wasm and Server mode, not to mention the Android, WinForms/WPF and UWP versions.
I have an interest in Blazor which lets you write C# code that runs in the browser very easily. With a bit of workj, this should be runnable on a Linux webserver as well. Something for me to try…