Я работаю над игрой с компонентной архитектурой. Объект Entity
владеет набором Component
экземпляров, каждый из которых имеет набор Slot
экземпляров, с помощью которых можно хранить, отправлять и получать значения. Заводские функции, такие как Player
создание объектов с необходимыми компонентами и соединениями слотов.
Я пытаюсь определить лучший уровень детализации для компонентов. Например, прямо сейчас Position
, Velocity
и Acceleration
все это отдельные компоненты, соединенные последовательно. Velocity
и Acceleration
может быть легко переписан в единый Delta
компонент, или Position
, Velocity
и Acceleration
может быть объединен вместе с такими компонентами, как Friction
и Gravity
в монолитный Physics
компонент.
Должен ли компонент иметь наименьшую возможную ответственность (за счет большого количества соединений) или же связанные компоненты должны быть объединены в монолитные (за счет гибкости)? Я склоняюсь к первому, но я мог бы использовать второе мнение.