Je travaille sur un jeu avec une architecture basée sur des composants. An Entity
possède un ensemble d' Component
instances, chacune ayant un ensemble d' Slot
instances avec lesquelles stocker, envoyer et recevoir des valeurs. Fonctions d'usine telles que Player
produire des entités avec les composants requis et les connexions d'emplacement.
J'essaie de déterminer le meilleur niveau de granularité pour les composants. Par exemple, en ce moment Position
, Velocity
et Acceleration
sont tous des composants séparés, connectés en série. Velocity
et Acceleration
pourrait facilement être réécrit en un Delta
composant uniforme , ou Position
, Velocity
et Acceleration
pourrait être combiné avec des composants tels que Friction
et Gravity
en un Physics
composant monolithique .
Un composant devrait-il avoir la plus petite responsabilité possible (au prix de beaucoup d'interconnectivité) ou les composants associés devraient-ils être combinés en composants monolithiques (au prix de la flexibilité)? Je penche vers le premier, mais je pourrais utiliser un deuxième avis.