|
|
|
|
|
by TeMPOraL
921 days ago
|
|
You seem to be coming from somewhere closer to "like SQL" than the data-oriented end of the spectrum. On either end of the spectrum, there's much less flexibility. The "SQL side" is optimizing things for bulk operations[0] and flexibility coming from composition[1]. The "data-oriented side" is optimizing for performance, and it so happens that stuffing data that's processed together into arrays you can just scan in a cache-friendly way, also yields a component-like division of data. Both those approaches are quite inflexible. They do kind of meet in the middle, as they yield similar data organization, but I'm increasingly convinced this is a surface-level, entirely incidental similarity. Philosophically, the two extremes of "ECS" are entirely unlike. -- [0] - Again, AFAIR, ECS originally came from MMO world, where they do use relational databases for storing game state. [1] - Also reason to use databases if you're making an MMO, as relational tables are known quantity, while serializing polymorphic object graphs is plain annoying. |
|