Delivered at GDC Canada on May 7,
2010, this presentation details a dynamic component architecture used
in the Resistance franchise to represent aspects of entity and systems'
behavior. This component system addresses several weaknesses of the
traditional game object model for high-performance gameplay,
particularly in multi-threaded or multi-processor environments. Dynamic
components are allocated and deallocated on-demand from efficient memory
pools, and the system provides a convenient framework for running
updates in parallel and on different processors such as SPUs. The system
can be layered on top of a traditional game object model, so a codebase
can gradually migrate to this new architecture. The presentation
discusses motivations and goals of the system as well as implementation
details.