I remember learning to code in Game Maker a while back, so each time I had an end goal in mind: the game I want make. In that time, I made 8-10 crap games, but each time I would code, I would more and more swap out the pre-build code actions with actual code as the complexity of the games increased. Besides the fun of making games, it was great discovering the underlying code, even if it is something as rudimentary as Game Maker's scripting language.