If you want to become a professional developer, read onward. It will take a lot of time and effort to pull off, but, trust me, it is worth it.
If you want to make any sort of program, learn a programming language (my language of choice is C++, but C# and Java are nice, too).
Just don't get into learning an engine heads-on (like Unity) and steer clear of engines that use their own programming languages (I think Game Maker was such, not too sure), because you'll waste your time with a language you can't use anywhere else.
What I say: go grab a good C book for beginners.
After you're done with that(and have made a couple of small programs), look up and find a C-based language(like the mentioned above) that best suits you and a book about object-oriented programming on that language.
Once you're done with that (and have made a couple of programs with your new skills), look up and find a graphics library for your language(for example, I use SFML for my programs, but OpenGL and DirectX are the standart) and find a book about that. Practice your newly-learned skills with some graphics-based applications and then you're ready to start making your game like a professional developer.
Then, if you are really interested in certain functions and extras in a certain engine, you can start learning it(which will be much easier, since you'll sort of know what language it uses and how its graphical quirks work as opposed to jumping onto it head-on).
Pretty much how it works if you haven't noticed already is read, practice, read, practice, read, etc.
But you're a psychic, so I'm not sure why I typed this when you can read it from my head.