I found game maker (and Blockland) to be a great tool for learning about games and coding and how all that works. I'm starting to use Unity now to see what it's like.
I'd recommend starting with Game Maker (studio version is much better if you're able to get it), make a top down game first. Once you make a simple top-down game, make a platform game. This will leave you with a healthy knowledge on how games and code works, and also how to utilize it properly. I'd also recommend of course, that you learn the basics of a language. Java or c# are good, as is c++. They're all essentially the same in essence though.
The reason game maker is bad is because of the way things function is quite generalized and it just uses a bunch of unnecessary processing power. Although it's easier in the short run and barely noticeable for most small games, game maker cannot really be used to make a very good big game. It'll break your heart many times if you try to.
My next educational plan of action is to learn how to use blender to create models better, and also to watch some of
this guys videos on how to use Unity. He's really informative and also is not boring to listen to.
Start watching his 2D space shooter videos first. They're easier to understand.
Best of luck on your game development endeavors!