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.