"Компонентная архитектура" подразумевает использование "компонентов" при создании ПО. За подробностями, пожалуйста, к классикам:
"Компонентное ПО". От себя могу сказать, что ближайший аналог - конструктор "Лего" или электронная схема. Я считаю, тут уже по-другому надо мыслить, нежели в терминологии ООП. Ну это ладно.
Лично меня интересует проблема максимального удобства конструирования игровых объектов. Наследование тут не совсем подходит, т.к. это завязка на компилятор. Скриптование классов, насколько я смог понять - это попытка вынести реализацию игровой логики (или, я рискну это назвать по-другому, - семантики игровых объектов) за пределы компилятора, чтобы не грузить гейм-дизайнера сложностью С++.
Как применить компонентную идеологию к игровым объектам? Я решил попробовать следующее - рассмотреть игровой объект (к примеру, "самолёт") как состоящий из компонентов ("семантических блоков"). 3d-модель - это один блок, физическое тело - другой блок, блок движения, блок ориентации, блок звука мотора и т.п.
В таком контексте, если иметь достаточно обширную библиотеку блоков - можно построить любую сцену. Заметь - компилятор не нужен! Все блоки уже откомпилированы, и дизайнер только указывает порядок сборки блоков.
Вот примерно так.
Я ни капли не считаю, что эта идея революционная и новая. Наоборот, в той или иной степени компонентная идеология в гейм-девелопинге задействована.
Просто я делаю движок, удобный для себя, вот и всё