Garry's Mod es un mod del motor Halflife 2. Puedes hacer tus propios mods del motor Halflife 2 usando Halflife 2 SDK, o puedes intentar modificar el Mod de Garry a través de scripts. No creo que se le permita modificar el código fuente al mod de Garry.
Si realmente quería hacer su propio FPS tipo "halo" desde cero, entonces lo que querrá hacer es trabajar con el motor fuente, el SDK halflife2. Esto es totalmente gratuito si posee CUALQUIER juego fuente (por lo que probablemente ya lo tenga, ya que tiene el mod de Garry en Steam). Esto le proporcionará un montón de proyectos de C ++ que envuelven el motor de origen y le permiten hacer realmente CUALQUIER COSA que desee con él. Toneladas y toneladas de juegos comerciales AAA y juegos independientes con todo, desde RTS hasta RPG y FPS, se hacen usando el motor de origen. Es extremadamente flexible.
Dicho esto, va a ser EXTREMADAMENTE difícil para su pequeño hijo involucrarse. ¿Qué tan fuertes son sus conceptos de programación? Tendrá que ser ROCK SOLID en C ++ para comenzar a escribir su propio juego / mod usando el motor de origen.
Entonces, si eso suena demasiado desalentador para él (para un estudiante de sexto grado, no puedo imaginar que un niño pueda llegar a ningún lado escribiendo su propio videojuego desde cero, de manera realista. Los juegos antiguos como Mario y Mortal Kombat tenían pequeños equipos de desarrollo, podría INTENTAR escribir un juego 2D desde cero, pero aún así será DIFÍCIL. Esos juegos tomaron como 10 programadores con títulos al año para escribir. No está tan calificado y solo hay uno de él. Moderno, 3D, los juegos AAA requieren equipos de 20-50 programadores y miles de millones de dólares. EDIT: está bien, millones, exagero. Incluso si fueras el mejor programador del mundo, te tomaría una eternidad escribir un juego de gran éxito por ti mismo. Prácticamente imposible para nadie)
Entonces, en su lugar, pruebe con pequeñas mutaciones en lugar de un mod de conversión completa. Puedes intentar usar las secuencias de comandos lua que admite Garry's Mod para hacer pequeños cambios en el juego, tal vez agregar un nuevo elemento o una nueva característica. No he jugado con las secuencias de comandos de Garry's Mod, así que no puedo hablar por experiencia como puedo sobre el motor de origen.
Mencionó el UDK, que es bastante bueno, pero de nuevo, eso es como tomar el motor de origen y comenzar desde cero. Lleva una eternidad, y es REALMENTE difícil.
La forma en que comencé cuando estaba programando por primera vez (y esto fue en los grados noveno a décimo), escribí mutaciones para Unreal Tournament. Tienen su propio idioma (sin escritura) pero es bastante legible y de un nivel bastante alto (se lee como java más o menos) y lo bueno es que Epic siempre ha tenido mucho apoyo para modificaciones y mutaciones en Unreal Tournament. Entonces, puedes comenzar a escribir una mutación que haga que los cohetes vayan más rápido, o que los cohetes vayan más despacio, y luego puedes saltar en Unreal Tournament y jugar tu mutación. De esa manera, puedes comenzar de a poco. Si intentas codificar un mod completo desde cero como tu primera experiencia, créeme, nunca superarás el concepto.
Espero que no haya sido demasiado desmoralizante. ¡Creo que es increíble que a tu hijo le apasionen los juegos a una edad tan temprana! (¿Instaló Tortoise SVN por su cuenta, y está seriamente en sexto grado? ¡Este niño es un futuro desarrollador de software seguro!). Pero los niños ciertamente no entienden cuánto trabajo se necesita para construir sus juegos favoritos, y poder escribir su propio Halo es un sueño imposible.
Yo diría que comience con cosas más simples. Haga que escriba pong, y luego invasores espaciales. Luego ve a Unreal Tournament y escribe algunas mutaciones, y cuando sea bueno con las mutaciones, entonces puedes pensar en modificaciones.
Y en cuanto a herramientas, ¡hice mis primeras mutaciones de UnrealTournament en Wordpad! ¡No es broma! Es bastante fácil, lo escribes, lo guardas, y luego usas la línea de comandos para compilarlo usando las herramientas que Epic Games ya proporciona UT.
Si vas a trabajar con el motor de origen, necesitarás un estudio visual. Probablemente puedas salirte con Visual Studio Express bien, pero es posible que también tengas que descargar el SDK de Windows si obtienes la versión Express. Aparte de eso, solo toneladas de paciencia y buenos fundamentos de programación. :)