Building a self-contained game in C# under 2 kilobytes

  • I love the low level .NET stuff Michael Strehovsky makes. Microsoft has built a feature-rich and easy-to-use environment, but it makes .NET developers think there is only one way to use it: create csproj and call dotnet build.

    But underneath the covers, there is an extremely powerful compiler (Roslyn) and build-system (msbuild). Combine that with the flexibility of C# and you can develop pretty much anything.

  • It is pretty impressive that even without third-party tools, the binary went from 64 MB to ~1 MB. IMO future versions of .NET should add more of such optimisation flags as default in a Release build.

  • In a similar vein, there's Can you fit a whole game into a QR code? by MattKC, which is limited to about 3 kilobytes (2,953 bytes)

    https://youtu.be/ExwqNreocpg

  • This is really cool, but it's funny to use C# primarily as an awkward substitute for C as you call Win32.

    For most practical purposes, the default .NET 8 AOT is great if you really need native code.

  • Someone with an iPhone told me the webm video embedded in the article still doesn't work on iPhones in 2024 so here's another link to the video: https://twitter.com/MStrehovsky/status/1742101904250060842

  • "Win32 is the only stable ABI on Linux" ;)

  • He makes this look easy! Surprising how far you can take things with OOTB .NET.

  • Very cool. What are the practical implications for this? Would it ever be wise to deploy these techniques for a commercial program? Is the end result more memory efficient during execution?

  • Michal and the whole CoreRT team saved C# for me, one of the very few people i respect from Microsoft

  • Sadly the video won’t play on my iPhone

  • Pretty sure you just joined the demo scene.