← Back to context

Comment by drnick1

10 hours ago

A GC language is a non-starter for a game engine, I thought this was "game development 101" level knowledge. There is a reason every major game engine actually used to make games is written in C++, with some scripting language on top of that for game logic if necessary.

Why not respond to the author's justification for it, displayed right on the linked page?

Every game made with Unreal has GC bolted onto it. GC is absolutely viable for shipping games.

  • I don't think that's quite true. While Unreal has a GC, it's not used for the low-level components, only for the "user-facing" objects.

The author calls this out and tries to brush it off with FPS figures,

> The current version of the base engine renders extremely fast, faster than most would think a garbage collected language could go. In my testing a release mode build of a game in Unity with nothing but a black background and a cube runs at about 1,600 FPS.

But straight-up FPS is generally not the main concern with GC in a game engine, it's GC pausing which can make an otherwise smooth game feel almost unplayable. I don't know anything about Go so maybe this is less of a concern in that language?

Minecraft.

  • to be fair minecraft Java edition isn’t exactly known for having great performance. It will run on a potato, but still runs like a potato even on fast hardware.

    This is also not mentioning that the by far more popular version of the game (by player count) “Minecraft Bedrock edition” is written in C++ precisely for performance reasons on low end mobile hardware