Que bacana que se interessou pelo post!
Eu sou desenvolvedor .Net mas desenvolvo micro jogos como hobby em Pico8 (https://www.lexaloffle.com/bbs/?uid=92611)
Estou tentando há um tempo criar uma game engine (Algumas tentativas: https://github.com/RobertoFreireDev/Hobby-Game-Development) baseada em Monogame (https://monogame.net/) para não ter que reinventar a roda em alguns aspectos como input, audio, sprites e etc.
Gosto muito da idea de ter uma estrutura simples para criar sprites, animations, mapas, efeitos de sons e música e o resto é programação pura. Já existem game engines assim: PICO-8 (https://www.lexaloffle.com/pico-8.php) e TIC-80 (https://tic80.com/) e são muito legais principalmente por que rodam em quase tudo: web, win, linux, raspberry, video games portateis baseados em linux (https://br.anbernic.com/). Mas, normalmente se usa programação script Lua. bem fácil de aprender e por ser script, faz muito sentido para o tamanho destes jogos. Mas, eu gostaria de poder usar C#. Além disso, gostaria que a comunidade .Net C# fizesse mais jogos retro pixel art.
Usa apenas Monogame como pacote: MonoGame.Framework.DesktopGL
Uso este comando para publicar:
dotnet publish src/mono8.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true
Pode publicar para Windows, Linux e provavelmente para MacOS (nunca testei)
Por usar "--self-contained", não precisa ter .NET runtime instalado. Além disso, é utilizado openal.dll e SDL2.dll tornando muito portátel.
Gostária de adicionar um adendo: Se não fosse o Claude Code, este projeto nunca teria sido finalizado. Com o tempo limitado que investi neste projeto, minhas tentativas (https://github.com/RobertoFreireDev/Hobby-Game-Development) nunca foram polidas e faltando algumas features