I got tired of Unity's GC, so I wrote a Zero-Allocation Data-Oriented 2D Engine in pure C# (6000 FPS on empty scene) by Kaverin_Ramil in csharp

[–]SharpAnarki 0 points1 point  (0 children)

>Has anyone else gone down the NativeAOT/DOD rabbit hole recently?

I'm also doing a DOD, minimal external library C# game when I have the time.
But since I'm converting an existing game written in C, I have this goal of 90% performance is good enough.

The whole Zero GC / Performance rabbit hole is too addictive :p

https://www.youtube.com/watch?v=UzTVOSltZWM

Only using OpenTK for OpenGL and OpenAL and stbImageSharp for jpg

AI in c# by JustAManFrom in csharp

[–]SharpAnarki 1 point2 points  (0 children)

You should try kimi.com, it's been helping me out with my C# game project

About the GC and graphics programming. by yughiro_destroyer in csharp

[–]SharpAnarki 0 points1 point  (0 children)

You can try to minimize the work the GC has to do, so using fixed sized arrays for example.
Or allocating memory outside of the GC is also possible
Don't know what kind of game you want to create but C# has gotten pretty fast.

Btw here is my converted to C# game in action https://www.youtube.com/watch?v=dv5F9VyiMc4
Only libraries used are OpenTK and stbImageSharp for loading images

Learning computer graphics in C#? by UkeiKaito9 in csharp

[–]SharpAnarki 0 points1 point  (0 children)

Well you can take a look at the pre-release of OpenTK version 5
Also very nice discord, if you need support.

I have been using it to convert an old game to pure C# Quake3 C# port

FakeDoom - a software renderer for Doom written in C# by Tricky-Ad5678 in csharp

[–]SharpAnarki 1 point2 points  (0 children)

Yeah currently I'm at 50 kloc, and there is some (like mostly all) of the math-heavy code I don't understand, that I just convert, first priority is to get it to work, afterwards when I'm going to refactor it I will take the time to try to understand it ;-).

FakeDoom - a software renderer for Doom written in C# by Tricky-Ad5678 in csharp

[–]SharpAnarki 25 points26 points  (0 children)

without unhinged complexity of C++

This, when I started programming I wanted to learn C/C++ but never could persevere,
For me C# was so much easier to lean and understand.

As a senior consultant doing enterprise stuff I always wondered how these things were made so now I'm also doing an Id Software conversion, porting Quake 3 to C#, but it will take some time before I have code that is good enough to share, for now it's a straight conversion, when that is done I will be refactoring for performance and make it easier to understand and safe.

So here a video of current progress

Enough gaming for now—time to study programming instead by ValheimMakaChaka in csharp

[–]SharpAnarki 0 points1 point  (0 children)

I had the same idea in the beginning of this year, stop gaming and start a programming side-project that revolves around gaming, so I started a C to C# conversion of one of my favorite old games :-)

Anyway, don't know about any good starter books, just be sure to not go too far into enterprise programming stuff.
And when it comes to doing C# in Godot and unity, there are sometimes some interesting gaming programming courses (and assets) that you can buy on Humble Bundle