For a ten year old student of game development, I would encourage very simple application development first, especially programs which would be similar to those found inside of software games. He should be developing applications like indexers, general user interfaces, simple vector graphics word games in console application form, and learning basic compiling into executable programs and files. There are fun books which teach these things in simple game form to young students. Most developers would highly recommend that the young pupil stay in the 2D graphics gaming area for a good 1-2 years minimum before getting to 3D graphics game development. Jumping directly into 3D development would almost certainly result in many bad coding habits to be started which are difficult to retrain to good ones for a beginner or even intermediate level programmer.
Secondary, I would encourage an interest in math which can spare many lines of coding and also serve to teach the development of good coding framework upon which later coding is added. For example, a few lines of algorithm can set a pattern for efficient coding that plugs into it. One good algorithm might spare the coder in thousands of lines of coding later with many benefits to it.
Eventually the game developer will need to consider how to expand in the 2D and 3D graphics art areas of game development. You may help your son to discover his own artistic strengths and weakness. Each can be improved with practice. There are many paths to pursue such as art classes, tutoring, or assigning project yourself. As for game development, the key is to assemble a work pipeline of software and tools to make game art and use a game engine to bring them into a game which was coded by the student.
Remind your son that above all he should nurture already existing passions and talents in game development to have fun with it. This is the key to staying with it.