Game Maker, by comparison to say, C++, is fantastic for beginners. If you're going to do anything particularly interesting in it, though, you'll need to have a good grasp on math up to Algebra. After reviewing a list of the mathematical formulas you can use in it, I found that it goes all the way up to Calculus (or at least precal). The more math you know (particularly in actual application and understanding, not just simple formula-knowing), the more you can code and the more effectively you can do so.
It's also helpful if you're good at catching on. And always be sure you know what you're coding into your game when you copying codes.
The one thing about GML is that it's slow, and when you get in to real, big-league coding, much of the coding won't be nearly as direct or easy to understand as GML (I coded an extremely simple name-return and yes-no answering program in C++, it took about an hour on my first shot, and I only understood about 3/4 of what I was using). On the other hand, GML WILL help you understand many of the very important basics, such as if-then statements (which a fully programmed game would probably have at least several hundred of), variables (can go from one hundred to a few hundred, depending), how to be efficient and organized with your coding, and the uses of math for various effects and ideas.
I haven't looked at Construct, though.... I'll do that soon, I think.