Really surprised no one pointed to Godot engine. Open source, free, awesome editor, multiplatform, etc....
The main reason I never took Godot into consideration is that it uses its own scripting language and that's a no-go for me.
On top of that, how many commercial games have you seen that have been developed with that engine?

1) Godot uses its own language if you want. C++ engine is available and ready for you to use as any other C++ engine. Speaking of GDScript, it a really simple language optimized for creating games. It is a DSL language not a generalist one like C# or C++ so, it is really simple to take and to the point. But, I can understand you don't want to get into another language.
2) It seems from your question that no one can make a comercial game if we don't use a very well known engine with thousands of commercial games created with it. Well, a lot of us have commercial games (more in the 90's) created with little home-made engines, they don't even have a name :D. Godot is not a small engine, it is really lightweight and with a lot of things packed-in. If there are not a lot of 2D games created with it is just because people don't know it or prefer to go with the more visible (publicity) ones. I'm not saying Godot is the best engine for 2D but it is really capable and improving. What I can't stand are engines that say that can be used for 2D and don't let me work in pixels... hate it. Godot allows that like a lot of others.
Anyway, I'm using unity3d at the moment for my games because they are all 3D. It is really capable too but not as comfortable as Godot (IMO).
Like other has said, take one, try to create a game and check for yourself witch works best for you

.
Cheers.