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