Wenn es keine populären gibt, warum dann nicht?
Denn es gibt keinen Konsens darüber, wie ein solcher Rahmen funktionieren würde.
In einem Thread auf Gamedev.net stellte ich fest, dass es, wenn Leute über komponentenbasierte Spielesysteme sprechen, tatsächlich mindestens 8 mögliche Permutationen gibt, die davon ausgehen, dass sie funktionieren, basierend auf 3 verschiedenen Faktoren:
Innenborder vs. Außenborder - Sollen Komponenten zu einer Entität zusammengefasst werden oder sollten sie Teil eines Subsystems sein und nur durch eine Entitäts-ID verknüpft werden?
Statische vs. dynamische Komposition - sollten Entitäten aus einer bekannten Menge von Komponenten bestehen (z. B. 1 Physik, 1 Animation, 1 KI usw.), die im Code über bekannte Schnittstellen kommunizieren können, oder können Entitäten beliebige Mengen von Komponenten hinzugefügt werden sie (mit zugehörigen Strategien zur Lokalisierung anderer interessierender Komponenten)
Daten zu einer Komponente im Vergleich zu Daten zu einer Entität - Sollen Daten von der Komponente gespeichert werden, die in erster Linie damit arbeitet? Oder sollten Daten auf der Entität in einem gemeinsam genutzten Bereich gespeichert werden, auf den alle Komponenten zugreifen können?
Darüber hinaus gibt es weitere Fragen, wie die Komponenten kommunizieren sollen (über die gemeinsam genutzten Daten? Über Funktionszeiger? Über Signale / Slots? Oder überhaupt nicht?), Wie sie aktualisiert werden sollen (in einer festen Reihenfolge basierend auf dem Komponententyp? A per -entity-Reihenfolge zum Zeitpunkt der Erstellung definiert (basierend auf einer topologischen Art von Komponenten-Abhängigkeiten?) usw.
Jede dieser Optionen ist völlig willkürlich und alles, was Sie mit einem System tun können, kann mit dem anderen System durchgeführt werden. Aber die Art und Weise, wie Sie es codieren müssen, ist in jedem Fall ganz anders. Und die Leute scheinen eine starke Meinung darüber zu haben, welcher Weg für sie am besten funktioniert.
Im Moment sind die Leute immer noch zu sehr von der Idee gefangen, dass Komponenten ein Ersatz für die Objektorientierung sind (was sie nicht sind) und sie stellen sich auch vor, dass sie eine massive Veränderung gegenüber der traditionellen Herstellung von Spielen darstellen (was sie auch nicht waren) - Die Menschen haben die verschiedenen Subsysteme in ihren Entitäten seit Ewigkeiten ausgeklammert. Vielleicht haben sich die Dinge in ein paar Jahren beruhigt und die Leute entscheiden sich für einen oder zwei ziemlich standardmäßige Ansätze.