Pixel art - Aseprite
3D modeling - Blender (latest version is 3.0.1, although I'm using 2.9x)
Game engines - Godot, Unity, Unreal Engine (I'm not using any of these currently, but they're arguably the 3 most popular).
Programming language - QB64
Explosions and smoke effects - Embergen
It really depends on what type of game you want to make though since some tools are better suited for that particular game.
As I've found out, using a programming language gives you maximum freedom to do what you want, but can be incredibly complicated. For a beginner, a game engine would probably be a better choice.
Your best bet is to find games similar to the one you want to make, and just see what tools they used.