Until recently I programmed my games (simple ones) with a classic inheritance hierarchy. It worked fine.
But recently I learned the using a Component Based Architecture is more flexible in games. The idea is that the behavior of a game object isn't inherited from a superclass, but rather composed with the game object at runtime, allowing for different combinations of behvaviors.
Two questions:
1- Is my understanding of the Component Based Architecture approach correct?
2- When designing a game using this approach: Should I still use some inheritance? Some generic inheritance, such as:
Entity / \ Player Enemy And on top of that, using a component approach?
Or should I not build any inheritance hierarchy at all? What is more recommended?