4 ms·
As lasagnaphil mentioned, lack of value types (structs), operator overloading makes it trickier. Also, Java doesn't have as many bindings to gamedev C librarie
by skocznymroczny 6y ago
As lasagnaphil mentioned, lack of value types (structs), operator overloading makes it trickier.
Also, Java doesn't have as many bindings to gamedev C libraries, so it's harder to get started, and the interop with C is harder in Java than in C#. C# has some cool features like sequential StructLayouts.
C# is actually rarely used for making game engines, but it's popular as an embedded scripting engine for games. I think C# has a better embedding story, because I've never heard of any projects embedding Java (I am sure they exist though).
Lastly, Java has a bit of a stigma for being a low performance language. While that may or may not be true, and there's been many popular games written in Java, such as Minecraft or most of the Android games, the stigma still remains and jokes about Java being slow are very popular.