I also started programming at the age of 10. Firstly, I don't know if it will work for everyone, but I started programming in BASIC on a Commodore 64. BASIC is an easy language for a young mind to wrap around, but it contains a substantial deal of the thought process needed for other programming languages. Looking back now, I also owe almost all of my knowledge of writing good code to programming on a Commodore. A lot of new programmers today don't have the slightest idea what it is like to have to erase comments to write more code... memory limitations at its finest! I also second the basic application design. Everyone will recommend different languages to start with, but if you do end up going a route like C or C++ first, I would emphasize programs like a text based RPG, or a calculator. I would also pick a weekly topic (such as if, else control logic) and have him write a program using only this logic.
My suggestion is to take it easy, a 10 year old is what, 3rd grade? Making games involves math that is more complex that I who am 20 can't do. Plus, being 10 his mind is not developed enough yet, the scope of what could be understood and comprehended is small.
Hell, I only understood the meaning of some events that happened in my life when I was 15-16 let alone if I was 10.
He's actually 12, not 10. And I know a 12 year old who can script or program and catch on about as well as I can, and I'm an adult. So he should be fine. I know it sounds strange, but it is possible. 12 year olds can do more than you think, not everything but they seem to be able to do some things about as well as adults.
I know several young programmers. I have found that it usually is not the fact that they can not understand the logic; it is the fact that they can not understand the logic in the current context. You have to find creative ways of expressing the logic in ways that they can understand. Granted, game programming does require math and in some areas the math is pretty advanced, but last time I checked, you don't need Algebra or Geometry to create a simple text based RPG, learn control logic, or start building good programming habits.