Game Engines

Intro
In the video game industry, games generally aren't programmed from scratch. It would be very hard if you had to code graphics, physics, controls, animation, and dialogue from scratch every time, especially for 3d games. Additionally, many game studio employees, such as artists, animators, level designers, etc, don't have any programming knowledge, so they would like a simpler way of adding their work into a game. The solution is game engines, which are tools that do a lot of the boring part of game development for you. They usually have high-quality graphics engines, animation tools, and physics engines, as well as useful ways to manage assets and structure game objects. Programming is still needed, but you only have to focus on the parts that are unique to your gameplay.

Comparison
If you would like to learn a game engine, I would recommend Unity or Godot. Unity is a very popular engine, with lots of tutorials and successful games. However, it might be harder to understand for beginners, since it uses an entity component system structure and the C# programming language. Godot is currently a smaller project, but its structure might be easier to understand, and you can choose whether to use C# or its own python-like programming language. Additionally, Godot is open-source, meaning that you fully own the games you make with it, and you can look at how it works if you are curious or need to debug something. On the other hand, Unity is not open-source, and you are required to add watermarks and/or pay royalties if you want to sell your game. There is also Unreal engine, but it has similar restrictions as Unity, and is probably harder to learn.