Games can be made in many different ways. Many games are made using big, general purpose game engines such as Unity and Godot. I enjoy using the Odin Programming Language combined with Raylib.
Odin is a C-like programming language and Raylib is library for drawing graphics, checking input and playing sounds. So it’s just a program that uses a simple library, no engine!
There are no objectively best ways to create games.
When I tinkered with Raylib (diff bindings) instead of a game I made a (2D) polygon format+loader. Probably to a usable state, though clunky esp. w/2 polygon formats (fan vs. strip).
I probably would get further with more experience, though also Godot w/bindings seems like a no-brainer (for editors, systems) considering it’s still pretty light compared to the Un- engines.
(Not that I’m doing much with Godot either, viability and motivations are mismatched)