Se ele só quer fazer jogos, então ele deve usar XNA, Unreal, Unity etc. Se ele quiser ser um programador de jogos, ele deve aprender C / C ++ e OpenGL / SDL ou D3D primeiro.
XNA, Unreal, Unity, etc, são ótimos para criar jogos, mas são muito ruins em fazer muito por você. Tenho certeza que as pessoas vão discordar de mim sobre isso, mas isso basicamente o transforma em um programador preguiçoso e, quando chegar a hora de aprender coisas como pontos em C ++, será mais difícil porque você optou primeiro pelas opções mais fáceis.
Peronally, eu nunca sugiro outra coisa em C / C ++ como a primeira linguagem a aprender se você quer ser um programador de jogos. O principal motivo é que, mesmo que você aprenda C # / XNA, se estiver realmente interessado em se tornar um desenvolvedor de jogos, precisará conhecer C ou C ++ em algum momento, porque ninguém o contratará. Então, se eles são sérios sobre a profissão, você está apenas atrasando o aprendizado do que se espera de você.