Sto lavorando a un gioco con un'architettura basata su componenti. An Entity
possiede una serie di Component
istanze, ognuna delle quali ha una serie di Slot
istanze con cui archiviare, inviare e ricevere valori. Funzioni di fabbrica come Player
produzione di entità con i componenti richiesti e connessioni slot.
Sto cercando di determinare il miglior livello di granularità per i componenti. Ad esempio, in questo momento Position
, Velocity
e Acceleration
sono tutti componenti separati, collegati in serie. Velocity
e Acceleration
potrebbe essere facilmente riscritta in un'uniforme Delta
componente, o Position
, Velocity
e Acceleration
potrebbero essere combinati insieme componenti come Friction
e Gravity
in un monolitico Physics
componente.
Un componente dovrebbe avere la minima responsabilità possibile (a scapito di molte interconnessioni) o i componenti correlati dovrebbero essere combinati in elementi monolitici (a scapito della flessibilità)? Mi sto sporgendo verso il primo, ma potrei usare una seconda opinione.