O Garry's Mod é um mod do motor Halflife 2. Você pode criar seus próprios mods do mecanismo Halflife 2 usando o SDK do Halflife 2 ou tentar modificar o Garry's Mod através de scripts. Eu não acho que você tem permissão para modificar o código fonte para o mod de Garry.
Se ele realmente deseja criar seu próprio FPS do tipo "halo" a partir do zero, o que ele quer fazer é trabalhar com o mecanismo de origem, o SDK halflife2. Isso é totalmente gratuito se você possui QUALQUER jogo fonte (então você provavelmente já o possui, já que possui o mod de garry no vapor). Isso fornecerá a você um monte de projetos C ++ que envolvem o mecanismo de origem e permitem que você faça QUALQUER COISA que desejar. Toneladas e toneladas de jogos comerciais AAA e jogos independentes com tudo, desde RTS a RPG e FPS, são feitos usando o mecanismo de origem. É extremamente flexível.
Dito isto, será extremamente difícil para o seu filho se envolver. Qual é a força dos seus conceitos de programação? Ele terá que ser o ROCK SOLID em C ++ para começar a escrever seu próprio jogo / mod usando o mecanismo de origem.
Então, se isso soa muito assustador para ele (para um aluno da sexta série, não consigo imaginar um garoto capaz de chegar a lugar nenhum escrevendo seu próprio videogame do zero, realisticamente. Jogos antigos como mario e mortal kombat tinham pequenas equipes de desenvolvimento, ele poderia tentar escrever um jogo 2D do zero assim, mas ainda será DURO. Esses jogos levaram 10 programadores com diplomas por ano para escrever. Ele não é tão qualificado e há apenas um dele. Os jogos 3D, AAA exigem equipes de 20 a 50 programadores e bilhões de dólares.Editar: ok, milhões, eu exagerei.Mesmo se você fosse o maior programador do mundo, você levaria uma eternidade para escrever um jogo de sucesso sozinho. impossível para qualquer pessoa.)
Em vez disso, talvez tente apenas pequenas mutações em vez de um mod de conversão completo. Você pode tentar usar o script lua suportado pelo Garry's Mod para fazer pequenas alterações na jogabilidade, talvez adicionar um novo item ou um novo recurso. Eu não brinquei com os scripts de Garry's Mod, então não posso falar da experiência que posso sobre o mecanismo de origem.
Você mencionou o UDK, que é bem legal, mas, mais uma vez, é como pegar o mecanismo de origem e começar do zero. Leva uma eternidade, e é MUITO difícil.
Do jeito que eu comecei quando eu estava programando pela primeira vez (e isso foi no 9º ao 10º ano, lembre-se) eu escrevi mutações para o Unreal Tournament. Eles têm sua própria linguagem (não-escrita), mas é bastante legível e bastante alto (parece mais ou menos com java) e o legal é que a Epic sempre teve toneladas de suporte para mods e mutações no Unreal Tournament. Então, você pode começar a escrever uma mutação que faça com que os foguetes corram mais rápido ou mais devagar, e então você pode pular no Unreal Tournament e jogar sua mutação. Dessa forma, você pode começar pequeno. Se você tentar codificar um mod inteiro do zero como sua primeira experiência, confie em mim, você nunca terá um conceito passado.
Espero que não seja muito desmoralizante. Eu acho incrível que seu filho seja apaixonado por jogos em uma idade tão jovem! (Ele instalou o Tortoise SVN por conta própria e está seriamente na 6ª série? Esse garoto é um futuro desenvolvedor de software, com certeza!). Mas as crianças certamente não entendem quanto trabalho é necessário para criar seus jogos favoritos, e poder escrever seu próprio Halo é um sonho.
Eu diria que comece com coisas mais simples. Faça com que ele escreva pong e depois invasores espaciais. Então vá ao Unreal Tournament e escreva algumas mutações, e quando ele é bom com mutações, você pode pensar em mods.
E, quanto às ferramentas, eu fiz minhas primeiras mutações no UnrealTournament no Wordpad! Não é brincadeira! É muito fácil, você escreve, salva e depois usa a linha de comando para compilá-lo usando as ferramentas que já são fornecidas com o UT pela Epic Games.
Se você estiver trabalhando com o mecanismo de origem, precisará do visual studio. Provavelmente, você pode se dar bem com o visual studio express fine, mas pode ser necessário fazer o download do SDK do Windows também se obter a versão expressa. Fora isso, apenas muita paciência e bons fundamentos de programação. :)