Вот создал на их форуме 2 топика
Aziz, Ну ты крут! Они наверное там в ступор впали.
UE считается самой сложной и крутой системой такого плана.
Есть книжки, есть книжки даже на русском по архитектуре "движка" и отдельно по различным техникам Unreal.
Есть куча обучающего видео, я такую форму подачи информации терпеть ненавижу, но это лучше, чем самому гадать что да как. https://rutracker.org/forum/viewtopic.php?t=5629154 https://rutracker.org/forum/viewtopic.php?t=5640479
На https://rutracker.org делаешь поиск "Unreal Engine" и вперёд.
Вот попытался дать классификацию и определение движка.
Существует всего четыре ключевых понятия это: Враппер, Фреймворк, Графический движок и Игровой движок.
Конечно этот список можно расширить, если добавить такие понятия, как "Звуковой движок", "Физический движок", "Конструктор игр", "Среда 2D\3D разработки с графическим инструментарием, редактором программ и компилятором" и т.д.
Враппер - способ работать с каким либо сложным(обычно низкоуровневым) API в более простой форме, за меньшее количество вызовов, но, как правило, с некоторой потерей гибкости. Примером враппера может служить компонент Hiasm стоящий над какой-то библиотекой.
Фреймворк - каркас или готовая основа(среда) для разработки чего либо. Представляет из себя, как правило, внушительный объем инструментов и библиотек объединенных в единое целое, в идеале должна быть очень гибкой и настраиваемой. Задача фреймворка удовлетворять максимальному количеству возможных задач. Пример большого фреймворка - хорошо известный Net Framework.
Графический движок - можно сказать, что это - небольшой(иногда большой) фреймворк, единственной задачей которого является предоставление широкого и максимально гибкого набора инструментов для работы с компьютерной графикой, в идеале без особого понимания со стороны пользователя, как оно там внутри все устроено. Т.е. это такой черный ящик в который пользователь кладет модели, текстуры и т.д. а на выходе получает картинку, желательно еще и по последнему слову техники. Графический движок является лишь компонентом игрового движка, но главным. Большинство движков именно графические с незначительным добавлением функционала не относящегося к графике непосредственно (звук, физика, ИИ).
Игровой движок - в первую очередь это большой фреймворк являющийся системой систем, т.е. объединяющий в единое неделимое целое самостоятельные подсистемы(например графический движок, физический движок, звуковой движок и т.д.) и набор инструментов(редакторов). Часто игровой движок называют "Конструктором игр", но "Конструктор" это - редактор, а редактор это лишь часть игрового движка т.к. любой редактор ограничивает гибкость, а идеальный движок не должен вносить никаких ограничений. Грань между "Конструктором игр" и "Игровым движком" практически не осязаема, по этому можно считать такое отождествление правомерным, хотя от себя я бы добавил, что если конструктор позволяет пользователю изменять свои глубинные процессы и расширять свой функционал, то тогда он является "Игровым движком".
Среда разработки - это оболочка над движком, это интерфейс между человеком и движком. Примером может служить Unity, UE.
Движок это - гибкая и независимая часть программного продукта предполагающая многократное свое использование и скрывающая в себе сложные специфичные системы и процессы. Слово "сложные" не спроста, именно об этом забывает большинство разработчиков, по этому врапперы именуются движками и появляются "движки дождя"
OpenGL - это графическая библиотека, а не движок, пакет OpenGL в HiAsm - это врапер.