* Coding Software. Usually in the form of an IDE. You'll need some form of compiler to write the meat of your game in. Fortunately, many companies offer free IDEs for personal use. Visual Studio, for instance; but there are many others.
* Game Engines. These take care of the rendering and physics of the game (and some of the logic too). A popular (and I think also free) game engine is Unity, but there are many others, like FrostBite, CryEngine, Unreal Engine, etc.
* Rendering/Shading Software. Sometimes you'll need to understand how the graphics themselves are coded, so you'll need the DirectX or OpenGL/Vulkan APIs and probably also a bit of HLSL and GLSL (shading languages).
* Art Software. The engine will have to display several assets, you'll need to create them somewhere. Depending on the type of game you're trying to write, you'll need texture editing tools, like Photoshop, Corel Paint or Substance Painter.
* 3D Software. A lot of modern games are in 3D, so you'll need software to create your 3D assets as well. Blender is a free 3D software that is widely used, but there are many others, like Maya, 3DMax, ZBrush, etc.
* Animation and Motion Capture Software. If your game has human characters, you might want to capture motion from real-life actors and translate them into your game assets.
* Audio Software. You probably know where I'm going now. You'll either need to record audio for your game, or author it. Then you'll have to mix it and edit it. There's also the question about the music score...
* Other Software. Yes, I'm probably missing details here, so chances are you'll still need a few more pieces of software to make it work together. For instance, if you're considering VR, you might need things like SteamVR or OpenXR to take care of the details of how to talk to the tracking devices and HMDs.
Because of the above, game studios usually employ large teams to take care of all those details. However, a lot of beginners buy assets that other people already offer. Unity, for instance, has a store where you can buy a number of assets for a relatively low price so you don't have to worry about those details. DAZ Studio is another company that offers video game and rendering assets (I'm not sponsoring either company, just mentioning these as options, and I'm sure there should be many others out there that offer gaming assets).
Another free option that is less known is Godot. It is an open source cousin to Unity, and it has lots of features also. It's a great choice for learning gaming if you aren't quite ready for the complexity of Unity. It's not as powerful as Unity, but it can turn out some really interesting games without a lot of effort.
There are lots of other gaming engines out there, but these two are probably the standard by which others are measured. Hope this helps.
Walt recommends the following next steps: