Si no hay populares, ¿por qué no?
Porque no hay nada parecido a un consenso sobre cómo funcionaría dicho marco.
En un hilo en Gamedev.net, determiné que cuando las personas hablan sobre sistemas de juegos basados en componentes, en realidad hay al menos 8 posibles permutaciones de cómo esperan que funcionen, en función de 3 factores diferentes:
Inboard vs. outboard : ¿deberían los componentes agregarse en una entidad, o deberían ser parte de un subsistema y solo estar asociados por una ID de entidad?
Composición estática frente a dinámica : si las entidades consisten en un conjunto conocido de componentes (por ejemplo, 1 física, 1 animación, 1 IA, etc.) que pueden comunicarse en código a través de interfaces bien conocidas, o pueden las entidades tener cantidades arbitrarias de componentes agregados a ellos (con estrategias asociadas para localizar otros componentes de interés)
Datos sobre el componente versus datos sobre la entidad : ¿el componente que opera principalmente sobre el mismo debe conservar los datos? ¿O deben almacenarse los datos en la entidad en un espacio compartido, accesible para todos los componentes?
Más allá de eso, hay más preguntas sobre cómo deben comunicarse los componentes (¿a través de los datos compartidos? ¿A través de punteros de función? ¿A través de señales / ranuras? ¿O no hay nada?), Cómo deben actualizarse (en un orden fijo basado en el tipo de componente? A por -orden de entidad definido en el momento de la creación? basado en un tipo topológico de interdependencias de componentes?), etc.
Cada una de estas opciones es completamente arbitraria, y cualquier cosa que pueda hacer con un sistema puede hacerse con el otro. Pero la forma en que debe codificarlo es bastante diferente en cada caso. Y las personas parecen tener opiniones firmes sobre la forma en que les funciona mejor.
En este momento, la gente todavía está demasiado atrapada en la idea de que los componentes son de alguna manera un reemplazo para la orientación de los objetos (que no lo son) y también imaginando que son un cambio masivo de la forma en que los juegos se hicieron tradicionalmente (lo que, de nuevo, no eran - las personas han factorizado los diversos subsistemas en sus entidades durante años), por lo que hay mucha hipérbole y poco acuerdo. Quizás en unos años las cosas se habrán calmado y la gente se conformará con uno o dos enfoques bastante estándar.