V první řadě. Jaké zkušenosti s programováním syn má a jak ovládá C#? Jestli mu to nic neříká, tak bych doporučil se buď nejdříve vykašlat na hry, a začít s učením programování jako takovým a učením C#.
Případně, bych zvážil to Unity. Pokud by použil místo něj Unreal Engine, může místo C# používat tzv blueprinty, kde jde o "vizuální skriptování". Pro začátečníka velká výhoda, jelikož vše vidí na první pohled, a nemusí stále "louskat kód" a se zanlostmi programování vystačí na zcela elementární úrovni. Další výhodou by pak bylo nespočet assetů k dispozici zdarma (a 5 balíčků zdarma každý měsíc), kde pouhým lepením částí, případně jejich studiem zjistí neskutečně moc věcí, aniž by musel něco extra studovat (A hlavně je to zábava. Protože když si stáhne balíček stromů, trávy a k tomu nějakou postavu, tak s minimem znalostí může za odpoledne dát dokupy nějaký ten svět ve kterém bude pobíhat. Nebude to sice nic umět, ale mu se budou dít pod rukama "hotové zázraky", což je neuvěřitelně motivující, protože vidí výsledky hned.
Co se samotné práce v engine týče, tak bych to rozdělil na dvě části.
1) ovládání editoru - tj osvojit si layout, pochopit která část slouží k čemu. Není třeba do detailu, a dá se to poměrně dobře vykoukat i z videií na youtube. Jen nezavrhovat že nejsou česky. Hodně věcí jsem se naučil i z videí v korejštině. Jen musí člověk pořádně sledovat co tam ten dotyčný dělá, a k jakým výsledkům to vede.
2) Samotné tvoření - tady je to z větší části o znalosti terminologie. Když bude kupříkladu vědět co je to normálová mapa, tak už to pozná i v té angličtině co s tím dělat, i když by anglicky neuměl. Zase je to ale o pozornosti. Výhodou je, že se mu bude postupně zlepšovat i pasivní angličtina jen tím, že bude sledovat videa kde sice nerozumí jazyku, ale orientuje se v tom co tam dělají, protože to vidí, a opakuje na svém PC.
Pokud ale celkově nemá o programování vůbec ponětí, ani co se týče úplných základů jako podmínky, proměnné, cykly atp. pak by bylo vhodnější to na chvíli odložit a pověnovat se tomu. Kdysi jsme ve škole měli seznámení s programováním, pomocí Baltíka a Baltazara. Jsou to jednoduché vizuání skriptovací jazyky v češtině, kde skládáním políček člověk nutí třeba chodit postavičku, ale může nastavovat i ovládáni atp. Na osvojení základních konceptů programování je to super, obzvlášť pro děti.
Co se týče výše zmíněné finanční náročnosti, tak toho bych se nebál. Ve skutečnosti je to jeden z nejlevnějších koníčků co snad může být. Pokud o to má skutečný zájem, a zároveň si uvědomuje objem práce a s tím související fakt, že je to běh na dlouhou trať a nežije v iluzi že dnes k tomu sedne a za týden bude mít vlastní Fortnite, tak je velká šance že bude schopen potřebné informace prostě nasát. Když je mu 11, je to super, protože teď může začít, střední může směrovat směrem k programování, a následně pokračovat na VŠ kde už jsou dnes obory přímo zaměřené na tvorbu her.
Co bych ale vypíchnul jako nejdůležitější, je uplně obyčejná teorie. Měl by mít alespoň kusou představu o tom, čeho by chtěl dosáhnout a jak by se ktomu přibližně měl dopracovat. Tedy jak "strukturovat vlastní vývoj". V tom třeba mě hodně pomohly přednášky Warhorse, které ačkoli se nezabývají přímo programováním her jako takových, tak třeba série "Gamedesign v praxi" (ke shlédnutí na YouTube) se zabývá preprodukcí. To by mu mohlo pomoct ujasnit si jak postupovat, a jak si vymyslet projekt a ten rozdrobit tak, aby mohl postupně řešit dílčí problémy.