Unity 3D has become extremely popular over the last couple of years and is by far the easiest to use engine that I know of.
I don’t really trust “game engines” at all, because they are almost always poorly written, difficult to use and impossible. This is just not a good metaphor for "everything you need when writing a game."
But from what I saw, Unity actually removes this. I think why it is so popular.
However, its API is intended for use through Mono, so while you support all supported languages (I believe Unity recommends using Javascript, but C # is a pretty popular choice), I don’t think it supports C ++ directly.
The question is, do you really need your game to write in C ++?
But no matter which route you choose, make sure that the graphics engine that you choose is actually used in real games. In principle, the test of the litmus test for any engine (and one that I'm not entirely sure that any of the options you listed is true) is that it can be used to create a reasonable game. This is why there is advice like this . When you write an “engine”, it’s very easy to get distracted by writing the engine code for yourself, resulting in a huge structure of various functions that was never actually used in the game, and therefore when someone tries to do this, it falls apart. It works horribly or hard to use and does not have important functionality.
So, scratch any engine that does not have a full game. Not a graphic demonstration, but a game. Regardless of whether the big commercial game was an AAA or an indie game or some kind of hobby project by someone who is familiar with the engine, it is important that someone made a game with him and that the game looks convincing to you, as a showcase for an engine.
source share