Many of the games he might already be familiar with have sandbox, modding or programming-like environments that require no documentation to get started.
If he plays Minecraft, he should definitely study Redstone (http://www.minecraft101.net/redstone/redstone-basics.html). You can make whole computers with it (https://www.youtube.com/watch?v=aQqWorbrAaY). It's what I recommend to my friends who are looking to get their children into programming or making games. Don't underestimate how much more compelling Minecraft is than literally everything else out there.
Starcraft II is free, and its map editor is excellent for nearly every kind of top-down game. It's a very drag-and-drop sort of interface that doesn't require any programming. You can probably build the widest variety of games with it.
Team Fortress 2, which is also free, comes with the Hammer Editor. It's a little more idiosyncratic than Starcraft II's map editor, but also a great way to just drop things in and play. It's ideal for first person shooters.
A bunch of games have really fascinating programming-like experiences. DOTA 2 (free) has its Workshop Tools; Cities: Skylines (paid) has an Asset Builder and programmed mods. A lot of these games are a bit above 12 years old though, so it might be a little intimidating.
I think for most kids, they're more interested in Garry's Mod (http://www.garrysmod.com) and Little Big Planet—sandbox environments. You just do stuff and things happen, and it's all very pseudo-physical.
I've seen some other recommendations on here. Generally most kids aren't equipped with the amount of patience these actual programming environments require. If you insist on programming, then Scratch is the best of the options. Check out the first assignment in Harvard's CS50 class here (http://cdn.cs50.net/2015/spring/psets/0/pset0/pset0.html#itc...). To put in perspective, this is regarded as one of the easiest to learn and most polished programming environments, and students at University level (almost twice your son's age!) are given 2 weeks to make something. So as an introduction, this is still extremely hard.
Conversely, things like Unity3D are going to be super crazy complicated, to be completely honest. It's disheartening to read any documentation. Just orbiting the camera in the viewport is a skill. Plus, lots of kids like to build multiplayer experiences, which are all possible with the map-making and modding tools above, but not possible with any of the actual coding frameworks written below.