Garry's Mod - это мод движка Halflife 2. Вы можете создать свои собственные моды для движка Halflife 2 с помощью Halflife 2 SDK или попробовать модифицировать Garry's Mod с помощью скриптов. Я не думаю, что вам разрешено изменять исходный код для мода Гарри.
Если он действительно хотел создать свой собственный FPS типа «гало» с нуля, то он хотел бы работать с исходным движком, halflife2 SDK. Это абсолютно бесплатно, если у вас есть ЛЮБАЯ исходная игра (так что, вероятно, она у вас уже есть, так как у вас есть мод Гарри на Steam). Это предоставит вам кучу проектов на C ++, которые обертывают движок исходного кода и позволяют вам делать с ним что угодно. Тонны и тонны коммерческих игр AAA и инди-игр со всем, от RTS до RPG и FPS, сделаны с использованием движка исходного кода. Это чрезвычайно гибкий.
Тем не менее, вашему юному сыну будет чрезвычайно трудно принять участие. Насколько сильны его концепции программирования? Он должен быть ROCK SOLID на C ++, чтобы начать писать свою собственную игру / мод с использованием движка исходного кода.
Так что, если это звучит слишком устрашающе для него (Для шестиклассника, я не могу себе представить, чтобы один ребенок мог где-нибудь написать реальную видеоигру с нуля, реально. В старых играх, таких как mario и mortal kombat, были небольшие команды разработчиков, он мог бы ПОПРОБОВАТЬ писать 2D-игру с нуля, но она все еще будет трудной. Этим играм понадобилось около 10 программистов с дипломами в год. Он не настолько квалифицирован, и есть только один из них. Современный, Для игр 3D, AAA требуются команды из 20-50 программистов и миллиарды долларов. РЕДАКТИРОВАТЬ: хорошо, миллионы, я преувеличиваю. Даже если бы вы были величайшим программистом в мире, вам бы потребовалось бы целую вечность, чтобы самостоятельно написать игру-блокбастер. Практически невозможно ни для кого.)
Тогда вместо этого, возможно, попробуйте просто маленькие мутации, а не полный мод конверсии. Вы можете попробовать использовать сценарии lua, которые поддерживает мод Garry's Mod, чтобы внести небольшие изменения в игровой процесс, возможно, добавьте новый элемент или новую функцию. Я не поиграл со сценариями Garry's Mod, поэтому я не могу, исходя из своего опыта, говорить о движке исходного кода.
Вы упомянули UDK, который довольно крутой, но опять же, это как взять движок исходного кода и начать с нуля. Это займет вечность, и это действительно тяжело.
Когда я начинал программировать (а это было в 9-10 классах), я начал писать мутации для Unreal Tournament. У них есть свой собственный язык (unrealscript), но он довольно читаемый и довольно высокий уровень (он читается как java более или менее), и круто то, что Epic всегда поддерживал множество модов и мутаций в Unreal Tournament. Таким образом, вы можете начать писать мутацию, которая заставляет ракеты двигаться быстрее, или ракеты двигаться медленнее, а затем вы можете перейти в Unreal Tournament и сыграть свою мутацию. Таким образом, вы можете начать с малого. Если вы попытаетесь написать целый мод с нуля в качестве своего первого опыта, поверьте мне, вы никогда не уйдете от концепции.
Надеюсь, это не слишком деморализует. Я думаю, что это круто, ваш сын увлечен играми в таком молодом возрасте! (Он установил Tortoise SVN самостоятельно, и он серьезно в 6 классе? Этот ребенок наверняка будущий разработчик программного обеспечения!). Но дети, конечно, не понимают, сколько работы уходит на создание их любимых игр, и возможность писать свой собственный Halo - это напыщенная мечта.
Я бы сказал, начать с более простых вещей. Пусть он напишет понг, а затем космических захватчиков. Затем перейдите на Unreal Tournament и напишите несколько мутаций, а когда он хорошо разбирается в мутациях, вы можете подумать о модах.
Что касается инструментов, я сделал свои первые мутации UnrealTournament в Wordpad! Я не шучу! Это довольно просто, вы пишете это, сохраняете, а затем используете командную строку для компиляции, используя инструменты, которые уже предоставляются UT от Epic Games.
Если вы собираетесь работать с движком исходного кода, вам понадобится визуальная студия. Вы, вероятно, можете обойтись без Visual Studio Express, но вам, возможно, придется скачать Windows SDK, если вы получите экспресс-версию. Кроме этого, просто куча терпения и хорошие основы программирования. :)