Estoy trabajando en un juego con una arquitectura basada en componentes. Un Entityposee un conjunto de Componentinstancias, cada una de las cuales tiene un conjunto de Slotinstancias para almacenar, enviar y recibir valores. Funciones de fábrica tales como Playerproducir entidades con los componentes necesarios y las conexiones de ranura.
Estoy tratando de determinar el mejor nivel de granularidad para los componentes. Por ejemplo, en este momento Position, Velocityy Accelerationtodos son componentes separados, conectados en serie. Velocityy Accelerationpodría reescribirse fácilmente en un Deltacomponente uniforme , o Position, Velocityy Accelerationpodría combinarse junto con componentes como Frictiony Gravityen un Physicscomponente monolítico .
¿Debe un componente tener la menor responsabilidad posible (a costa de mucha interconectividad) o los componentes relacionados deben combinarse en monolíticos (a costa de la flexibilidad)? Me estoy inclinando hacia la primera, pero podría usar una segunda opinión.