Appropriate level of granularity for component-based architecture
Posted
by
Jon Purdy
on Game Development
See other posts from Game Development
or by Jon Purdy
Published on 2011-07-08T03:18:49Z
Indexed on
2011/11/17
2:06 UTC
Read the original article
Hit count: 416
I'm working on a game with a component-based architecture. An Entity owns a set of Component instances, each of which has a set of Slot instances with which to store, send, and receive values. Factory functions such as Player produce entities with the required components and slot connections.
I'm trying to determine the best level of granularity for components. For example, right now Position, Velocity, and Acceleration are all separate components, connected in series. Velocity and Acceleration could easily be rewritten into a uniform Delta component, or Position, Velocity, and Acceleration could be combined alongside such components as Friction and Gravity into a monolithic Physics component.
Should a component have the smallest responsibility possible (at the cost of lots of interconnectivity) or should related components be combined into monolithic ones (at the cost of flexibility)? I'm leaning toward the former, but I could use a second opinion.
© Game Development or respective owner