I'm not familiar with _this_ exact ECS library, but another header-only ECS library with comparable functionality is flecs [1] and it compiles so fast I thought I misconfigured it. Literally could not even measure the compile time increase.
Unpopular opinion, but I personally think ECS has no place in C/C++ game dev. Every supposed advantage is either curbed by limitations of the language (e.g. serialization) or can be implemented more logically in a stateless manner.
In some ways ECS could be considered stateless, as the entity holds the game state as raw data, while the system operates on that data without holding a state of its own.
How would you implement ECS, a system for tracking the state of game entities, in a stateless manner? Can you expand on that?
I can't even imagine game dev without ECS. There's more performant architectures but it's such a useful mental model for the type of rapid iteration games need that so many people are willing to put up with the drawbacks
devortel|4 years ago
https://www.minecraft.net/en-us/attribution
tridentboy|4 years ago
https://github.com/SanderMertens/ecs-faq#what-is-ecs
chrsig|4 years ago
They describe a "sparse set" designed for sequential identifiers -- how does that compare to something like an in memory b+ tree?
umvi|4 years ago
dymk|4 years ago
[1] - https://flecs.docsforge.com/
ncake|4 years ago
jayd16|4 years ago
How would you implement ECS, a system for tracking the state of game entities, in a stateless manner? Can you expand on that?
BoorishBears|4 years ago