Comment by kkukshtel
9 months ago
I agree with a lot of this, and am similarily working on my own code-only C# game framework meant as a spiritual successfor to XNA/Monogame (using Sokol instead of SDL):
In OP's post as well he brings up some of the main factors that make modern C# incredible:
- Cross platform development (and runtime).
- NativeAOT Compiling (great for consoles, provided you have backend headers).
- Native Hot-reloading.
- Reflection
I'd also add:
- Source Generators
Modern C# is incredible. I think people still discount it due to its admittedly bad legacy, but the past five years of C# and CoreCLR development make me feel like it's truly a language that has everything necessary but isn't baroque or overburdened. My only major request, Union types, is also in proposal and will (hopefully) come in the next year or so:
https://github.com/dotnet/csharplang/blob/main/proposals/Typ...
Out of curiosity, do you have some pointers for getting into C# for these kinds of projects? I've only used C# for standalone win32 applications and inside of Unity.
I am familiar with low-level game engine stuff in C/C++, but always discarded C# as not being viable for cross-platform projects (as in game consoles). Guess I was wrong. :)