Currently, I only know two software tools for video game development. Unreal and Unity 3D. From what I hear from my friends, Unreal is bit above learning curve from Unity 3D.
From my experience, the software that I used to create my only game is Unity 3D. It's a great program, the website offers tutorials how to write the codes and how to use the software. If you have noticed the past couple of years in the video game industry. There have been a lot more independent games than early 2000s. You could possibly learn how to create a game on your own and publish it to make money. Many of independent games uses Unity 3D. I believe Unity 3D is a good starting point than if you're quick and proficient in Unity, you can move towards to Unreal.