I was glad to see someone recommend Squeak. It is Smalltalk, and is easily graspable by anyone -- anyone with a sustaining interest, that is. And it comes with games. It is the only programming language my son was exposed to at roughly the age of 11, and it kept him busy for many a happy hour while I toiled away in C++ and enjoyed myself with ruby at the office. He's not interested in programming now (which I think is a fine thing -- it's way too time consuming unless you have a real bent for it), but it was accessible at the time, and it IS Smalltalk, which we all know is foundational in much the same way as Scheme or Lisp or even Fortran.
I remember when my nephew got really interested in programming, just about that age, when he gave up model railroads for PC's. He'd be embarrassed to be reminded of this now, but he developed the idea that what he really needed was a Fortran compiler. But no one really agreed enough to get him one! Too bad, but I think now, ten years later, that when he isn't using Fortran he uses Mathematica in his daily work. Ha ha on all of US!
Today, for a game, I think a good option would be Objective C for the iPod touch. Sad to say it is not really open, but it is interactive in a way that ought not to be ignored by someone who wants to write games for the future, and the SDK is free although you do need an Intel Mac. There are aspects of interacting with the iPod/iPhone that are a bit of a chore, and if that seems to pose too much of a barrier (not to mention the $100 to get your program onto the device), then there is nothing wrong with coding Actionscript 3 for Flash to get going with games. The SDK is free and downloadable and although it does not have multitouch support in its release version (fairly essential for really nice interactive gaming), it eventually will, and AS3 is a modern enough language, having the concept of interfaces, to be able to get across some essential ideas of design patterns. And the virtual machine (the flash player) is everyone now, even Linux.
The advice to learn Ruby or Python seems unnecessary. These are both wonderful high level utility languages with loads of opportunities to pick up first class concepts of object orientation, generation of executable code, full feature libraries and first class objects themselves, but he will pick them up himself as necessary. I have found the documentation for both to be quite thorough, and the documentation for Ruby to be more useful on a day to day basis. I am thinking in particular of the pickaxe books and the fact that the libary modules and their members were rendered into a windows help file for easy searching. Google, though, have chosen Python, so what do I know?
I'm posting this as myself, rather than commenting on someone else's post, because I don't have enough cred points or whatever the points are called, in order to vote something up or down.