Update 2013-01-07: If you want to see a good mix of component-based game engine with the (in my opinion) superior approach of reactive programming take a look at the V-Play engine. It very well integrates QTs QML property binding functionality.
We did some research on CBSE in games at our university and I collected some material over the years:
CBSE in games literature:
- Game Engine Architecture
- Game Programming Gems 4: A System for Managin Game Entities Game
- Game Programming Gems 5: Component Based Object Management
- Game Programming Gems 5: A Generic Component Library
- Game Programming Gems 6: Game Object Component System
- Object-Oriented Game Development
- Architektur des Kerns einer Game-Engine und Implementierung mit Java (german)
A very good and clean example of a component-based game-engine in C# is the Elephant game framework.
If you really want to know what components are read: Component-based Software Engineering!
They define a component as:
A software component is a software element that conforms to a component model and can be independently deployed and composed without modification according to a composition standard.
A component model defines specific interaction and composition standards. A component model implementation is the dedicated set of executable software elements required to support the execution of components that conform to the model.
A software component infrastructure is a set of interacting software components designed to ensure that a software system or subsystem constructed using those components and interfaces will satisfy clearly defined performance specifications.
My opinions after 2 years of experience with CBSE in games thought are that object-oriented programming is simply a dead-end. Remember my warning as you watch your components become smaller and smaller, and more like functions packed in components with a lot of useless overhead. Use functional-reactive programming instead. Also take a look at my fresh blog post (which lead me to this question while writing it :)) about Why I switched from component-based game engine architecture to FRP.
CBSE in games papers:
CBSE in games web-links (sorted by relevancy):
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…