Ok, I can see that. Smart to limit time spent on video games at that age! I think I was afraid this was a case of "we must start our son programming now so he can be competitive!" Super glad that's not the case :)
Actually, one fun way to introduce your son to coding might be through programming video games, since it sounds he is already interested in those. Just for example, several friends in high school learned programming by writing games in BASIC and installing them on their TI-83 calculators. One friend wrote a text-based RPG. It wasn't extensive, but it was fun to play. Also, I have heard good things about a language called Scratch, which is very game-based, and Lego Mindstorms combines Legos with basic robotics programming. If I'm not mistaken, those can be expensive, though, and I'm not sure how advanced those sets start out.
Raw coding might be tough for a middle-schooler to find interesting (though I'm sure it happens), so I would suspect that combining programming with video games / toys would be a fun way for him to start