I very much feel my own intellectual limitations when it comes to programming. There are some basic problems which I just can't wrap my mind around because they are so completely beyond me, despite me having programmed on and off for decades. Meanwhile, some clever 16 year old does it with ease, and I'm not getting any smarter. With art, though I've never been a prodigy, I've always felt that I can at least reach many of the more appealing goals with some persistence.
On the topic of beginner's languages, I like to use BlitzMax because I started with C64 BASIC long ago. BlitzMax is BASIC which scales pretty well into an OOP form. You can learn concepts like the sequentiality of instructions, loops, jumps, various variables, move onto arrays, includes, then classes, pointers and linked lists, polymorphism, even inline asm, etc. I wouldn't list BlitzMax as game engine. It's easy to get an OpenGL graphical display up and draw stuff, but to my knowledge there's no way around programming everything that you want to happen. There are no object/map/physics editors or anything like that.