๐ฎ Native Game Engines
This website is called Web Game Dev because we are going to use web standards to make games, but it is also worth addressing the topic of native game engines.
The two biggest engines available for native game development are Unity and Unreal Engine. They are both industry standards with massive communities and markets. If you want to work for companies in the video games industry and be able to release performant games on multiple native platforms like desktop and mobile, these are your main options, and you canโt go wrong with either.
Unity is easier to start with due to its big community, and has been very popular with indie game developers, whereas Unreal is usually considered better-suited for AAA games. But both can make any kind of games.
Unity code is written in C# and with Unity Visual Scripting, and Unreal Engine code is written in C++ and with Blueprints Visual Scripting. While visual scripting is quite interesting and allows you to do a lot, you will eventually have to use C# or C++.
There is also Godot73k, an open-source alternative that supports C#, C++, visual scripting, and its proprietary Python-like GDScript.
Note that if your goal is simply to publish a game to the web rather than using JavaScript, it is possible to export your games to WebAssembly and WebGL with both Unity and Godot. Some other recent actors are Needle, a tool to export Unity and Blender projects to a Three.js-based web runtime, and Wonder for Unreal Engine.
There are a lot of other game engines such as Defold (Lua, but there is ts-defold), Haxe (the spiritual successor of Flash) or GameMaker (GML).