This is the start of a series of articles on Entity Component System (ECS) architecture. The posts will be a mix of theory and practical. The goal is to build a functional and efficient library by the end.
What is an ECS An ECS or Entity Component System is programming pattern that separates code, data, and relationships. The three pillars of an ECS are unsurprisingly:
Entity Component System Entity provides for an identity and the relationship between Components. Read More...
Can you have 1 million entities and let them all think with stackful coroutines and achieve acceptable frame rates?
An unreasonable question, but is it possible?
Obviously not and it’s easy to see why with a back-of-the-envelope calculation:
1 million entities * 1 MiB stack per coroutine = 1 TiB of memory
My machine has 64 GiB of RAM, a respectable amount, but only 6.4% of the memory requirements just for these coroutine stacks. Read More...