Pracuję nad grą z architekturą opartą na komponentach. Jest Entity
właścicielem zestawu Component
instancji, z których każda ma zestaw Slot
instancji do przechowywania, wysyłania i odbierania wartości. Funkcje fabryczne, takie jak Player
tworzenie elementów z wymaganymi komponentami i połączeniami gniazd.
Próbuję ustalić najlepszy poziom szczegółowości dla komponentów. Na przykład teraz Position
, Velocity
i Acceleration
są wszystkie oddzielne elementy, połączone szeregowo. Velocity
i Acceleration
może być łatwo przepisany na jednolity Delta
komponent, lub Position
, Velocity
i Acceleration
może być łączony obok takich komponentów jak Friction
i Gravity
na monolityczny Physics
komponent.
Czy element powinien ponosić jak najmniejszą odpowiedzialność (kosztem wielu połączeń wzajemnych), czy też należy łączyć pokrewne elementy w elementy monolityczne (kosztem elastyczności)? Skłaniam się ku temu pierwszemu, ale przydałaby mi się druga opinia.