Garry's Mod è una mod del motore Halflife 2. Puoi creare le tue mod del motore Halflife 2 usando l'SDK di Halflife 2, oppure puoi provare a modificare la Mod di Garry tramite script. Non credo che ti sia permesso di modificare il codice sorgente in mod di Garry.
Se voleva davvero creare il suo FPS "alone" da zero, allora quello che vorrà fare è lavorare con il motore di origine, l'SDK halflife2. Questo è totalmente gratuito se possiedi QUALSIASI gioco sorgente (quindi probabilmente lo hai già, dato che hai la mod di Garry su Steam). Questo ti fornirà una serie di progetti C ++ che avvolgono il motore di origine e ti consentono di fare davvero TUTTO ciò che desideri. Tonnellate e tonnellate di giochi commerciali AAA e giochi indie con qualsiasi cosa, da RTS a RPG a FPS, sono realizzati utilizzando il motore di origine. È estremamente flessibile.
Detto questo, sarà ESTREMAMENTE difficile coinvolgere il tuo giovane figlio. Quanto sono forti i suoi concetti di programmazione? Dovrà essere ROCK SOLID su C ++ per iniziare a scrivere il suo gioco / mod usando il motore di origine.
Quindi, se questo sembra troppo scoraggiante per lui (per un sesto anno di scuola elementare, non riesco a immaginare che un bambino possa arrivare ovunque a scrivere il proprio videogioco da zero, in modo realistico. I vecchi giochi come Mario e Mortal Kombat avevano piccoli team di sviluppo, potrebbe PROVARE a scrivere un gioco 2D da zero in quel modo, ma sarà ancora DURO. Quei giochi hanno richiesto 10 programmatori con una laurea all'anno per scrivere. Non è così qualificato e ce n'è solo uno. Moderno, I giochi 3D, AAA richiedono squadre di 20-50 programmatori e miliardi di dollari EDIT: okay, milioni, esagero, anche se tu fossi il più grande programmatore del mondo, ti prenderebbe un'eternità a scrivere un gioco di successo da solo. impossibile per nessuno.)
Quindi invece forse prova solo piccole mutazioni piuttosto che una mod di conversione completa. Potresti provare a utilizzare lo script lua che la Mod di Garry supporta per apportare piccole modifiche al gameplay, magari aggiungendo un nuovo oggetto o una nuova funzionalità. Non ho giocato con gli script di Mod di Garry, quindi non posso parlare per esperienza come posso del motore di origine.
Hai menzionato l'UDK, che è piuttosto bello, ma di nuovo, è come prendere il motore di origine e ricominciare da zero. Ci vuole un'eternità, ed è DAVVERO difficile.
Il modo in cui ho iniziato quando stavo programmando per la prima volta (e questo era in prima media), ho pensato che scrivessi mutazioni per Unreal Tournament. Hanno il loro linguaggio (irreale) ma è abbastanza leggibile e piuttosto alto livello (legge più o meno java) e la cosa bella è che Epic ha sempre avuto un sacco di supporto per mod e mutazioni in Unreal Tournament. Quindi, potresti iniziare a scrivere solo una mutazione che rende i razzi più veloci o i razzi più lenti, quindi puoi saltare in Unreal Tournament e suonare la tua mutazione. In questo modo, puoi iniziare in piccolo. Se provi a codificare un'intera mod da zero come prima esperienza, fidati di me, non supererai mai il concetto.
Spero non sia stato troppo demoralizzante. Penso che sia fantastico che tuo figlio sia appassionato di giochi in così giovane età! (Ha installato Tortoise SVN da solo, ed è seriamente in prima media? Questo bambino è sicuramente un futuro sviluppatore di software!). Ma i bambini di certo non capiscono quanto lavoro ci vuole per costruire i loro giochi preferiti e poter scrivere il proprio Halo è un sogno ad occhi aperti.
Direi di iniziare con cose più semplici. Fagli scrivere ping e poi invasori spaziali. Quindi vai a Unreal Tournament e scrivi alcune mutazioni, e quando è bravo con le mutazioni, puoi pensare alle mod.
E per quanto riguarda gli strumenti, ho fatto le mie prime mutazioni di UnrealTournament in Wordpad! Nessun scherzo! È abbastanza facile, lo scrivi, lo salvi e poi usi la riga di comando per compilarlo usando gli strumenti che sono già forniti con UT da Epic Games.
Se hai intenzione di lavorare con il motore di origine, avrai bisogno di Visual Studio. Probabilmente puoi farla franca con Visual Studio Express, ma potresti dover scaricare Windows SDK anche se ottieni la versione Express. A parte questo, solo un sacco di pazienza e buone basi di programmazione. :)