tl; dr: научиться создавать движок часто так же полезно для создания игр, как и научиться создавать свой собственный компьютер и операционную систему с нуля. Если вы не специалист в данной области, вы, вероятно, не хотите делать двигатель. Сделайте игру вместо этого, движок уже существует. Позже, если ни один из движков, к которым у вас есть доступ, не соответствует критериям для вашего игрового дизайна, вы могли бы сосредоточиться на создании этого конкретного аспекта, и, черт возьми, это может быть полезно и другим, поскольку вы создаете что-то новое, а не перефразируете менее надежную версию. о том, что люди уже вложили тысячи часов.
Длинная версия: Если вы действительно хотите научиться писать движок, пока не смотрите на существующий движок. Учитесь вместо частей (алгоритмов), которые делают движок, будь то рендеринг, физика или поиск путей и т. Д. Как только вы получите глубокое понимание определенного аспекта, вы можете захотеть проверить источник.
Вы обычно не хотите учиться непосредственно из источника, если нет лучшей альтернативы. Даже опытные программисты обычно не смотрят на источник всего движка, чтобы извлечь из него урок (если они могут ему помочь), они, скорее всего, проверят определенную его часть или настроят определенную ее часть. Попытка взглянуть на исходный код исключительно для целей обучения не будет раскрывать процедуры и мыслительный процесс, стоящие за кодом движка; Это было бы все равно что разорвать здание на части, пытаясь увидеть его внутренности, чтобы узнать, как его построить. Хотя я согласен с ответом Джоша, я сделаю еще один шаг вперед, вы даже не узнаете «как» во многих смыслах (если вы не знакомы с этой областью); например, какая методология использовалась командой программистов? На какие принципы они опирались при реализации рабочего кода? Какие инструменты и методы они использовали для отладки? Все эти вопросы иногда более важны, чем сам код (в учебных целях).
Если вы хотите учиться у источника, поищите источник, который хорошо документирован и на нем построено сильное сообщество. Чтение (движкового) кода, даже если вы написали его самостоятельно, часто сбивает с толку.