Chiming in at 21 as someone who learned to code when 13-14, I actually found the make-a-game approach somewhat boring. I preferred picking up random projects (programming a styrofoam Roomba with proximity sensors on a BASIC Stamp, building a graph algo that would solve a Rubika cube, etc.).
Maybe it's because I was always more into board games than video games, but I don't think the games-size-fits-all mentality is universally appropriate.
Generalising it to task-oriented (versus skill-oriented) learning may be more precise.
I second this. The whole 'video game' and game mechanics culture of most intro programming actually kept me out of it for awhile. I truly dislike making and playing video games, but I enjoy writing useful software and learning about cool topics like computer vision.
Maybe it's because I was always more into board games than video games, but I don't think the games-size-fits-all mentality is universally appropriate.
Generalising it to task-oriented (versus skill-oriented) learning may be more precise.